VIM快捷更新cscope和ctags

2021-06-25 18:09:34 字數 1371 閱讀 4851

主要就是記錄一下linux下vim關於cscope更新資料庫的配置。

平時使用cscope/ctags的時候檢視**還是比較方便的,但是編輯檔案的時候就比較雞肋了,原因在於cscope和ctags沒有整合自動更新,其實這些在配置檔案中新增簡單的幾句話就能實現了,筆者經過測試,認為在大專案中cscope增量更新的方式速度還是可以接受的(原理是不是搜尋目錄下檔案的時間戳?沒研究過)。

整個過程其實就是用了幾條簡單的shell命令,下面看看我的vim跟cscope相關的配置

if has("cscope") && filereadable("/usr/bin/cscope")

set csprg=/usr/bin/cscope

set csto=0

set cst

set nocsverb

" 新增cscope資料庫

if filereadable("cscope.out")

cs add cscope.out

" 新增環境變數中的cscope資料庫

elseif $cscope_db != ""

cs add $cscope_db

endif

set csverb

endif

" 適用於cscope的常規鍵位對映

nmap s :cs find s =expand("")

nmap g :cs find g =expand("")

nmap c :cs find c =expand("")

nmap t :cs find t =expand("")

nmap e :cs find e =expand("")

nmap f :cs find f =expand("")

nmap i :cs find i =expand("")

nmap d :cs find d =expand("")

" 筆者自己新增的鍵位對映

" 關閉資料庫連線

nmap k :cs kill cscope.out

" 開啟資料庫連線

nmap o :cs add cscope.out

" 儲存檔案並且更新資料庫

nmap w :w:!cscope -bqr

" 儲存檔案並且更新ctags

nmap u :w:!ctags -r

" 儲存檔案更新全部

nmap a w u

最後提一下,cscope和ctags的侷限性也比較明顯,但是配置起來是非常方便的,所以筆者的各個工作機上都使用了這些設定。

如果是長期使用的工作環境,建議配置一下clang編譯器,該編譯器的詞法分析功能開放得比較好,可以到網上搜尋一些相應的vimscript,也許對你有用。只是clang安裝起來比較麻煩而且依賴項比較多。

常用快捷鍵IDEA和VIM

idea ctrl shift backspace 退回到上次修改的地方 必備 ctrl shift f12 編輯器最大化 必備 ctrl alt f11 切換全屏模式 ctrl shift 塊注釋 必備 ctrl shift f 根據輸入內容查詢整個專案 或 指定目錄內檔案 必備 ctrl shi...

VIM編寫 C檔案和VIM設定

一 vi以及vim編輯器 首先ubuntu中自帶vi文字編輯器,但用過的人都知道,用它編寫一段程式手續特別繁瑣,寫錯了或者需要刪除的時候需要在各種模式下切換進行修改。vim可以看做是vi的高階版,在vim中編寫程式效率高而且實現了語法高亮。二 ubuntu中vim的安裝 1.ctrl alt t開啟...

linux命令列和vim快捷鍵

目的 快捷鍵可以大大的節省時間,提高效率,是每個學linux必備的一篇,當然有些是支撐我們其他學習必不可少的,所有花時間和精力整理一下是值得的。用的時候查詢一下,用的多了,自然就記住了。1 游標移動 ctrl a 游標回到命令列首。a ahead ctrl e 游標回到命令行尾。e end ctrl...