前言
SpaceVim 是一個模塊化的 Vim IDE,針對 lua 這一語言的支持主要依靠 lang#lua 模塊以及與之相關(guān)的其它模塊。 的這篇文章主要介紹如何使用 SpaceVim 搭建 lua 的開發(fā)環(huán)境,側(cè)重介紹跟 lua 開發(fā)相關(guān)使用技巧。 在閱讀這篇文章之前,可以先來看看使用 Vim 搭建基礎(chǔ)的開發(fā)環(huán)境,對語言相關(guān)以外的功能有一個大致的了解。
使用 Vim 搭建基本開發(fā)環(huán)境
主要介紹如何使用 SpaceVim 搭建基礎(chǔ)的開發(fā)環(huán)境
安裝
在入門指南里,介紹了不同系統(tǒng)安裝 SpaceVim 的步驟。在安裝過程中還是存在一些問題,比如顏色主題看上去和官網(wǎng)不一致,出現(xiàn)各種字體亂碼。 安裝 SpaceVim 最理想的環(huán)境是 neovim + nerdfont + 一個支持真色的終端模擬器。
- neovim:建議查閱其wiki,獲取安裝步驟
- nerdfont: Linux 或 Mac 下 SpaceVim 安裝腳本會自動下載字體,windows 用戶需要自行下載 nerd 字體并安裝
- 一款支持真色的終端,如果不能啟用真色,可以在配置文件里禁用 SpaceVim 真色:
[options]
enable_guicolors = false
基本配置
SpaceVim 的配置文件有兩種,一種是全局配置文件,另外一種是項目專屬配置文件。我們可以這樣理解,在全局配置文件里,主要設(shè)置一些常規(guī)的選項和模塊, 比如 shell 模塊、tags 模塊。項目專屬配置文件則通常用來配置跟當(dāng)前項目相關(guān)的模塊及選項,比如對于 python 項目,可以在項目專屬配置文件里啟用 lang#python 模塊。
這樣操作的好處在于,當(dāng)處理多個不同語言項目是,不需要頻繁更新配置文件,也不用擔(dān)心載入過多的冗余插件,和無關(guān)的語言模塊。
基本使用
首先,需要了解下 SpaceVim 啟動后幾個界面元素:頂部標(biāo)簽欄、底部狀態(tài)欄??梢钥吹?,標(biāo)簽欄通常只有一個,主要用來列出已經(jīng)打開的文件或者是標(biāo)簽頁。
文件及窗口操作
SpaceVim 會在狀態(tài)欄展示各個窗口的編號,可以使用快捷鍵 SPC + 數(shù)字 快速跳到對應(yīng)的窗口,在頂部標(biāo)簽了,會列出當(dāng)前已經(jīng)打開的文件或者標(biāo)簽裂變, 可以使用快捷鍵 Leader + 數(shù)字 快速跳到對應(yīng)的文件。在這里默認(rèn)的 Leader 是 \ 鍵。
安裝模塊
SpaceVim 初次安裝時默認(rèn)并未啟用相關(guān)語言模塊。首先需要啟用 lang#lua 模塊, 通過快捷鍵 SPC f v d 打開配置文件,添加:
[[layers]]
name = "lang#lua"
啟用 lang#lua 模塊后,在打開 lua 文件時,就可以使用語言專屬快捷鍵,這些快捷鍵都是以 SPC l 為前綴的。
代碼自動補(bǔ)全
autocomplete 模塊為 SpaceVim 提供了自動補(bǔ)全功能, 該模塊會根據(jù)當(dāng)前環(huán)境自動在多種補(bǔ)全引擎之間選擇合適的, 默認(rèn)的補(bǔ)全引擎有:deoplete、neocomplete、ycm、asyncomplete 以及 neocomplcache。 幾種自動補(bǔ)全引擎當(dāng)中,要數(shù) deoplete 的體驗(yàn)效果最好。
語法檢查
checkers 模塊為 SpaceVim 提供了語法檢查的功能,該模塊默認(rèn)已經(jīng)載入。該模塊默認(rèn)使用 neomake 這一異步語法檢查工具。對于 luac 的支持,是通過異步調(diào)用 luac 命令來完成的。
工程文件跳轉(zhuǎn)
SpaceVim 自帶工程管理插件,可以識別項目根目錄,自動跳轉(zhuǎn)alternate文件。
快速運(yùn)行
在編輯 lua 文件時,可以快速運(yùn)行當(dāng)前文件,這個功能有點(diǎn)類似于 vscode 的 code runner 插件,默認(rèn)的快捷鍵是 SPC l r。按下后, 會在屏幕下方打開一個插件窗口,運(yùn)行的結(jié)果會被展示在窗口內(nèi)。于此同時,光標(biāo)并不會跳到該插件窗口,避免影響編輯。在這里需要說明下, 這一功能是根據(jù)當(dāng)前文件的路徑調(diào)用相對應(yīng)的 lua 命令。因此,在執(zhí)行這個快捷鍵之前,應(yīng)當(dāng)先保存一下該文件。
代碼格式化
lua 代碼格式化,主要依賴 format 模塊,同時需要安裝相關(guān)的后臺命令 luaformatter:
[[layers]]
name = "format"
安裝 luaformatter:
luarocks install formatter
交互式編程
在編輯 lua 文件時,可通過快捷鍵 SPC l s i 啟動 lua -i 交互窗口,之后使用快捷鍵將代碼發(fā)送至解釋器。默認(rèn)快捷鍵都以 SPC l s 為前綴。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。
您可能感興趣的文章:- SpringBoot+Redis執(zhí)行l(wèi)ua腳本的方法步驟
- Lua中三種循環(huán)語句的使用講解
- Lua中的變量與賦值方法
- Android事件分發(fā)機(jī)制(上) ViewGroup的事件分發(fā)
- 詳解EventDispatcher事件分發(fā)組件
- Android View 事件分發(fā)機(jī)制詳解
- PHP中常用的三種設(shè)計模式詳解【單例模式、工廠模式、觀察者模式】
- 淺談發(fā)布訂閱模式與觀察者模式
- 分析Lua觀察者模式最佳實(shí)踐之構(gòu)建事件分發(fā)系統(tǒng)