vim 插件安装

来源:互联网 发布:java中编写菱形原理 编辑:程序博客网 时间:2024/06/06 04:59

第一:安装 vim

sudo apt-get install vim

sudo    apt-get install ctags (关键字搜索等)


第二

在我的资源中有个: vim-plugin.tar.gz, 解压后如下:

cscope  ctags  HOWTO.txt  vimfiles  vimrc


第三

把这些copy到: /etc/vim: sudo cp -rf ./vimfiles/* /etc/vim

cd /etc/vim 添加执行权限: sudo chmod  +rx ./* -R


第四:

sudo cp /etc/vim/vimrc  ~/.vimrc


第五

使用列如: vim file

然后按:F5

然后:ctrl+j i k l 切换光标

.......

使用一:

在使用的目录下执行:ctags -R

就可以使用ctags的功能,标志关键字等。


在~/.bashrc 中去掉 force_color_prompt=yes 前面的#。就可以是不同类型的文件以不同颜色高亮显示。



############################################################################################


以下是安装vim插件的更好的方式,大致方法如下:

通过在github上下载pathogen来管理所有的vim插件。步×如下:


来源:http://www.cnblogs.com/taskiller/archive/2012/08/14/2637689.html

一、pathogen简介

通常情况下安装vim插件,通常是将所有的插件和相关的doc文件都安装在中一文件夹中,如将插件全部安装在/usr/share/vim/vim73/plugin/目录下,将帮助文档全部安装在/usr/share/vim/vim73/doc/目录下。这样做带来的后果是修改和卸载插件很麻烦,很难弄清楚哪个文件属于哪个插件。


如果用pathogen来管理插件的话,就会变得方便很多了。pathogen让每个插件占有一个单独的目录,解决了文件分散的问题。安装完pathogen之后,只需要在~/.vim/目录下新建一个目录~/.vim/bundle/,并将要安装的所有插件放在~/.vim/bundle/目录下即可以使用。如果要删除某个插件,只需要将~/.vim/bundle/目录下对应的插件目录删除即可。如果想保持某个插件为最新版本,直接从插件的仓库checkout一份代码到bundle目录即可。


二、安装pathogen

pathogen的下载地址为:https://github.com/tpope/vim-pathogen

下载后可以直接解压。pathogen插件只有一个单独的脚本,所谓安装就是把它放在当前用户的 ~/.vim/autoload 目录下即可。

即,将解压后的autoload目录连同里面的pathogen.vim插件拷贝到~/.vim/目录下。

三、启用pathogen

要启用pathogen,还需要在~/.vimrc 文件里, filetype plugin indent on 之前的任何地方,加入下面这句:

[html] view plain copy
  1. call pathogen#infect()  

注:这里需要说明一下,该插件不能放到/usr/share/vim/vim73/目录下,而只能放到~/.vim/目录下。要启用pathogen也只能修改~/.vimrc,而不能修改/etc/vimrc (Ubuntu下一般只需要修改~/.vimrc即可。如果使用Fedora,当以root用户打开vim时,如果要使插件或对VIM的配置生效,则需要修改/etc/vimrc文件)。

如果没有~/.vimrc文件,创建该文件并将以下内容拷贝到该文件中:

[html] view plain copy
  1. call pathogen#infect()  
  2. syntax on  
  3. filetype plugin indent on  


要生成帮助文档的话,就在vim下输入:call pathogen#helptags()即可。

四、安装新插件

到目前为止,pathogen已经启用,要安装新插件,只需要下载该插件,并将其放到~/.vim/bundle/目录下即可。

1、安装NERDTree

例如,要下载安装NERDTree插件,只需要进入到~/.vim/bundle/目录,然后执行以下命令:

[html] view plain copy
  1. git clone http://github.com/scrooloose/nerdtree.git  

 

下载完成后,会看到~/.vim/bundle/目录下会多出一个新的目录:nerdtree

OK!NERDTree插件已经安装完成了!可以看到这种方式比传统的vim插件安装方式简单多了!

而要卸载该插件也非常简单,只需要在~/.vim/bundle/目录下删除nerdtree目录即可,干净利落!

要更新该插件到最新版本,只需要进入到该目录~/.vim/bundle/nerdtree/,并执行以下命令:

[html] view plain copy
  1. git pull origin  

 

当然这种安装和更新插件的方法只适用于代码仓库支持git的方法。

对于无法用git下载的插件,就更新bundle里的那个以插件名为名的目录就好。

2、安装tagbar

tagbar可以做为taglist的替代者,在~/.vim/bundle/目录执行安装命令如下:

[html] view plain copy
  1. git clone https://github.com/majutsushi/tagbar.git  


之后同样可以在vimrc文件中设置快捷键:

[html] view plain copy
  1. nmap <F4> :TagbarToggle<CR>   "设置快捷键  
  2. let g:tagbar_width = 40       "设置宽度,默认为40  
  3. autocmd VimEnter * nested :call tagbar#autoopen(1)    "打开vim时自动打开  
  4. tagbarlet g:tagbar_left = 1         "在左侧"  
  5. let g:tagbar_right = 1        "在右侧  

 

列举几点比taglist优化了的地方:

(1)支持头文件的函数列表显示

tagbar对函数的可见级别也是做了区分的,分别用+ - # 并配合着色来做了区分。

(2)对面向对象的支持更好

taglist虽然也会列出类列表,但是整体还是很不直观。

(3)自动根据文件修改时间来重建

taglist在这一点上体验就很不好,其实明明可以通过这种时间戳的方式来实现。

(据说tagbar最好配置ctags使用,效果会更好)

3、安装supertab插件

SuperTab插件的作用是使键盘上的Tab键具有更快捷的自动补齐和上下文提示功能。在~/.vim/bundle/目录下下载并安装该插件:

[html] view plain copy
  1. git clone https://github.com/ervandew/supertab.git  

 

安装好之后,就可以在vim中直接使用自动补齐功能了。比如,用vim打开一个.c文件,要声明一个unsigned int 类型的变量,只需要输入unsi,之后按Tab键,就会将该关键字自动补齐了,非常好用。

五、利用pathogen,配置vim语法高亮

vim自身可以设置关键字高亮,却无法设置函数名和自定义的数据结构高亮,可以通过taghighlight插件解决这一问题。

首先安装taghighlight插件,在~/.vim/bundle/目录运行以下命令:

[html] view plain copy
  1. hg clone https://bitbucket.org/abudden/taghighlight  


等一小段时间,等待taghighlight下载完毕后,就可以使用了。

还可以通过类似的方法安装其他插件。


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

以下是操作实际(建议安装cscope, ctags, nerdtree, taglist)


第一步:新建目录

mkdir ~/.vim

mkdir -p ~/.vim/aoutload (用于放pathogen)

mkdir -p ~/.vim/bundle

(用于放所有vim插件配置,添加时把插件的配置目录放在bundle下即可,删除时也只要删除即可。

                                     我们主要需要下载四个插件配置:autoload_cscope , ctags, nerdtree, taglist)


neo@work:~/.vim$
neo@work:~/.vim$ ls
autoload  bundle
neo@work:~/.vim$
neo@work:~/.vim$


第二步:下载 pathogen

在github网站上搜索 并下载pathogen如下:

tpope/vim-pathogen

pathogen.vim: manage your runtimepath

Updated 5 days ago

通过git clone URL 它。

neo@work:~/.vim$
neo@work:~/.vim$ git clone https://github.com/tpope/vim-pathogen.git
Cloning into 'vim-pathogen'...
remote: Counting objects: 563, done.
remote: Total 563 (delta 0), reused 0 (delta 0), pack-reused 563
Receiving objects: 100% (563/563), 102.55 KiB | 94.00 KiB/s, done.
Resolving deltas: 100% (172/172), done.
Checking connectivity... done.
neo@work:~/.vim$ ls
 vim-pathogen
neo@work:~/.vim$ 
neo@work:~/.vim$ mkdir autoload    
neo@work:~/.vim$ cp vim-pathogen/autoload/pathogen.vim  ./autoload/
neo@work:~/.vim$
neo@work:~/.vim$ rm -rf vim-pathogen/

neo@work:~/.vim$
neo@work:~/.vim$ ls ./autoload/
pathogen.vim
neo@work:~/.vim$ ls
autoload

neo@work:~/.vim$


第三步:配置pathogen

vi  ~/.vimrc

把下面三行写入 .vimrc

execute pathogen#infect()syntax onfiletype plugin indent on


第四步:下载其他vim插件配置

在github上下载,ctags,nerdtree,taglist, autoload_cscope(最好是autoloag_cscope)

neo@work:~/.vim$ mkdir  bundle

neo@work:~/.vim$  git clone  ****ctags.gt  .......

neo@work:~/.vim$  ls ./bundle

autoload_cscope.vim  CTags  nerdtree  taglist.vim
neo@work:~/.vim$
neo@work:~/.vim$ 


第五步:安装插件

sudo apt-get install vim  ctags nerdtree cscope taglist


第六步:使用前,以下是生成工程代码的数据。

neo@work:~/ttt$ ls
kernel_test
neo@work:~/ttt$
neo@work:~/ttt$
neo@work:~/ttt$ ctags -R
neo@work:~/ttt$ ls
kernel_test  tags
neo@work:~/ttt$
neo@work:~/ttt$ find ./ -name "*.[ch]" -o -name "*.cpp" -o -name "*.S" -o -name "*.cc" > cscope.files
neo@work:~/ttt$
neo@work:~/ttt$
neo@work:~/ttt$ cscope -bkq -i cscope.files
cscope: cannot find file kernel_test/tools/testing/selftests/powerpc/copyloops/memcpy_64.S
........
neo@work:~/ttt$ ls
cscope.files  cscope.in.out  cscope.out  cscope.po.out  kernel_test  tags
neo@work:~/ttt$


使用: vim

:NERDTree 显示目录

:Tlist  显示当前打开文件的函数等


第七步: 使用,参看如何使用ctag cscope的快捷命令

cs find g s ....



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

从其他文档截取部分




cscope---------------------------------------

附常用的命令:
      :cs find s ---- 查找C语言符号,即查找函数名、宏、枚举值等出现的地方
  :cs find g ---- 查找函数、宏、枚举等定义的位置,类似ctags所提供的功能
  :cs find d ---- 查找本函数调用的函数:cs find c ---- 查找调用本函数的函数
  :cs find t: ---- 查找指定的字符串
  :cs find e ---- 查找egrep模式,相当于egrep功能,但查找速度快多了
  :cs find f ---- 查找并打开文件,类似vim的find功能
  :cs find i ---- 查找包含本文件的文
Ctrl+]将跳到光标所在变量或函数的定义处 Ctrl+T返回
更多帮助在vim末行命令模式下输入cs 或 cscope获得帮助信息。

===
add :增加一个新的cscope数据库/链接库

              使用方法:

                     :cs add {file|dir} [pre-path] [flags]
===
目前很多Linux发行版的vim都提供了cscope的支持。我们可以使用如下方式查看自己的vim是否支持cscope:

    $vim –version | grep cscope

    +cryptv +cscope +cursorshape +dialog_con +diff +digraphs -dnd -ebcdi

如果有+cscope,说明你的vim已经支持cscope,否则你可能需要打开cscope支持,重新编译安装vim了。

生成索引文件

使用cscope,我们首先要生成索引文件:

    $cscope -Rbkq

    -R 递归搜索当前目录

    -b 只生成索引文件,不进入cscope界面

    -k 在生成索引文件时,不搜索/usr/include目录

    -q 生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度

你也可以不用-b选项,这样cscope会打开一个界面显示索引状态,索引完成后可以用Ctrl-D退出cscope界面。

cscope生成索引文件时默认只会搜索有限类型的文件(.c, .h, .l, .y),如果要搜索其他类型的源文件如c++,就要先产生一个搜索文件列表,然后再对列表里的文件生成索引:

    $find ~/project/ -name “*.c” -o -name “*.h” -o -name “*.cpp” > cscope.files

    $cscope -bkq -f ~/project/cscope.out -i cscope.files

-f选项告诉cscope要生成的指定的索引文件,而不是默认的cscope.out,-i选项是让cscope从文件中读入要生成索引文件的列表。

如上面介绍ctags时所说,如果要对一个项目使用cscope,就需要使用绝对路径建立索引,否则将无法根据索引正常跳转。

链接索引文件

要把cscope生成的索引文件链接进vim之后,才能正常使用cscope的功能:

    :cs[cope] a[dd] cscope.out

可以分多次add单个索引文件,也可以一次add多个索引文件:

    :cs a cscope.out ./others/othercscope.out

注意,这里使用空格区分不同的索引文件,不像vim中的:set那样使用逗号区分。

查看已链接的索引文件:

    :cs[cope] s[how]

删除链接的索引文件:

    :cs[cope] k[ill]

是命令:cs s显示在第一列的连接号。

重新初始化所有的链接:

    :cs[cope] r[eset]

vim会重新搜索并链接索引文件。

开始使用cscope搜索

下面我们看看怎样用cscope进行搜索:

    :cs[cope] f[ind]  



Taglist----------------------------------------------
lingd@ubuntu:~$ vim-addons install taglist
配置Taglist
在vim配置文件/home/user/.vimrc中加入如下的配置:

"-- Taglist setting --
let Tlist_Ctags_Cmd='ctags' "因为我们放在环境变量里,所以可以直接执行
let Tlist_Use_Right_Window=1 "让窗口显示在右边,0的话就是显示在左边
let Tlist_Show_One_File=0 "让taglist可以同时展示多个文件的函数列表
let Tlist_File_Fold_Auto_Close=1 "非当前文件,函数列表折叠隐藏
let Tlist_Exit_OnlyWindow=1 "当taglist是最后一个分割窗口时,自动推出vim
"是否一直处理tags.1:处理;0:不处理
let Tlist_Process_File_Always=1 "实时更新tags
let Tlist_Inc_Winwidth=0




ctags--------------------------------------------------------
使用ctags,首先要生成标签文件:

    $ctags -R

使用-R选项递归的为当前目录生成标签文件,ctags生成的标签文件默认为tags,这也是vim启动时会默认搜索并加载的标签文件。当然,我们也可以使用-f选项指定自己的标签文件:

    $ctags -f ~/myproject/mytags -L myctags.files

这时我们可以使用如下方式来加载标签文件:

    :set tags=~/myproject/mytags

或者在~/.vimrc中添加一行:

    set tags=~/myproject/mytags

如果有多个标签文件,我们也可以一次加载多个,标签文件之间用逗号隔开:

    :set tags=~/myproject/mytags, ./mylocaltags

或者追加加载标签文件:

    :set tags+=./mylocaltags

还可以让vim去自动搜索并加载标签文件:

    :set tags=./tags, ./../tags, ./*/tags

====
3)指定tags文件位置

可以手动指定tags文件

a)在vim命令行中输入或者修改.vimrc文件 set tags=./tags(当前路径下的tags文件)

如果要引用多个不同目录的tags文件,可以用逗号隔开,set tags=path1, path2...,或者

set tags+=path

set tags+=path

===
或者使用命令:tag func_nameshi 来跳转到变量或者函数定义的地方。

NERDTree--------------------------
noremap <F9> :NERDTreeToggle<CR>



---------------------------------------------------------------------------
推荐一个,terminal分屏插件

sudo apt-get install terminator






























0 0
原创粉丝点击