Re: [分享] 分享好用的tag

看板Editor作者 (Bert)時間10年前 (2014/08/14 09:30), 10年前編輯推噓1(1013)
留言14則, 1人參與, 最新討論串2/2 (看更多)
可以請問是怎麼設定 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

08/14 18:31, , 1F
cscope 和 gtags 都可以支援 c++, 但是支援度不佳
08/14 18:31, 1F

08/14 18:34, , 2F
gtags 支援的語言看 gnu global 官網 有 java, php
08/14 18:34, 2F

08/14 18:35, , 3F
如果有 semantic 的支援會比 tagfile 類的好,像是
08/14 18:35, 3F

08/14 18:37, , 4F
youcompleteme 或是 pymode 這類的
08/14 18:37, 4F

08/14 18:38, , 5F
用過一些管理 tags 的,原本改 autotags 來用,現在都
08/14 18:38, 5F

08/14 18:39, , 6F
直接用 makefile 來管理...畢竟每個專案都會有差
08/14 18:39, 6F

08/14 18:42, , 7F
相依其他專案就用 lvimrc 來 add XD
08/14 18:42, 7F
感謝分享! 工作上比較不會接觸到 C/C++/Java,主要都是 python / ruby / javascript 我看了一下似乎 gtags 並不支援 javascript 並不是很瞭解什麼是 semantic 的支援,能不能請你稍微解釋一下? 因爲我的確是想搭配 YouCompleteMe 來使用 謝謝! ※ 編輯: kusoayan (140.112.248.24), 08/14/2014 20:41:03

08/14 22:42, , 8F
semantic 需要類似 compiler front-end 來分析程式碼
08/14 22:42, 8F

08/14 22:43, , 9F
可以完整 parse 語法,而非像 tagfile 種 token 式的
08/14 22:43, 9F

08/14 22:43, , 10F
ruby 我不熟可能要找一下,python 的話 ycm 本身有整合
08/14 22:43, 10F

08/14 22:43, , 11F
jedi 可以達到,加上 pymode 應該可以符合多數需求
08/14 22:43, 11F

08/14 22:50, , 12F
javascript 可能是因爲語言設計很難做到 目前沒看到
08/14 22:50, 12F

08/14 22:50, , 13F
我大部分時間都在 C/C++, Java, Python 工作就是了
08/14 22:50, 13F

08/14 23:01, , 14F
JS 看到這個 http://goo.gl/YZEk8A 可以試試?
08/14 23:01, 14F
文章代碼(AID): #1Jx14fmv (Editor)
討論串 (同標題文章)
文章代碼(AID): #1Jx14fmv (Editor)