參考在使用 c/c++ 庫的時候,為了最小限度的包含標頭檔案,想知道指定的 tag (類名/函式名)在那個標頭檔案裡。以前我的做法是使用 grep 搜尋所有標頭檔案find . -type f \( -name '*.h' -o -name '*.hpp' \) | xargs grep -nh tag
。這樣做一方面效率低下,一方面匹配的結果很多,不準確。
想到了 vim 結合 ctags 可以進行**跳轉,於是可以使用下面的方法來查詢
vim temp.c
:set ctags=./tags # tags 是預先通過 ctags 生成的
itag
>
為了定位,一頓操作,久了很煩。
依然是利用 vim 和 ctags,但是簡化了步驟。
在原始碼目錄下建立 tags 檔案:ctags -r inc/
在 ~/.bashrc 中新增alias lookup_tag='vim -c "set tags=./tags" -t "$@"'
進入原始碼 tags 所在的目錄鍵入lookup_tag tag
,如果存在這個 tag 就會開啟這個檔案。親測 boost 生成的 800m+ 的 tags,秒開,感受不到延遲,舒服~。
在 vim 的普通模式下輸入:f
可以顯示檔名。
setting a vim option from the command line? 在OpenFOAM的原始碼中查詢資訊
openfoam的原始碼包含海量的檔案,如果通過滑鼠乙個檔案乙個檔案的查詢資訊,不僅效率低,而且很有可能找不到自己想要尋找的內容。因此,下面介紹通過linux命令列來進行查詢資訊的方法,不僅適用於openfoam,同樣適用於其它在linux下的資訊查詢。定位src中檔名包含fvpatch的檔案 fi...
定時任務 一種在xml配置,另一種在類加入註解
第一種 public class tsets extends quartzjobbean else catch exception e 下面是xml配置 id class com.test.tsets bean id testjobbean class org.springframework.sch...
C C 中switch用法的一種替換方式
在c c 中,switch語句是經常被用到的,當switch內的case語句較多時程式有時顯得比較繁亂,此種情況下可以用另外一種實現方式替代switch。詳細用法見例子 include stdafx.h float addfunc float a,float b float subfunc floa...