SpaceVim 是一个社区驱动的 Vim/Neovim 配置集合,支持多种语言开发,以模块的形式组织各种功能,包括常用的开发模块以及一些工具模块。

3c9b5f1a3ac3?utm_campaign=maleskine...&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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),状态栏,标签栏

3c9b5f1a3ac3?utm_campaign=maleskine...&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

源文件 和 对应 test 文件相互跳转: 快捷键 SPC l j a

3c9b5f1a3ac3?utm_campaign=maleskine...&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

自动补全、导包

3c9b5f1a3ac3?utm_campaign=maleskine...&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

代码自动生成 - 比如新建 class,自动生成一些方法等,这里演示一下 getter setter 以及 tostring 等方法的生成:

3c9b5f1a3ac3?utm_campaign=maleskine...&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

执行代码,测试等:

执行 main 方法:

3c9b5f1a3ac3?utm_campaign=maleskine...&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

执行当前方法:

3c9b5f1a3ac3?utm_campaign=maleskine...&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

执行所有测试方法:

3c9b5f1a3ac3?utm_campaign=maleskine...&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

以上的所有演示相关快捷键

包导入相关快捷键:

快捷键

描述

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

想要了解更多关于 SpaceVim 的相关信息,欢迎访问:

Logo

一站式 AI 云服务平台

更多推荐