打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
vim插件使用简介

详细出处参考:http://www.itqun.net/content-detail/233757.html


1.tags

1)安装ctags

2)进入源码根目录,输入命令"ctags-R",会在当前目录下生成tags文件

3)vim打开文件后,先输入命令"settags=tags文件的路径",最好写在.vimrc

4)vimtag命令的使用

ctrl + ] 跳转函数、宏

ctrl + o 回到跳转前的地方

ctrl + T 跳到标签栈中较早的标签


在命令行中输入"vim-t 函数名" 直接打开文件并跳转函数

:tag 函数名(不分大小写)跳转函数

:tags 显示跳转标签栈

5)vimrc设置

if has("ctags")

if filereadable("tags")

set tags=tags

endif

endif


2.cscope (创建一个数据库索引,用于查找)

1)安装cscope

2)进入源码根目录,输入命令"cscope-Rbq",会在当前目录下生成cscope.out,cscope.in.out, cscope.po.out三个文件

3)cscope默认情况下不解析c++JAVA文件,可以把把这些文件的名字和路径保存在cscope.files文件中,cscope发现在当前目录中存在cscope.files时,就会为cscope.files中列出的所有文件生成索引数据库

cd src

find . -type f > cscope.files

cscope -bq -i cscope.files

4)cscope命令行选项参数

-R: 在生成索引文件时,搜索子目录树中的代码

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

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

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

-i:如果保存文件列表的文件名不是cscope.files时,需要加此选项告诉cscope到哪儿去找源文件列表。可以使用"-",表示由标准输入获得文件列表。

-I dir: -I选项指出的目录中查找头文件

-u: 扫描所有文件,重新生成交叉索引文件

-C: 在搜索时忽略大小写

-P path:在以相对路径表示的文件前加上的path,这样,你不用切换到你数据库文件所在的目录也可以使用它了。

5)输入":cscopeadd 路径/cscope.out",添加cscope数据库

6)vim":cscopefind"命令的选项参数

s: 查找c语言符号,即查找函数名、宏、枚举值等出现的地方

g: 查找函数、宏、枚举等定义的位置,类似ctags所提供的功能

d: 查找本函数调用的函数

c: 查找调用本函数的函数

t: 查找指定的字符串

e: 查找egrep模式,相当于egrep功能,但查找速度快多了

f: 查找并打开文件,类似vimfind功能

i: 查找包含本文件的文件

7)vimrc设置

if has("cscope")

set csprg=/usr/bin/cscope

set csto=1

set cst

set nocsverb

if filereadable("cscope.out")

cs add cscope.out

endif

set csverb

endif


3.taglist

1)http://www.vim.org/scripts/script.php?script_id=273处下载taglist

2)在根目录下创建.vim目录,把taglist.zip解压到此目录下

plugin/taglist.vim taglist插件

doc/taglist.txt taglist帮助文件

3)vim操作taglsit命令

:Tlist 打开taglsit

:TlistClose 关闭taglist

:TlistToggle 在打开和关闭间切换

(可以在.vimrc中定义一个映射,使用快捷键",tl"来打开或关闭taglist:

let mapleader = ","

map <silent> <leader>tl:TlistToogle<cr>

)

4).vimrc设置

let Tlist_Ctags_Cmd = '/usr/bin/ctags'设定LINUX系统中ctags程序的位置

let Tlist_Show_One_File = 1不同时显示多个文件的tag,只显示当前文件的

let Tlist_Exit_OnlyWindow = 1如果taglist窗口是最后一个窗口,则退出vim

let Tlist_Use_Right_Window = 1在右侧窗口中显示taglist窗口

let Tlist_Sort_Type = "name"使taglisttag名字进行排序

let Tlist_Use_SingleClick = 1单击tag就跳转

let Tlist_Auto_Open = 1启动vim后自动打开taglist窗口

let Tlist_Close_On_Select = 1选择了tag后自动关闭taglist窗口

let Tlist_WinHeight = ""taglist窗口的高度

let Tlist_WinWidth = ""taglist窗口的宽度

let Tlist_Use_Horiz_Window = 1taglist窗口横向显示

let Tlist_File_Fold_Auto_Close =1同时显示多个文件中的tag时使taglist只显示当前文件tag,其它文件的tag都被折叠起来

let Tlist_GainFocus_On_ToggleOpen = 1TlistToggle打开taglist窗口时,输入焦点在taglist窗口中

let Tlist_Process_File_Always = 1taglist始终解析文件中的tag,不管taglist窗口有没有打开

5)taglist命令

<CR>跳到光标下tag所定义的位置,用鼠标双击此tag功能也一样

o 在一个新打开的窗口中显示光标下tag

<Space> 显示光标下tag的原型定义

