1. 程式人生 > >利用vim+cscope+ctags檢視程式碼

利用vim+cscope+ctags檢視程式碼

在linux下面總不能得心應手地檢視程式碼,知識好多工具我們不知道怎麼去用而已。下面總結一下本人的vim+cscope+ctags環境搭建:

1.vim

(1) 檢視vim是否支援cscope

#vim --version |grep cscope

+cryptv +cscope +cursorshape +dialog_con_gui +diff +digraphs +dnd -ebcdic

如果沒有  +cscope ,那麼請重新編譯vim;否則跳到(3)

(2)編譯vim,我用的原始碼是vim72

#vim vim72/src/Makefile  把

#CONF_OPT_CSCOPE = --enable-cscope 

 改成

CONF_OPT_CSCOPE = --enable-cscope

編譯安裝的時候用linux的三部曲:

#./configure

#make

#make install

#vim --version |grep cscope

+cryptv +cscope +cursorshape +dialog_con_gui +diff +digraphs +dnd -ebcdic

(3)安裝cscope和ctags

利用linux的安裝三部曲安裝

(4)對.vimrc檔案的修改

a.http://cscope.sourceforge.net/   這裡有個cscope_map.vim檔案,把裡面的if has("cscope")  到 endif
複製到.vimrc裡面來。 這樣做主要是利用快捷鍵來代替 “cscope find c ***”等命令,很好用的。

b.在.vimrc中新增 set tags=./tags, tags, /usr/include/tags

(5)應用,理論不多說,僅僅舉個例子:

在你原始碼的目錄下面

#find . -name "*.h" -o -name "*.c" -o -name "*.cc" > cscope.files (新增本目錄和子目錄的原始檔)

#find ../common "*.h" -o -name "*.c" -o -name "*.cc" >> cscope.files (新增其他目錄的檔案)

#cscope -bkq -i cscope.files

#ctags -R

說明一下:

這個命令會生成三個檔案:cscope.out, cscope.in.out, cscope.po.out。

其中cscope.out是基本的符號索引,後兩個檔案是使用"-q"選項生成的,可以加快cscope的索引速度。

這個指令碼,首先使用find命令,查詢當前目錄及子目錄中所有後綴名為".h", ".c"和".c"的檔案,並把查詢結果重定向到檔案cscope.files中。

然後cscope根據cscope.files中的所有檔案,生成符號索引檔案。

最後一條命令使用ctags命令,生成一個tags檔案,在vim中執行":help tags"命令查詢它的用法。它可以和cscope一起使用。

上面所用到的命令引數,含義如下:

-R: 在生成索引檔案時,搜尋子目錄樹中的程式碼

-b: 只生成索引檔案,不進入cscope的介面

-q: 生成cscope.in.out和cscope.po.out檔案,加快cscope的索引速度

-k: 在生成索引檔案時,不搜尋/usr/include目錄

-i: 如果儲存檔案列表的檔名不是cscope.files時,需要加此選項告訴cscope到哪兒去找原始檔列表。可以使用“-”,表示由標準輸入獲得檔案列表。

-I dir: 在-I選項指出的目錄中查詢標頭檔案

-u: 掃描所有檔案,重新生成交叉索引檔案

-C: 在搜尋時忽略大小寫

-P path: 在以相對路徑表示的檔案前加上的path,這樣,你不用切換到你資料庫檔案所在的目錄也可以使用它了。

接著: 

#vim qljt.c  開啟檔案,然後執行vi命令

:cscope add cscope.out

大功告成,測試:

用 “Ctrl+]” 跳到函式的定義地方,用“Ctrl+/ 然後按c”跳到函式被呼叫的地方

相關推薦

利用vim+cscope+ctags檢視程式碼

在linux下面總不能得心應手地檢視程式碼,知識好多工具我們不知道怎麼去用而已。下面總結一下本人的vim+cscope+ctags環境搭建: 1.vim (1) 檢視vim是否支援cscope #vim --version |grep cscope +cryptv +csco

vim+cscope+ctags打造屬於自己的IDE

所謂工欲善其事,必先利其器。作為專業碼農,特別是長期在Unix系統上展開工作(檢視原始碼、coding)的碼農,沒有一個極致的IDE環境,工作效率會很受影響的。當然啥時候Unix系統如果有Visual Studio這樣牛X的IDE,相信很多人會很開心。但生活是殘酷的,我們

VIM Cscope,Ctags相關快捷鍵

自動補全程式碼 輸入前面幾個關鍵字,輸入快捷鍵ctrl+p就能列出關鍵字開頭的key. 查詢程式碼: cs find f filename   查詢檔案 cs find  1.游標定位  $             當前行尾  0          

Linux下用Vim+cscope+ctags打造具有Source Insight便利性的IDE

Vim簡單介紹:Linux/Unix下的文字編輯軟體。使用Vim coding優勢:1.無需滑鼠,全鍵盤操作。對於coding來說,可以雙手專注盲打coding,無需切換滑鼠導致分散注意力。2.支援外掛,從而可以利用外掛,在Linux下將Vim打造成和SourceInsigh

