ctags -R dirName,vim -t標記非常強大,因爲在這兩個命令之後,您現在可以在該項目的代碼之間導航,例如,您可以跳轉到某些函數的代碼使用:tag functionName,但該操作仍然存在一些缺陷,如通常情況下一個源代碼可能包含某些函數調用(如va_start()),而此代碼未包含在dirName目錄中,因此索引沒有爲這個函數生成,並且你不能導航到va_start()的定義,但是需要導航到這個函數?如何找到該代碼?我甚至不知道va_start()的確切位置。如何爲系統功能或第三方功能生成ctags索引?爲什麼vim -t ctags不夠?我不能跳轉到我想要的功能
-1
A
回答
4
當您使用「ctags -R dirName」時,您只是索引目錄dirName的內容的符號。
發生了什麼「va_args」在stdarg.h中定義,它是C標準庫的標頭。
每當您使用外部庫中的符號時,都會遇到同樣的問題。
所以,如果你想讓所有的符號都可用,除了你的程序之外,你還可以索引外部庫的代碼。
這意味着:
的源代碼應該可以(這是情況並非總是如此)
一旦你有你的系統文件所在,它應該被解析到上找到被包含在你的「標籤」文件中。
因此當你執行ctags -R projectPath
可以執行ctags -Ra /usr/include
追加的/ usr/include目錄到您的標記文件中的所有內容。
更一般地,你想要做一些像ctags -Ra librarySourcePath
這樣的操作來獲得程序中使用的所有符號。
編輯: 但要小心:/ usr/include可能包含大量文件,因此您的文件大小可能會大大增加,因此,每次搜索符號時都會跳轉到該文件,它可能會慢很多!
相關問題
- 1. 功能不能返回我想要的
- 2. 我想知道爲什麼我不能使用這個功能?
- 3. 爲什麼JavaScript跳過我的功能?
- 4. 爲什麼我不能跳轉到UIPageView中的特定頁面?
- 5. 爲什麼awk代碼不能完成我想要的操作?
- 6. 不知道爲什麼我的功能不是一個功能?
- 7. 爲什麼我的功能不工作
- 8. 爲什麼我的功能不正確?
- 9. 爲什麼我的功能不工作?
- 10. 爲什麼我的功能不工作?
- 11. 爲什麼我的功能不算?
- 12. 我想不通爲什麼頁面跳轉到頂部
- 13. 我的功能鏈不想工作,爲什麼?
- 14. 是否PHP能夠做我想要的?
- 15. 功能跳過一個條目,我不知道爲什麼
- 16. 爲什麼我的功能不能保存我的任務?
- 17. 爲什麼我的輸入不能觸發我的功能
- 18. 的Python:我的功能是我想要做什麼它
- 19. 我想不通爲什麼我不能在jQuery的
- 20. 爲什麼Matlab不能看到我的功能?
- 21. 爲什麼我不能獲得我的$文檔就緒功能
- 22. NavigationController,爲什麼它不能按我想要的方式工作
- 23. 爲什麼ctags不適合我?
- 24. 爲什麼我看不到我的打印功能盧阿內
- 25. 爲什麼Vim能夠打敗我的文件權限? OS X
- 26. 爲什麼我需要推送功能?
- 27. 爲什麼我們需要crossCheckMatching功能?
- 28. 爲什麼我不能「要求」react-dom.js?
- 29. 爲什麼我的代碼不能按我想要的那樣工作?
- 30. 爲什麼我不能阻止vim包裝我的代碼?
你不能只使用簡單的搜索va_start()? – hovanessyan 2012-02-17 09:20:32
是的,我可以搜索谷歌和其他搜索引擎,但我想要做的就是跳到va_start()的定義並讀取va_start()的代碼 – thinke365 2012-02-17 09:22:34