vim自动补全插件-NeoComplCache

来源:互联网 发布:php防sql注入原理 编辑:程序博客网 时间:2024/05/15 23:41
参考文献:htthttp://hi.baidu.com/meakhella/item/73bb37171ae455f7746a842b
          http://nodes.sinaapp.com/archive/41
          http://blog.bugscan.net/category/4
          http://blog.csdn.net/duguteng/article/details/7412652
         
 http://www.cnblogs.com/fjatns/archive/2011/12/13/2286702.html
系统:vmware-ubuntu10.10
1、安装ctags
    ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol),如变量名,函数名等。
    $sudo apt-get install ctags
    也可以网上下载个,然后进入源代码根目录执行./configure,然后执行make,编译成功后执行make install。 
2、安装neocomplcache插件
    下载地址:http://www.vim.org/scripts/script.php?script_id=2620 (在search里输入neocomplcache,找那个最新的版本下载就行)。
    将解压后的文件拷贝到~/.vim/vimfile里对应的文件夹下(注:是解压后文件夹里面的文件,好像是四个,autoload、doc、plugin、README.MD,也可以直接放到.vim里)。
    在~/.vimrc文件里加入自动启动的命令: let g:neocomplcache_enable_at_startup = 1
3、配置.vimrc文件
    在里面加入下面内容(//后是我的注释,不要写进去):
set nu //代码显示行号
syntax on //关键词高亮显示
set cindent //c语法自动缩进
set autoindent //新行自动缩进
set shiftwidth=4 //缩进宽度4
set tabstop=4 //tab键宽度4
set softtabstop=4 //制表符宽度4

let g:neocomplcache_enable_at_startup = 1 //插件自动启动

//括号自动补全
if &term=="xterm"
  set t_Co=8
  set t_Sb=^[[4%dm
  set t_Sf=^[[3%dm
endif

let g:neocomplcache_enable_at_startup = 1

:inoremap ( ()
        :inoremap ) =ClosePair(')')
:inoremap { {}
    :inoremap } =ClosePair('}')
    :inoremap [ []
    :inoremap ] =ClosePair(']')
    :inoremap < <>
    :inoremap > =ClosePair('>')

    function ClosePair(char)
    if getline('.')[col('.') - 1] == a:char
    return ""
    else
    return a:char
    endif
    endf

    说明:vim存在多个配置文件vimrc,比如/etc/vimrc,此文件影响整个系统的Vim。还有~/.vimrc,此文件只影响本用户的Vim。而且~/.vimrc文件中的配置会覆盖/etc/vimrc中的配置。这里只修改~/.vimrc文件。 
    关于插件和.vimrc的设置还有很多文章有介绍,配置复杂,功能也非常强大,这里这样配置我就已经很满足了,不在尝试新的配置。如果有写的不妥或者错误之处,欢迎指正,谢谢。

PS:ctrl+p也可以实现自动补全,只是补全窗口不会自动弹出。
    弹出补全窗口后,ctrl+n和ctrl+p可以实现向下向上选词,向上向下箭头也可以。
0 0