VIM代码补全提示功能

转载 2015年07月07日 20:41:05

转自:http://www.libaqiang.com/?p=78163


vim是一款支持插件、功能无比强大的编辑器,无论你的系统是linux、unix、mac还是windows,都能够选择他来编辑文件或是进行工程级别 的coding。如果能把vim用好了,不仅编程效率能得到大幅度提高,周围人也会因此而看得头晕眼花佩服不已,自己心里当然也会心花怒放啦。下面就让我 来介绍一下如何来进行配置。这些配置所涉及到的内容有:autocomplpop, ctags, TagList,omnicppcomplete

首 先Vim是内建代码补全功能的,在不需要通过任何设置的情况下就能使用。在您编辑代码的时候,键入 ctrl+x, ctrl+o, ctrl+n, ctrl+p 等快捷键,就会弹出智能提示的菜单。但是这仍然不满足大家的要求。大多数IDE中,只要代码输入到相应的位置,补全提示就会自动的弹出来,而vim的这种 补全还需要自己手动的来触发。那么下面就介绍一种可以自动弹出补全提示的插件 — autocomplpop

== Autocomplpop ==

首先,从http://www.vim.org/scripts/script.php?script_id=1879处 下载autocomplpop文件。下载的是一个zip文件,解压后会有三个文件夹,分别是autoload,doc,plugin。到Vim的根目录下,找到名字和这三个一样的文件夹。不同系统目录位置不同。(unix/linux平台在/usr/share/vim/vim71中, windows平台在安装目录的vim71目录中,fedora是/usr/share/vim/vimfiles中)。

按照文件夹对应的把里面的acp.vim和其他的什么文件都copy过去。然后重启Vim。这时候应该会有错误提示,
Error detected while processing /home/carlos/.vim/plugin/acp.vim:
line 13:
***** L9 library must be installed! *****
这是插件放出的一个错误提示,查看plugin里的acp.vim可以看到。是缺少L9 library库。这个也是需要下载的。地址在下面

http://www.vim.org/scripts/script.php?script_id=3252

下载下来,它也是一个插件形式,以同样的方式copy到Vim目录下。
安装完后就可以了。

再就是这个插件默认是没有设置php自动补全的,可以设置一个PHP函数字典,让其根据字典的内容进行自动补全。
这个是一个PHP字典,php_funclist.
编辑配置文件.vimrc,在文件后面加上下面的代码
au FileType php setlocal dict+=~/.vim/php_funclist.txt

还有每次补全都要按键很费事,所以我们加入PHP的全能提示触发命令。
php 中 一般是会在 “$”, “->”, “::” 后需要出现自动补全,在 .vimrc 中加入以下代码:
if !exists(‘g:AutoComplPop_Behavior’)
let g:AutoComplPop_Behavior = {}
let g:AutoComplPop_Behavior['php'] = []
call add(g:AutoComplPop_Behavior['php'], {
\ ‘command’ : “\\“,
\ ‘pattern’ : printf(‘>::$\k\{%d,}$’, 0),
\ ‘repeat’ : 0,
\})
endif
这样就可以了。
注意,某些时候,可能会在第一次按下触发补全的操作符时停顿一会,这可能是因为可匹配的项目过多,Vim正在索引,过后就会快了。

—————————————————————–

细心的朋友会发现,光是利用 autocomplpop这个插件还远远达不到要求。比如说:在c++中使用.或是->访问对象或指针中的成员和函数时还无法自动弹出提示,另外, 即便是自动提示也只能提示我们在当前文档中已输入的字符串。针对这种情况,我们就需要安装ctags工具和OmniCppComplete插件。 ctags是用来对文件做标记的工具,OmniCppComplete是在c和c++语言范畴内,对上述智能补全的增强版。

== ctags ==

ctags在http://ctags.sourceforge.net/下载源码,编译后安装。常规的标记命令为 ctags -R 。”-R”表示递归创建,也就包括源代码根目录下的所有子目录下的源程序。

== CppCompleete ==

