SpaceVim 是一个社区驱动的 Vim/Neovim 配置集合,支持多种语言开发,以模块的形式组织各种功能,包括常用的开发模块以及一些工具模块。
welcome-page项 目 主 页: 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.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 |
网友评论