SpaceVim 是一个社区驱动的 Vim/Neovim 配置集合,支持多种语言开发,以模块的形式组织各种功能,包括常用的开发模块以及一些工具模块。
项 目 主 页: https://spacevim.org
Github 地址 : https://github.com/SpaceVim/SpaceVim
下面以 Java 为例,介绍下如何利用 SpaceVim 打造一个完整的终端开发环境。首先需要明确一点的是 SpaceVim 是一个配置集合,依赖 vim 或 neovim 才能运行,vim 安装相对简单,各大 linux 发行版都集成 Gvim。关于 neovim 的安装,个人建议手动编译,neovim 的编译安装非常简单:
git clone https://github.com/neovim/neovim.gitmake CMAKE_BUILD_TYPE=RelWithDebInfosudo 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 |
我用过,挺好用的。
挺好的