OmniCppComplete在http://www.vim.org/scripts/script.php?script_id=1520下载。下载 好之后根据里面的doc文档进行安装和使用。

这样一来,代码补全就比较完善了。但是根据以往的经验,IDE中还有一个功能,那就是函数和变量的跳转查看。比如代码中出现
代码:
if(true){
doThis();
}

我们想知道doThis()函数是如何定义和实现的,那么如何快速的来查看呢?我们就需要安装Taglist插件

== Taglist ==

安装taglist
先下载,地址是:http://www.vim.org/scripts/script.php?script_id=273,解压出来,根据其中的doc文档进行安装和配置,我是复制到.vim目录下
cp -r Downloads/taglist/* .vim
注意:前面的目录根据自己的情况而定
这就算插件安装完了,接着修改配置文件.vimrc
[#]sudo vi .vimrc
//在文件中加入下面两句
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1

现在就可以使用了,比如一个程序的目录是/var/www/wbtie/
在终端中
cd /var/www/wbtie
ctags -R
这时候在目录下会生成一个tags文件,是这个文件夹内所有东西的索引文件
然后随变vim一个wbtie中的文件,命令输入
set tags=/var/www/wbtie/tags
Tlist
这时候当光标停留在某一个函数或者变量那里的时候左侧也会动态的高亮显示,当你想知道这个变量或者函数是哪里定义的时候,只要敲下Ctrl+]就自动跳到它生命的地方了。 

-----------------------------------------------------------------------------------------------------

ctags安装与使用  :http://blog.csdn.net/duguteng/article/details/7412652

onmicppcompete安装与使用:http://blog.csdn.net/duguteng/article/details/7417181


vim之AutoComplPop和OmniCppComplete的安装和使用
http://blog.csdn.net/g_brightboy/article/details/19498983


vim代码补全终极配置

http://www.cnblogs.com/xuqiang/archive/2011/04/15/2016475.html

相关文章推荐

VIM代码补全提示功能

vim是一款支持插件、功能无比强大的编辑器,无论你的系统是linux、unix、mac还是windows,都能够选择他来编辑文件或是进行工程级别 的coding。如果能把vim用好了,不仅编程效率能得...

设置vim代码补全提示功能

vim是一款支持插件、功能无比强大的编辑器,无论你的系统是linux、unix、mac还是windows,都能够选择他来编辑文件或是进行工程级别 的coding。如果能把vim用好了,不仅编程效率能得...

vim代码自动补全函数提示设置

vim中不能代码补全让人感觉很不爽,以下配置就是进行代码补全的,虽然功能没有windows下IDE功能强大,但是也足够用了。    需要插件为:neocomplcache,OmniCppComp...

windows下用vim实现qt代码的自动补全功能

windows下用vim实现qt代码的自动补全功能  1.安装vim. 2.下载ctags for win32并解压到c:\ctags\目录下; 3.将c:\ctags加入windows的pat...

VIM语法高亮、VIM代码补全、VIM结构化视图功能的配置实现(1)

=========================================== 为了更加方便的学习和研究一个开源c++项目(当然linux环境下),特地花了一两周的时间研究vim及其插件的配置...

VIM语法高亮、VIM代码补全、VIM结构化视图功能的配置实现

VIM语法高亮、VIM代码补全、VIM结构化视图功能的配置实现 =========================================== 【简介】       为了更加方便的学...
  • YHM07
  • YHM07
  • 2014年11月15日 16:38
  • 835

vim-c++代码补全.zip

  • 2014年06月11日 15:46
  • 498KB
  • 下载

Notepad++强大的代码补全和代码提示功能的方法

最近写项目,经常要打开一些文件去修改一些代码段。那么我的项目都是使用ied大型编辑器去写的,每次修改文件,哪怕是一个标点都要用一分钟时间去打开软件。当然,后来我也考虑到使用记事本,但总感觉不是很爽。于...

SourceInsight与vim代码补全配置

  • 2015年01月04日 15:49
  • 771KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VIM代码补全提示功能
举报原因:
原因补充:

(最多只允许输入30个字)