工欲善其事必先利其器,在我早年工作中,第一次接触VIM,就被这种敏捷的操作吸引,在查看,梳理代码,定位问题的过程中,Vim的高效让我叹为观止。当然如果你是为了炫技,Vim Ide也是妥妥的满足你。
vim配置成ide网络上的教程很多,但是很多配置了半天,还是不得其所,很多快捷键也不知道怎么用。现在按照这个教程,快速教大家如何配置一个强大的VIM IDE环境。希望大家在配置好VIM环境后,也能体会到高效的工具使用,给自己的工作效率带来巨大的提升。
1.安装ctag + cscope
sudo apt-get install cscope exuberant-ctags
2. Vim配置
首先介绍一个非常好用的vim插件网站vimawesome,你能想到的,需要的vim插件,都可以在这里找到。下面安装的插件也全部来源于此。
1)安装vundle
使用Vundle安装以及管理插件。
cd ~/.vim
mkdir bundle
cd bundle
git clone https://github.com/VundleVim/Vundle.vim.git
2)安装vim 插件
罗列我自己常用的几个插件。
1. lookupfile 补全
2. taglist 查看函数列表
3. suptab tab栏,多开文件
4. mru 历史列表
5. nerdtree 文件夹管理器
6. colorscheme vim配色
。。。。。后续大家可以在vimawesome上找更多强大的插件,以上插件配置好后,足够平常使用。
开始安装插件,将如下内容粘贴到vimrc中,参考我的vimrc配置。打开vim,输入:PluginInstall,开始依次安装。
call vundle#begin()
Plugin 'lookupfile'
Plugin 'taglist.vim'
Plugin 'ervandew/supertab'
Plugin 'mru.vim'
Plugin 'scrooloose/nerdtree'
Plugin 'flazz/vim-colorschemes'
call vundle#end()
3)vimrc配置
vimrc需要配置各个插件的使用配置和快捷键配置,可以直接将我的vimrc配置,拷贝到~/.vimrc路径,
快捷键的配置经常用到的两个comman,nmap和map
举个例子:快捷键打开树形文件管理器“,n”(逗号,n)的配置方式:
nmap<silent><leader>n:NERDTreeToggle<cr>
以此类推,大家可以将快捷键配置成自己习惯的方式。
4)sync工程
sync工程代码过程类似sourceinsight的sync project,需要对自己的工程代码建立索引tags,方便快速的查看文件以及函数见快速的跳转。
新建一个文件retag,将如下类容粘贴到retag文件中,在自己的工程下执行retag命令后,会生成一些tags和cscope开头的文件,即对当前目录进行索引的建立。
rm cscope.*
rm filenametags
rm tags
echo -e "!_TAG_FILE_SORTED\t2\t/2=foldcase/" > filenametags
find . -not -regex '.*\.\(png\|gif\|a\|o\|la\|so\|class\|jar\|apt\|patch\|elf\|jpg\|ko\|cmd\|mid\|mp3\|lo\|pcm\|lai\|svn-base\|keep\|contrib\)' -type f -printf "%f\t%p\t1\n" | sort -f >> filenametags
find . -regex '.*\.\(c\|h\|cpp\|java\|xml\|inl\|py\)' -type f | sort -f >> cscope.files
cscope -bq
ctags -L cscope.files
5)在当前目录下打开文件,这时候,输入各种快捷按键,就可以体验VIM IDE的强大和高效了。
3. 介绍一下常用的操作
1. 搜索文件
输入vim或者vim打开任意一个文件,按F5,输入文件名Ap,即可进行模块查询,匹配所有的文件,快速查找文件。
2.函数跳转
光标落到函数名上,按enter键,跳入函数实现。
3.函数调用:
光标落到函数名,键盘输入",cs"(命令可配置,可以参考我的vimrc配置),即可调出所有的引用处。
4.补全代码:
输入函数,变量等前缀,按tab键,即可跳出补全列表,再按tab键可以选择,无需要按enter键 (这个方式很多人会有点不习惯,但是少按enter的确是更高效了)。
5.新建tab页签:
连击输入",ts"(逗号,t,s),可以打开一个新的tab页签。
",tc" 关闭当前tab页签。
tab键,落焦点到下一个tab页签。
6.查看历史列表:
",mr":打开历史列表