博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

vim 插件详解

Posted on 2012-08-26 23:50  bug yang  阅读(1412)  评论(0编辑  收藏  举报

1、vimrc配置文件

http://vdisk.weibo.com/lc/CK5trJrWVo6xUH12

密码:R387

map <C-T> :tabnew<CR> 
map <C-W> :confirm bdelete<CR>
map <C-\> :tab split<CR>:exec("tag ".expand("<cword>"))<CR>   ctags新标签打开

 

     NERD_tree : 一个文件管理插件,一些常用命令: 打开一个目录树( :NERDTree <启动目录> | <bookmark>  )  关闭目录树栏(:NERDTreeClose);切换目录树栏(:NERDTreeToggle);  定义标签(:Bookmark <name>);定义Root标签(:BookmarkToRoot <bookmark>)。。。。。。更多命令和用法见 :help NERD_tree。

  word_complete  :代码自动补全

  SuperTab :省去Ctrl-n或Ctrl-p快捷键,通过按tab键快速显示补全代码.

  xptemplate : 快速自动完成一些if、switch、for、while结构模板代码,支持c、c++、Lua、Ruby、Php、html、css、javascript等多种语言。一般是输入结构体的关键字后,再按Ctrl-\组合键即可完成代码补全,然后按Tab键跳转到不同的位置替换模板内容。比如:输入for后按Ctrl-\组合键即可快速完成for结构的模板代码。

  ctags : 一个扫描记录代码的语法元素,并记录为tag,方便代码定位跳转等操作,MacVim自带,但是据说有点问题,笔者用Vundle安装的貌似也有问题,推荐用MacPorts安装,然后在~/.gvimrc配置中加入:  let Tlist_Ctags_Cmd="/opt/local/bin/ctags"。用法:在终端 cd 进入到你的项目根目录,输入语句即可将项目所有代码文件打上tag: 

 ctags -R --c++-kinds=+px --fields=+iaS --extra=+q .

   taglist : 可以用Vundle安装,在编辑代码文件时,输入命令":TlistToggle"在右边就会出现当前类的函数或变量列表。输入命令“:tag <函数名或变量、类>”,如果只有一个文件定义了该函数或变量、类,vim打开该文件并将光标定位到对应的位置;如果多个文件有这个函数名或变量、类的tag,将给提示,并可输入“:tselect” ,显示可选的文件。快捷键跳转Ctrl+],Ctrl-o。

   Cscope :功能跟ctags差不多,不过更加强大,MacVim默认已经支持,输入“:version”命令查看.

   OmniCppComplete : 功能跟taglist差不多。 

   a.vim :在.cpp文件和.h头文件间快速切换的插件。

   grep.vim : 在工程中查找词汇的插件。

   minibufexplorerpp : 操作缓存buffer窗口。

   quickfix :MacVim内置安装好了,不需要重新安装。显示一些命令查询结果以及编译错误等信息。

   Command-t :用Commad-t命令快速查找切换文件。如果是用Vundle安装的话,还不能使用,在MacVim中输入“:CommandT”命令会报错。用Vundle安装好打开终端,输入如下命令,等待编译完毕后就可以使用了:

 

mac vim 路径:/usr/share/vim/vim73

2、NERDTree   

作用:生成项目树,在vim编辑器下输入:NERDTree或者:NERDTreeToggle

下载地址:http://vim.wikia.com/wiki/Use_Vim_like_an_IDE

安装步骤:

解压zip包,然后将plugin下面的文件复制到/var/share/vim/vim72/plugin下

将doc下的文件复制到/var/share/vim/vim72/doc下面

3、cscope使用

    :cs add cscope.out

    加载库文件,为后面利用cscope来查找做准备

    :cs help

   查看cscope命令的用法,输入后,显示如下

   add  :添加一个新的数据库             (用法: add file|dir [pre-path] [flags])
   find :查询一个模式                        (用法: find c|d|e|f|g|i|s|t name)
       c:找到调用这个函数的函数
       d:找到被这个函数调用的函数
       e:找到这个 egrep 模式
       f:找到此文件夹
       g:找到这个定义
       i:找文件 #包括这个文件
       s:找到这个 C 符号
       t:找到对其的赋值
    help :显示此信息                       (用法: help)
    kill :结束一个连接                      (用法: kill #)
    reset:重置所有连接                   (用法: reset)
    show :显示连接                         (用法: show)

  

     比如说要找调用test函数的函数,则输入:

    :cs find c test

4. catgs使用

     在命令模式下:

     ctrl + ] :找到光标所在位置的标签的定义

     ctrl + t :回到跳转之前的标签处

     “找到tag:1/3或更多”其他定义的查看方法:

     :tselect 显示列表

      然后输入相应的数字后回车再查找

     : tag definition

      跳转到definition定义处(可以是函数名,变量),即使它在另一个文件中

5、如何安装neocomplcache代码自动补全函数提示(支持C/C++,java,python,PHP,javascrip众多语言 )

http://www.vim.org/scripts/script.php?script_id=2620
然后解压,解压缩后把autoload,plugin,doc三个目录复制到/usr/share/vim/vim73/

添加一下内容到~/.vimrc文件中
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