vim
1 | mv ~/.vimrc ~/.vimrcbak |
- 管理插件的插件
- 管理窗口和buffer
- 语法增强
- 代码补全
基本
pathogen
一个管理插件的插件
项目地址
https://github.com/tpope/vim-pathogen
安装
配置
1 | execute pathogen#infect() |
auto-pairs
自动匹配括号、引号等
项目地址
https://github.com/jiangmiao/auto-pairs
NERDTree
显示目录树
项目地址
https://github.com/scrooloose/nerdtree
使用
- 命令行模式下输入:NERDTree
- 为了方便打开NERDTree,我们可以设置快捷键,打开~/.vimrc,插入如下一行
map:NERDTree
这样,当打开vim时,只要输入ctrl+n即可打开NERDTree
1 | 文件相关操作 |
MiniBufExplorer
显示已打开的buffer
项目地址
1 | mkdir -p ~/.vim/bundle/minibufexplorer/plugin && wget "http://www.vim.org/scripts/download_script.php?src_id=3640" -O ~/.vim/bundle/minibufexplorer/plugin/minibufexpl.vim |
使用
命令行模式下通过:vsp filename打开另一个文件
代码
ctags
是用来对代码建索引,方便查找的,有些Linux版本是自带ctags的,如果没有,按如下方式安装
安装
1 | yum install ctags |
taglist
taglist是vim的一个插件,可以将代码内的函数、变量等按规律列出来,方便查找
项目地址
http://www.vim.org/scripts/script.php?script_id=273
目录结构
1 | taglist |
配置
打开~/.vimrc,输入如下内容1
2
3
4let Tlist_Show_One_File=1 " 只展示一个文件的taglist
let Tlist_Exit_OnlyWindow=1 " 当taglist是最后以个窗口时自动退出
let Tlist_Use_Right_Window=1 " 在右边显示taglist窗口
let Tlist_Sort_Type="name" " tag按名字排序
omnicppcomplete
这是一个对C++进行语法补全的插件,可以对函数、命名空间、类成员等进行补全,使用起来和绝大多数IDE差不多,不一样的是IDE为你做了很多你不知道的事情,而omni补全需要依赖tags文件,需要你用ctags命令自己生成
项目地址
1 | cd ~/.vim/bundle && wget "http://www.vim.org/scripts/download_script.php?src_id=7722" -O omnicppcomplete.zip && unzip omnicppcomplete.zip -d omnicppcomplete |
目录结构
1 | ├── after |
配置
打开~/.vimrc,输入如下内容1
2
3
4
5
6filetype plugin indent on
set completeopt=longest,menu
let OmniCpp_NamespaceSearch = 2 " search namespaces in the current buffer and in included files
let OmniCpp_ShowPrototypeInAbbr = 1 " 显示函数参数列表
let OmniCpp_MayCompleteScope = 1 " 输入 :: 后自动补全
let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"]
手动建立tags文件
omni插件的补全是依赖于tags文件的1
ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++
SuperTab
你想要补全变量名或函数名只需按一下TAB键即可,出现候选窗口之后也可以用TAB键进行选择