vim中瀏覽c++程式碼使用ctagscscope進行函式跳轉時vimrc的配置

依賴:ctags、cscope 方法: 在~/.vimrc中新增下面的程式碼。之後執行vimrc(source ~/.vimrc)。  以後瀏覽程式碼的時候按F9就可以在當前目錄生成相應的tags,之後按“ctrl和]” 即可在c++中找到函式的定義或者變數的定義:

如何利用XAMPP在手機上檢視PC端程式碼

這是百度一面的第一個問題,如何用手機檢視PC端網頁效果? 嗯,不會的我只能回家學了一下,下面分享一下我們到底該怎麼去做? 1、首先我們使用的是XAMPP,那麼一定先要下載一下這個東西了,下載連結: 2、安裝--安裝就一路next就ok 3、啟動 ①介面 ②

Vim改造為強大的IDE—Vim整合Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有圖有真相)

    工欲善其事,必先利其器。一個強大的開發環境可以大大提高工作效率。好吧,我知道這是廢話。。。不過,我想一定有很多跟我一樣打算進入Linux平臺開發的新手,一開始都為找不到一個像Windows下的VS那樣可以一鍵安裝並且功能幾乎完美無缺的開發工具而鬱悶不已,甚至打算收回

利用ctag+cscope+taglist+Nerdtree打造功能等價於sourceinsight的核心程式碼閱讀神器

注:網路上關於利用ctag+cscope+taglist+Nerdtree打造功能等價於sourceinsight的博文數不勝數,本人這篇博文談不上錦上添花,更遑論雪中送炭。把這個打造過程記錄下來,僅僅只是希望能夠為他人提供些許幫助,對我個人而言就已經很開心了。1. 環境描述

vim+taglist+ctags+cscope+自動補齊

下載地址: http://download.csdn.net/detail/shichaog/8676365 vim命令錄製於回放 script -t 2>time.log -a  vim-hacking-taglist.txt scriptreplay time.

FC10後vimctags+taglist+cscope的安裝以及常用快捷鍵。

先將ctags更新到最新版本: yum install ctags 在Fedora10和Ubuntu9.10裡沒找到這兩個資料夾,而是在/usr/share/vim/vim72裡: plugin/taglist.vim – taglist外掛 doc/taglist.

vim+cscope簡易教程

符號 skill license .html 同時 程序 bsp 函數調用 沒有 Cscope具有純正的Unix血統,它最早是由貝爾實驗室為PDP-11計算機開發的,後來成為商用的AT&T Unix發行版的組成部分。直到2000年4月,這個工具才由SCO公司以BSD

使用pep8 vim外掛規範Python程式碼

安裝PEP8   1. sudo apt-get install pep8 2. 到http://www.vim.org/scripts/script.php?script_id=2914下載最新版本的外掛,放到~/.vim/ftplugin/python/目

利用mybatis-generator自動生成程式碼-表對應的類和配置檔案

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configu

php 利用debug backtrace方法跟蹤程式碼呼叫

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

使用程式碼生成工具Database2Sharp快速生成工作流模組控制器和檢視程式碼

在前面隨筆《基於Metronic的Bootstrap開發框架--工作流模組功能介紹》和《基於Metronic的Bootstrap開發框架--工作流模組功能介紹(2)》中介紹了Bootstrap開發框架的工作模組功能,前面文章也提及,通過程式碼生成工具直接生成對應的Create、ViewDetail、Index

vim-cscope外掛

在工程根目錄生成cscope.out 索引檔案的指令碼 rm -f cscope* currentPath=$(pwd ) echo $currentPath find $currentPath -name "*.h" -type f -o -name "*.c" -type f -o -name "*.

利用itchat 10行python程式碼實現微信轟炸

''' 轉載:https://github.com/Gin79/WeChat-Bomb/blob/master/README.md ''' 說明 站在巨人的肩膀上 基於python,這個小程式是用python寫的 使用的是python第三方庫itchat,itc

WEB移動端開發中,區域網內手機瀏覽器訪問電腦頁面,實時檢視程式碼除錯結果

痛點:在進行移動端頁面開發時,經常需要用手機檢視開發的頁面效果。雖然瀏覽器自帶模擬器,但是各個手機相容問題除錯以及操作效果除錯還是需要上真機。 解決途徑: 1、將程式碼扔到伺服器,通過連線伺服器訪問頁面除錯 2、採用內網穿透,將自己的電腦當成伺服器主機,手機訪問電腦伺服器。之前我用過NA

golang 檢視程式碼呼叫關係圖

go-callvis 是github上一個開源專案,可以用來檢視golang程式碼呼叫關係。 安裝 安裝graphviz $ brew install graphviz 安裝go-callvis go get -u github.com/TrueFurby/go-c

Vim+Taglist+AutoComplPop之程式碼目錄分欄資訊和自動補全提示(Ubuntu環境)

第一步:       首先在Ubuntu環境中安裝ctags:  sudo apt-get install ctags 第二部:       安裝Taglist-------------Taglist是vim的一個外掛,提供原始碼符號