安装ctags
1.安装ctags
yum install ctags
2.建立ctags文件
cd /mysource_file
ctags -R
ctags -R
会递归检查该目录下所有文件,创建一个tags
索引文件,供索引使用
3.在.vimrc中配置自动找寻tags路径
打开.vimrc
添加,下面几行设置打开文件时自动索引tags
文件,不然没有效果
set tags=tags;
set autochdir
4. ctags 常用命令
Ctrl + ] 跳转到指定函数的定义:
Ctrl + t 返回到上一个索引位置:
Ctrl + o 返回到上次光标停留的位置,
安装taglist
1.在taglist官网下载源码包 taglist_46.zip
https://sourceforge.net/projects/vim-taglist/files/
2.解压taglist_46.zip
源码包
unzip taglist_46.zip
3.拷贝文件到plugin
和doc
到~/.vim
会出现两个文件plugin
和doc
,拷贝这两个文件到~/.vim
目录下
cp plugin/ doc/ ~/.vim -r
4. 配置帮助taglist
文档
随便使用vim
打开一个文件,使用命令
:helptags ~/.vim/doc
5.查看帮助信息
:help taglist
6. 配置.vimrc
文件
打开 .vimrc
文件 添加下面几行
let Tlist_Auto_Open = 1 "自动打开taglist
let Tlist_Show_One_File=1 "不同时显示多个文件的tag,只显示当前文件的
let Tlist_Exit_OnlyWindow=1 "如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Ctags_Cmd="/usr/bin/ctags" "将taglist与ctags关联
7. 常用的 taglist
命令
:Tlist 打开Taglist窗口,再次运行":Tlist"则关闭。左右窗口切换Ctrl+ww
<CR> 跳到光标下tag所定义的位置,用鼠标双击此tag功能也一样
o 在一个新打开的窗口中显示光标下tag
<Space> 显示光标下tag的原型定义
u 更新taglist窗口中的tag
s 更改排序方式,在按名字排序和按出现顺序排序间切换
x taglist窗口放大和缩小,方便查看较长的tag
+ 打开一个折叠,同zo
- 将tag折叠起来,同zc
* 打开所有的折叠,同zR
= 将所有tag折叠起来,同zM
[[ 跳到前一个文件
]] 跳到后一个文件
q 关闭taglist窗口
<F1> 显示帮助
我自己的 .vimrc
文件
" 不要使用vi的键盘模式,而是vim自己的
set nocompatible
" 与windows共享剪贴板
set clipboard+=unnamed
" 智能补全
set completeopt=longest,menu
" 侦测文件类型
filetype on
" 为特定文件类型载入相关缩进文件
filetype indent on
" 载入文件类型插件
filetype plugin on
" 语法高亮
syntax enable
syntax on
" 状态行颜色
highlight StatusLine guifg=SlateBlue guibg=Yellow
highlight StatusLineNC guifg=Gray guibg=White
set tags=tags;
set autochdir
" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
" set mouse=a
set selection=exclusive
set selectmode=mouse,key
" 通过使用: commands命令,告诉我们文件的哪一行被改变过
set report=0
" 在被分割的窗口间显示空白,便于阅读
set fillchars=vert:\ ,stl:\ ,stlnc:\
" 高亮显示匹配的括号
set showmatch
" 我的状态行显示的内容(包括文件类型和解码)
set statusline=%F%m%r%h%w\[POS=%l,%v][%p%%]\%{strftime(\"%d/%m/%y\ -\ %H:%M\")}
set laststatus=2
" 自动格式化
set formatoptions=tcrqn
" 为C程序提供自动缩进
set smartindent
" 继承前一行的缩进方式,特别适用于多行注释
set autoindent
" 使用C样式的缩进
set cindent
" 制表符为4
set tabstop=4
" 统一缩进为4
set softtabstop=4
set shiftwidth=4
" 不要用空格代替制表符
set noexpandtab
" 不要换行
set nowrap
" 在行和段开始处使用制表符
set smarttab
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" CTags的设定
" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 按F9等同于在命令行模式输入:TlistToggle
map <silent> <F9> :TlistToggle<cr>
" 按照名称排序
"let Tlist_Sort_Type = "name"
" 在右侧显示窗口
let Tlist_Use_Right_Window = 0
" 压缩方式
let Tlist_Compart_Format = 1
" 如果只有一个buffer,kill窗口也kill掉buffer
let Tlist_Exist_OnlyWindow = 1
" 不要关闭其他文件的tags
let Tlist_File_Fold_Auto_Close = 1
" 如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Exit_OnlyWindow = 1
" 不要显示折叠树
let Tlist_Enable_Fold_Column = 0
let Tlist_Ctags_Cmd="/usr/bin/ctags" "将taglist与ctags关联
let Tlist_Show_One_File=1 "不同时显示多个文件的tag,只显示当前文件的
" 语法高亮
syntax enable
syntax on
" 状态行颜色
highlight StatusLine guifg=SlateBlue guibg=Yellow
highlight StatusLineNC guifg=Gray guibg=White
" 配色方案
" colorscheme desert