最近在用Vim写Java程序,发现不配置一下的话不好用。通过一轮搜索,特整理如下。
一、配置括号自动补全
- 打开Vim的配置文件.vimrc(我的系统是CentOS8,默认没有这个文件,需要手动新建:vim ~/.vimrc ,注意一定要新建在 ~ 目录下 ),添加以下内容:
set smartindent
set tabstop=4
set shiftwidth=4
set expandtab
主要用于设置tab键为4个空格等,默认为8个空格,太长了。
然后继续添加:
inoremap ' ''<ESC>i
inoremap " ""<ESC>i
inoremap ( ()<ESC>i
inoremap [ []<ESC>i
inoremap { {}<ESC>i<CR><ESC>V<O
其中花括号 “{”设置为自动补全并换行缩进,主要用于写函数和语句块。
据网上反馈,如果你的系统用 inoremap { {}iV<O 有问题,可以尝试换成:inoremap { {}O 。
二、配置按tab键跳出括号
在idea或者vs code中可以设置按tab键跳出括号,原来在Vim中也是可以的。
继续在.vimrc中添加如下内容:
" 设置跳出自动补全的括号
func SkipPair()
if getline('.')[col('.') - 1] == ')' || getline('.')[col('.') - 1] == ']' || getline('.')[col('.') - 1] == '"' || getline('.')[col('.') - 1] == "'" || getline('.')[col('.') - 1] == '}'
return "\<ESC>la"
else
return "\t"
endif
endfunc
" 将tab键绑定为跳出括号
inoremap <TAB> <c-r>=SkipPair()<CR>
接下来你就会发现,在一般位置按tab键就4个空格,在括号里按tab键就会跳出当前括号,非常方便。
三、配置Java代码自动提示
因为我目前主要写的是Java代码,对这个有需求。请参考我另外整理的一篇文章:
Vim中的Java代码补全插件
https://blog.csdn.net/weixin_39449272/article/details/121243614
参考链接:
https://www.cnblogs.com/songdechiu/p/5844073.html
https://blog.csdn.net/dark_fire/article/details/41970477