刚刚熟悉了vim的使用,新手上路,那一大堆按键命令确实够折腾的。
然后尝试用vim编程,虽说vim是强大的编辑工具,但它原有配置对我们这些用惯了IDE环境来编程的来说确实很不方便。
当然,vim也可以成为一款很好的IDE编程环境,只要你懂的怎么去配置,以及添加各种插件(牛人们开发的vim插件)。
网上搜了一些资料,自己也尝试配置了,在这里整理一下。(以后碰到新问题也在这里更新)
1. 基本配置
编辑~/.vimrc文件,设置vim整体阅读背景:
syntax on 设置语法高亮
set nu 显示行号
set ruler 显示状态栏
set bg=dark 设置背景对比高亮
set tabstop=4
set softtabstop=4
set shifttabstop=4 tab缩进4个字符
set autoindent 设置缩进与上一行相同
set cindent 设置C风格缩进
2. 括号和引号的自动补全
编辑~/.vimrc
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap { {}<ESC>i
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap < <><ESC>i
:inoremap > <c-r>=ClosePair('>')<CR>
:inoremap " ""<ESC>i
:inoremap ' ''<ESC>i
function ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "\<Right>"
else
return a:char
endif
endf
3. 编程常用编辑命令和自动补全
常用编辑命令:
% 跳转到配对的括号去
[[ 跳转到代码块的开头去(但要求代码块中'{'必须单独占一行)
gD 跳转到局部变量的定义处
'' 跳转到光标上次停靠的地方, 是两个', 而不是一个"
mx 设置书签,x只能是a-z的26个字母
`x 跳转到书签处("`"是1左边的键)
> 增加缩进,"x>"表示增加以下x行的缩进
< 减少缩进,"x<"表示减少以下x行的缩进
万能补全:Ctrl+x Ctrl+n
ctags+taglist
先下载安装ctags,装好之后就可以Ctrl+]跳到函数位置,具体操作如下:
1. 建立tags:在源文件目录下ctags Hello.java,或者在其上层目录ctags -R com(com所目录名),运行成功之后将生成一个tags文件
2. 调用tags:用vim打开Hello.java,输入命令:set tags=/home/xxx/com/tags
3. 光标定位到调用函数位置,Ctrl+] 即可跳到函数定义位置。
下载taglist.tar.gz,解压到~/.vim文件夹下,在.vimrc中加入:
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
在vim中输入:Tlist,有IDE代码框架窗口。
当然还有安装各种插件来帮助代码自动补全,这里列举几个:
a. 下载 autocomplpop.vim 后,放到Vim文件目录下的plugin目录中,然后重启一下 vim 就会发现在编码时会自动的弹出提示了。
b. cvim
c. taglist
附:关于编程IDE的设置,这里有个详细的教程,很不错
手把手教你把Vim改装成一个IDE编程环境