SpaceVim 是一個社群驅動的 Vim/Neovim 配置集合,支援多種語言開發,以模組的形式組織各種功能,包括常用的開發模組以及一些工具模組。
項 目 主 頁: spacevim.org
Github 地址 : github.com/SpaceVim/Sp…
下面以 Java 為例,介紹下如何利用 SpaceVim 打造一個完整的終端開發環境。首先需要明確一點的是 SpaceVim 是一個配置集合,依賴 vim 或 neovim 才能執行,vim 安裝相對簡單,各大 linux 發行版都整合 Gvim。關於 neovim 的安裝,個人建議手動編譯,neovim 的編譯安裝非常簡單:
git clone https://github.com/neovim/neovim.git
make CMAKE_BUILD_TYPE=RelWithDebInfo
sudo make install複製程式碼
SpaceVim 安裝
spacevim 也有一鍵安裝指令碼:
curl -sLf https://spacevim.org/install.sh | bash複製程式碼
載入 Java 模組
SpaceVim 的配置檔案預設是 ~/.SpaceVim.d/init.vim
, 可以通過 SPC f v d
快捷鍵開啟, SPC
為空格鍵。
若要載入 Java 模組,只需要加入:
call SpaceVim#layers#load('lang#java')複製程式碼
常用快捷鍵演示
- 常規介面 - 語法樹(F2),檔案樹(F3),狀態列,標籤欄
- 原始檔 和 對應 test 檔案相互跳轉: 快捷鍵
SPC l j a
- 自動補全、導包
- 程式碼自動生成 - 比如新建 class,自動生成一些方法等,這裡演示一下 getter setter 以及 tostring 等方法的生成:
- 執行程式碼,測試等:
執行 main 方法:
執行當前方法:
執行所有測試方法:
以上的所有演示相關快捷鍵
包匯入相關快捷鍵:
快捷鍵 | 描述 |
---|---|
F4 (Insert/Normal) |
Import class under cursor |
SPC l I |
Import missing classes |
SPC l R |
Remove unused classes |
SPC l i |
smart import class under cursor |
<C-j>I (Insert) |
Import missing classes |
<C-j>R (Insert) |
Remove unused classes |
<C-j>i (Insert) |
smart import class under cursor |
程式碼生成相關快捷鍵:
模式 | 快捷鍵 | 描述 |
---|---|---|
normal | SPC l A |
generate accessors |
normal/visual | SPC l s |
generate setter accessor |
normal/visual | SPC l g |
generate getter accessor |
normal/visual | SPC l a |
generate setter and getter accessor |
normal | SPC l M |
generate abstract methods |
insert | <c-j>s |
generate setter accessor |
insert | <c-j>g |
generate getter accessor |
insert | <c-j>a |
generate getter and setter accessor |
normal | SPC l ts |
generate toString function |
normal | SPC l eq |
generate equals and hashcode function |
normal | SPC l c |
generate constructor |
normal | SPC l C |
generate default constructor |
程式碼格式化:
the default key bindings for format current buffer is SPC b f
. and this key bindings is defined in format layer. you can also use g=
to indent current buffer.
To make neoformat support java file, you should install uncrustify. or
download google's formater jar
and add let g:spacevim_layer_lang_java_formatter = 'path/to/google-java-format.jar'
to SpaceVim custom configuration file.
Maven
Key Binding | Description |
---|---|
SPC l m i |
Run maven clean install |
SPC l m I |
Run maven install |
SPC l m p |
Run one already goal from list |
SPC l m r |
Run maven goals |
SPC l m R |
Run one maven goal |
SPC l m t |
Run maven test |
Jump
Key Binding | Description |
---|---|
SPC l j a |
jump to alternate file |