u 更新taglist窗口中的tag

s 更改排序方式,在按名字排序和按出现顺序排序间切换

x taglist窗口放大和缩小,方便查看较长的tag

+ 打开一个折叠,同zo

- tag折叠起来,同zc

* 打开所有的折叠,同zR

= 将所有tag折叠起来,同zM

[[ 跳到前一个文件

]] 跳到后一个文件

q 关闭taglist窗口

<F1> 显示帮助


4.lookupFile (默认使用tags文件查找文件、缓冲区、目录下文件)

1)http://www.vim.org/scripts/script.php?script_id=1581处下载

2)解压到.vim目录下

3)lookupFile需要genutils的支持,到http://www.vim.org/scripts/script.php?script_id=197处下载,然后也解压在.vim目录下

4)F5键或输入":LookupFile"打开查找窗口,然后用"ctrl+n""ctrl+p"键在列表中选择

5)输入":LUBufs"命令可以在缓冲区中查找

6)输入":LUWalk"命令输入目录名后会在下拉列表中列出这个目录中的所有子目录及文件供选择

7).vimrc设置

let g:LookupFile_MinPatLength = 2最少输入2个字符才开始查找

let g:LookupFile_PreserveLastPattern =0 不保存上次查找的字符串

let g:LookupFile_PreservePatternHistory= 1 保存查找历史

let g:LookupFile_AlwaysAcceptFirst = 1回车打开第一个匹配项目

let g:LookupFile_AllowNewFiles = 0不允许创建不存在的文件


5.colorscheme (vim顔色)

1)http://www.vim.org/scripts/script.php?script_id=625处下载

2)解压到.vim目录下

3)使用命令"colorscheme.vim/colors/文件名"可以修改vimrc的顔色

4)vimrc设置

colorscheme darkblue



以下是我的vimrc配置文件,仅供参考:


set nu "显示行号

set background=light"设定字体顔色模式,light使字体以较暗的顔色显示出来,适用于亮色系的背景;dark使字体以较亮的顔色显示出来,适用于暗色系的背景

set cindent "编程时c语言自动缩进

set cino=j1 "设定c/c++自动缩进的风格

setfileencodings=utf8,gb18030,big5,gb2312 "支持的字符编码

set formatoptions=rotcql"设置Vim中文本和注释的换行方式

set incsearch"输入查找内容的同时,vim就开始对输入的内容进行匹配,并显示匹配的位置

set hlsearch "对匹配的所有项目进行高亮显示

set ignorecase "在查找时忽略大小写

set nocompatible"去掉有关vi一致性模式,避免以前版本的一些bug和局限

set shiftwidth=4 "反向制表符中的空格数目

set tabstop=4 "指定tab缩进的字符数目

set smarttab"解决shiftwidthtabstop不等时的麻烦

set w

ildmenu "自动补全命令时候使用菜单式匹配列表

set mouse=a "使用鼠标


syntax on "开启语法高亮

filetype plugin indent on "打开文件类型检测功能


let mapleader =","

let g:mapleader =","


"tags setup

if has("ctags")

if filereadable("tags")

set tags=tags

endif

endif


"Tlist setup

let Tlist_Ctags_Cmd='/usr/bin/ctags'"设定linux系统中ctags程序的位置

let Tlist_Sort_Type = "name""使taglisttag名字进行排序

let Tlist_Show_One_File = 1"不同时显示多个文件的tag,只显示当前文件的

let Tlist_Exit_OnlyWindow = 1"如果taglist窗口是最后一个窗口,则退出vim

let Tlist_Use_Right_Window = 1"在右侧窗口中显示taglist窗口

let Tlist_Use_SingleClick = 1 "单击tag就跳转

let Tlist_WinWidth = 15 "taglist窗口的宽度

map <silent> <leader>tl:TlistToogle<cr>


"LookupFile setup

let g:LookupFile_MinPatLength = 2"最少输入2个字符才开始查找

let g:LookupFile_PreserveLastPattern =0 "不保存上次查找的字符串

let g:LookupFile_PreservePatternHistory= 1 "保存查找历史

let g:LookupFile_AlwaysAcceptFirst = 1"回车打开第一个匹配项目

let g:LookupFile_AllowNewFiles = 0"不允许创建不存在的文件


"cscope setup

if has("cscope")

set csprg=/usr/bin/cscope

set csto=1

set cst

set nocsverb

if filereadable("cscope.out")

cs add cscope.out

endif

set csverb

endif


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VIM编辑器支持Python开发环境(Vim+Ctags+Taglist)
打造适合自己的VIM设置
在window7下使用vi + ctags + cscope + taglist
【Vim】使用Vundle管理配置Vim基本插件
gvim+ctags+taglist
vim的插件taglist的安装
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服