几个有用的vim插件
1、自动补全new-omni-completion、OmniCppComplete
new-omni-completion是vim自带的全能补全工具,他要依据ctags生成的tags文件。
按下"Ctrl+X Ctrl+O"会进行自动补全;
默认会有预览窗口,通过在~/.vimrc文件中加入set completeopt=longest,menu
可以关掉智能补全时的预览窗口。
vim自动补全——OmniCppComplete
安装OmniCppComplete
mn@mn-HP:~$ vim-addons install omnicppcomplete
配置OmniCppComplete
在vim配置文件/home/user/.vimrc中加入如下的配置:
View Code
1 "-- omnicppcomplete setting -- 2 " 按下F3自动补全代码,注意该映射语句后不能有其他字符,包括tab;否则按下F3会自动补全一些乱码 3 imap <F3> <C-X><C-O> 4 " 按下F2根据头文件内关键字补全 5 imap <F2> <C-X><C-I> 6 set completeopt=menu,menuone " 关掉智能补全时的预览窗口 7 let OmniCpp_MayCompleteDot = 1 " autocomplete with . 8 let OmniCpp_MayCompleteArrow = 1 " autocomplete with -> 9 let OmniCpp_MayCompleteScope = 1 " autocomplete with :: 10 let OmniCpp_SelectFirstItem = 2 " select first item (but don't insert) 11 let OmniCpp_NamespaceSearch = 2 " search namespaces in this and included files 12 let OmniCpp_ShowPrototypeInAbbr = 1 " show function prototype in popup window 13 let OmniCpp_GlobalScopeSearch=1 " enable the global scope search 14 let OmniCpp_DisplayMode=1 " Class scope completion mode: always show all members 15 "let OmniCpp_DefaultNamespaces=["std"] 16 let OmniCpp_ShowScopeInAbbr=1 " show scope in abbreviation and remove the last column 17 let OmniCpp_ShowAccess=1
(前几行就是提供了C++中的./->/::等操作符的提示和自动完成)。
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .
--c++-kinds=+p : 为C++文件增加函数原型的标签
--fields=+iaS : 在标签文件中加入继承信息(i)、类成员的访问控制信息(a)、以及函数的指纹(S)
--extra=+q : 为标签增加类修饰符。注意,如果没有此选项,将不能对类成员补全
# 为了测试自动补全功能,我们先下载C++一份C++标准库的源代码。
mn@mn-HP:~$ sudo apt-get install build-essential
# 然后在/usr/include/c++下就可以找到标准库的头文件了。
mn@mn-HP:~$ cd /usr/include/c++
mn@mn-HP:/usr/include/c++$ ls
4.6 4.6.3
# 在此文件夹下生成能与OmniCppComplete配合运作的tags文件
mn@mn-HP:/usr/include/c++$ ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .
mn@mn-HP:/usr/include/c++$ ls
4.6 4.6.3 tags
# 在vim的配置文件中如下内容,然后在编程的时候就可以使用自动补全功能了。
mn@mn-HP:/usr/include/c++$ vi ~/.vimrc
- set tags+=/usr/include/c++/tags
mn@mn-HP:~$ cd ~
mn@mn-HP:~$ vim Test.c
Ctrl+P 向前切换成员
Ctrl+N 向后切换成员
Ctrl+E 表示退出下拉窗口, 并退回到原来录入的文字
Ctrl+Y 表示退出下拉窗口, 并接受当前选项
Ctrl+X Ctrl+L 整行补全
Ctrl+X Ctrl+N 根据当前文件里关键字补全
Ctrl+X Ctrl+K 根据字典补全
Ctrl+X Ctrl+T 根据同义词字典补全
Ctrl+X Ctrl+I 根据头文件内关键字补全
Ctrl+X Ctrl+] 根据标签补全
Ctrl+X Ctrl+F 补全文件名
Ctrl+X Ctrl+D 补全宏定义
Ctrl+X Ctrl+V 补全vim命令
Ctrl+X Ctrl+U 用户自定义补全方式
Ctrl+X Ctrl+S 拼写建议
:help omnicppcomplete
| 下载地址 | http://www.vim.org/scripts/script.php?script_id=1643 |
| 版本 | 1.6 |
| 安装 |
下载supertab.vba,用vim打开($ vim supertab.vba),然后Source the file (:so %) 此时,supertab.vim 已放入 ~/.vim/plugin 文件夹、supertab.txt已放入~/.vim/doc中了。 |
| 手册 | supertab.txt |
|
" 0 - 不记录上次的补全方式 let g:SuperTabRetainCompletionType=2
" 设置按下<Tab>后默认的补全方式, 默认是<C-P>, |
echofunc可以在命令行中提示当前输入函数的原型。
echofunc下载地址:http://www.vim.org/scripts/script.php?script_id=1735
下载完成后,把echofunc.vim文件放到 ~/.vim/plugin文件夹中
当 你在vim插入(insert)模式下紧接着函数名后输入一个"("的时候, 这个函数的声明就会自动显示在命令行中。如果这个函数有多个声明, 则可以通过按键"Alt+-"和"Alt+="向前和向后翻页, 这个两个键可以通过设置g:EchoFuncKeyNext和g:EchoFuncKeyPrev参数来修改。这个插件需要tags文件的支持, 并且在创建tags文件的时候要加选项"--fields=+lS"(OmniCppComplete创建的tag文件也能用), 整个创建tags文件的命令如下:
$ ctags -R --fields=+lS
其他插件说明详见echofunc.vim
| 下载地址 | http://www.vim.org/scripts/script.php?script_id=1643 |
| 版本 | 0.43 |
| 安装 | 把supertab.vim 文件丢到 ~/.vim/plugin 文件夹就好了 |
| 手册 | supertab.vim 文件头部, 和命令 ":SuperTabHelp" |
4、markdown语法高亮vim-markdown
下载markdown-1.2.2.vba.gz,用vim打开,运行命令
:source %
此时所有文件将会解压到~/.vim的相应文件,此时安装成功。

浙公网安备 33010602011771号