SpaceVim 是一个社区驱动的 Vim/Neovim 配置集合,支持多种语言开发,以模块的形式组织各种功能,包括常用的开发模块以及一些工具模块。
welcome-page
下面以 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
源文件test跳转
自动补全、导包
自动导包,补全
代码自动生成 - 比如新建 class,自动生成一些方法等,这里演示一下 getter setter 以及 tostring 等方法的生成:
代码生成
执行代码,测试等:
执行 main 方法:
执行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
I (Insert)
Import missing classes
R (Insert)
Remove unused classes
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
s
generate setter accessor
insert
g
generate getter accessor
insert
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