日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vim cscope taglist 使用

發布時間:2023/12/9 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vim cscope taglist 使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

From: http://blog.csdn.net/skywalkzf/article/details/5009329

一 . 安裝
apt-get install? exuberant-ctags? cscope global
cppcomplete 和 taglist 要到www.vim.org的擴展列表中下載

taglist 的下載地址:
http://www.vim.org/scripts/script.php?script_id=273
cppcomplete 的下載地址:
http://www.vim.org/scripts/script.php?script_id=527

然后在 建立目錄

代碼:
$HOME/.vim/plugin

將下載的cppcomplete.vim 和 taglist.vim拷貝到$HOME/.vim/plugin中。
安裝了global后,最新4.8.6 以上版本有帶vim的擴展,將它也拷貝到 $HOME/.vim/plugin

debian sid 版本global安裝后擴展文件在

代碼:
/usr/share/doc/global/examples/gtags.vim.gz
需要拷貝到$HOME/.vim/plugin后解壓,解壓方法:

代碼:
gzip -d? gtags.vim.gz


二 . 配置~/.vimrc

if has("cscope")
set csprg=/usr/bin/cscope
set csto=0
set cst
set nocsverb
" add any database in current directory
if filereadable("cscope.out")
? ?? ?? cs add cscope.out
elseif $CSCOPE_DB != ""
? ?? ?? cs add $CSCOPE_DB
endif
set csverb
set cscopetag
"set cscopequickfix=s-,g-,d-,t-,e-,f-,i-
endif

三 .
載入與使用

cscope -R //載入數據庫
Ctl+D? ? //退出
Ctl+T? ? //文件中退出

find 選項 字符串
0 或 s: 查找 C 符號
1 或 g: 查找定義
2 或 d: 查找本函數調用的函數
3 或 c: 查找調用指定函數的函數
4 或 t: 查找字符串
6 或 e: 查找 egrep 模式
7 或 f: 查找文件
8 或 i: 查找包含指定文件的文件

四 . 和ctags配合使用:

載入ctags:? ? ctags -R *
4.將光標移到kmalloc 單詞上,
4.1 按"CTRL-/ s",將你帶入所有引用函數kmalloc的菜單,在當前窗口打開文件

4.2 按“CTRL-]”,將你帶入所有實現函數kmalloc的菜單,在當前窗口打開文件

4.3 按“CTRL-Space s”,將你帶入所有引用kmalloc的菜單,水平打開新窗口

4.4 按“CTRL-Space CTRL-Space s”,將你帶入所有引用kmalloc的菜單,垂直打開新窗口

4.5 下列是各鍵的含義
s --- symbol? ? 符號
g --- globals? ? 全局變量
c --- calls? ?? ???調用自己的
t --- text? ?? ?? ?文本引用
e --- egrep? ???做egrep 搜索
f --- file? ?? ?? ???打開在光標處的文件
i --- includes? ?查找include所在光標處文件名的文件
d --- called? ???查找本函數調用的所有函數實現

4.6 按“CTRL-T”返回上一級窗口

5. 除了使用熱鍵以外,也可以使用命令模式來查找
5.1 cs f s kmalloc
等價于CTRL-/ s

5.2 scs f s kmalloc
等價于CTRL-Space s

5.3 vert scs f s kmalloc
等價于CTRL-Space CTRL Space s

6. export CSCOPE_DB=~/cscope/cscope.out
這樣就可以在任意目錄下run “vi -t kmalloc”,而不會出現找不著DB的情況。


五 . vim的taglist插件使用方法

函數和變量的定義的即時瀏覽。這個是非常有用的功能。成千的變量,對于C/C++來說,一個類型錯誤都可能導致極難發現的問題,運行時出現無法預料的結果。vim里面使用taglist實現的。并且多個文件的列表都在一起,還可以按照類型折疊,以便于瀏覽。
taglist依賴于ctags,所以要先裝ctags,否則taglist裝了也沒法用!

#unzip taglist.zip -d ~/.vim
#cp doc/taglist.txt /usr/share/vim/vim70/doc/
#cp plugin/taglist.vim /usr/share/vim/vim70/plugin/

#cd /usr/share/vim/vim70/doc/
(注:vim70是我自己的vim版本號,每個人可能不同,自己更改一下)
然后打開sudo vim,shift+: ,進入vim的命令行,使用

: helptags??.
來配置幫助文檔
重啟vim,用“:TlistToggle”來打開和關閉taglist窗口。
可以用“:help taglist”來獲得更多幫助信息

下面講一下~/.vimrc配置文件的設置,下面是我自己的文件的設置

" 開啟語法高亮
syntax on
" 設置文字編碼自動識別
set fencs=utf-8,cp936
" 使用鼠標
set mouse=a
" 設置高亮搜索
set hlsearch
" 輸入字符串就顯示匹配點
set incsearch
" 輸入的命令顯示出來,看的清楚些。
set showcmd
" Tlist的內部變量。函數列表。
let Tlist_Use_Right_Window=1
let Tlist_File_Fold_Auto_Close=1
"函數和變量列表
map <F4> :TlistToggle<CR>
"全能補全
inoremap <F8> <C-x><C-o>
" 沒事,鼠標畫線玩的。
" noremap <F9> :call ToggleSketch()<CR>
set wildmenu
" 啟動函數變量快速瀏覽的時間設置
set updatetime=100

然后你就可以在你vim中使用taglist,此時只需要點擊F4來打開或者關閉!


經過充實我的~/.vimrc內容如下:

set hlsearch
set ai
syntax on
set number
set nocompatible
set columns=80
filetype on
set history=1000
set autoindent
set smartindent
set tabstop=4
set shiftwidth=4
set showmatch
set guioptions-=T
set vb t_vb=
set ruler
set nohls
set noexpandtab
set ignorecase
set mouse=a
set cindent
set incsearch
set fencs=utf-8,cp936

set showcmd
"Tlist的內部變量。函數列表。
let Tlist_Use_Right_Window=1
let Tlist_File_Fold_Auto_Close=1
" "函數和變量列表
map <F4> :TlistToggle<CR>
" "全能補全
inoremap <F8> <C-x><C-o>
" " 沒事,鼠標畫線玩的。
noremap <F9> :call ToggleSketch()<CR>
set wildmenu
" " 啟動函數變量快速瀏覽的時間設置
set updatetime=100
map <F2> :split<CR>
map <F3> :vsplit<CR>
map <F5> :q!<CR>
map <F6> :w!<CR>
map <F7> :wq!<CR>

autocmd FileType python set omnifunc=pythoncomplete#Complete


if has("cscope")
??????? set csprg=/usr/bin/cscope
??????? set csto=0
??????? set cst
??????? set nocsverb
??????? " add any database in current directory
??????? if filereadable("cscope.out")
??????????????? cs add cscope.out
??? ??? ??? ??? " else add database pointed to by environment
??????? elseif $CSCOPE_DB != ""
??????????????? cs add $CSCOPE_DB
??????? endif
??????? set csverb
??????? set cscopetag
??????? "set cscopequickfix=s-,g-,d-,t-,e-,f-,i-
endif


總結

以上是生活随笔為你收集整理的vim cscope taglist 使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。