看板 Editor 關於我們 聯絡資訊
可以請問是怎麼設定 Gtags + Vim 的嗎? 例如用了什麼設定檔或是 plugin 之類的? 另外 cscope 我記得好像只使用 C family?那 Gtags-cscope 有支援其他語言嗎? 順便借標題問一下,大家一般用 vim 搭配 tags 時都用什麼 plugin 呢? 像我就找到幾套: tagbar, vim-tags, vim-easytags 其實不太清楚各自是不是有重疊的部分,或是該怎麼搭配比較好 例如 tagbar 似乎會 on-the-fly 生成 tags file,但是 <C-]> 就不會 work 而 vim-tags 則可以在 vim 裏面輕鬆生出 tags file,也支援解析 Gemfile (ruby) vim-easytags 就有點 overhead 的感覺... 最近開始處理一些比較大型的程式,所以對於 tags 的需求慢慢出現了 希望有高手可以指點一下或分享一下 謝謝! ※ 引述《leveler ()》之銘言: : 小弟使用Vim也算有很長一段時間了 : 之前都是一直使用Vim + ctags + cscope : 但現在開始有一部分時間需要接觸C++就發現cscope在這方面的判斷不甚理想 : 直到最近發現了一個好物叫做Global或稱為Gtags : http://www.gnu.org/software/global/ : 不僅在function caller/callee上的判斷極為正確 : 而且可以incrementally更新tag : 光這一點就樂勝了 : 以前每次檔案有更改過就必須要將整個tag database重建 : 但Gtags只要在command line上輕輕的 : $ global -u : 帥呀!老皮 : 就完全更新完畢 : 但似乎討論和使用的人數不多 : Debian上的package整個就舊到不行 暈 : 所以需要自己下載源始碼來編譯 : 更帥的是 : Gtags裡有一個tool叫做gtags-cscope : 讓gtags以cscope的界面執行 : 於是Vim就可以透過cscope的界面去呼叫gtags的database : 所以在使用上完全不須要從新學習 : 以上野人獻曝推薦給大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.248.24 ※ 文章網址: http://www.ptt.cc/bbs/Editor/M.1407979817.A.C39.html ※ 編輯: kusoayan (140.112.248.24), 08/14/2014 09:32:07
carylorrk: cscope 和 gtags 都可以支援 c++, 但是支援度不佳 08/14 18:31
carylorrk: gtags 支援的語言看 gnu global 官網 有 java, php 08/14 18:34
carylorrk: 如果有 semantic 的支援會比 tagfile 類的好,像是 08/14 18:35
carylorrk: youcompleteme 或是 pymode 這類的 08/14 18:37
carylorrk: 用過一些管理 tags 的,原本改 autotags 來用,現在都 08/14 18:38
carylorrk: 直接用 makefile 來管理...畢竟每個專案都會有差 08/14 18:39
carylorrk: 相依其他專案就用 lvimrc 來 add XD 08/14 18:42
感謝分享! 工作上比較不會接觸到 C/C++/Java,主要都是 python / ruby / javascript 我看了一下似乎 gtags 並不支援 javascript 並不是很瞭解什麼是 semantic 的支援,能不能請你稍微解釋一下? 因爲我的確是想搭配 YouCompleteMe 來使用 謝謝! ※ 編輯: kusoayan (140.112.248.24), 08/14/2014 20:41:03
carylorrk: semantic 需要類似 compiler front-end 來分析程式碼 08/14 22:42
carylorrk: 可以完整 parse 語法,而非像 tagfile 種 token 式的 08/14 22:43
carylorrk: ruby 我不熟可能要找一下,python 的話 ycm 本身有整合 08/14 22:43
carylorrk: jedi 可以達到,加上 pymode 應該可以符合多數需求 08/14 22:43
carylorrk: javascript 可能是因爲語言設計很難做到 目前沒看到 08/14 22:50
carylorrk: 我大部分時間都在 C/C++, Java, Python 工作就是了 08/14 22:50
carylorrk: JS 看到這個 http://goo.gl/YZEk8A 可以試試? 08/14 23:01