Editor 板


LINE

※ 引述《wei115 (NEET)》之銘言: : 如題 : 想用gtags來看code : 但相關插件一直不工作 : 我預期的結果是裝好插件後,使用ctags的 <C-]> <C-t>可以在程式碼之間跳轉和返回 : 但實際上這快捷鍵好像和ctags衝突 : 插件的快捷鍵並沒有取代ctags的快捷鍵 : 所以vim一直提示我『E426: 找不到標籤(tag):』 : 使用的插件是 : Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } : Plug 'jistr/vim-nerdtree-tabs' : Plug 'ludovicchabant/vim-gutentags' : Plug 'skywind3000/gutentags_plus' : 附上vimrc : https://ideone.com/szLBNL : 平台是windows 10 64bit,msys2 : vim -versoin : VIM - Vi IMproved 8.1 (2018 May 17, compiled May 31 2018 11:16:13) : 此vimrc在筆電上可以正常運作 : 筆電平台是windows 7 64bit,msys2 : vim版本也是8.1 : 想問問看這要如何解決,謝謝 放棄了一段時間,又因為要用到,所以又重新繼續搞 發現之前搞錯了一些東西 首先能動的一直是ctags(gtags&gtags-cscope界面太難用了....) 我以前一直以為我用的是gtags但其實是ctags 所以一開始就沒有用到gutentags_plus這個插件的功能 用的只有vim-gutentags 這是一個可以在vim8上,在後台執行tags更新的插件 他的設定 let g:gutentags_modules = ['ctags', 'gtags_cscope'] let g:gutentags_project_root = ['.root', '.git'] let g:gutentags_cache_dir = expand('~/.cache/tags') 意思是說會在打開的目錄向上搜尋,直到遇到.root或.git,然後在~/.cache/tags建立 ctags和gtags的tag檔 因為只要用到ctags所以改成 let g:gutentags_modules = ['ctags'] 就只會建立ctags檔了 照理來說,此時只要打開專案裡的原始檔,此插件就會自動產生tags擋了,然後自動設定 ctags 就能用<C-]> <C-t>在程式碼之間跳轉了 但我發現,在win10的wsl和msys2環境裡,在~/.cache/tags裡的tags檔會呈現 !_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/ !_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/ !_TAG_PROGRAM_AUTHOR Darren Hiebert /[email protected]/ !_TAG_PROGRAM_NAME Exuberant Ctags // !_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/ !_TAG_PROGRAM_VERSION 5.8 // 這樣的狀態 有就是沒有產生tags 為何會這樣讓我百思不得其解(或許只有我的電腦如此....) 但他有一個變數 let g:gutentags_ctags_extra_args = [] 功能是傳入參數,讓ctags處理 一開始我用 let g:gutentags_ctags_extra_args = ['*'] 這樣確實產生了tags檔了,但他的路徑是相對路徑,在跳轉程式碼的時候,他會在 ~/.cache/tags下尋找原始檔,但這樣自然是找不到 所以要傳入的是絕對路徑 後來在翻閱了相關的資料後(感謝google和google翻譯) 終於找到了解決方法,在.vimrc中加入以下程式碼便能傳入絕對路徑 "獲得打開的檔案路徑,並把所有的空白' '轉成問號'?' function FindSessionDirectory() abort if len(argv()) > 0 return substitute(fnamemodify(argv()[0], ':p:h'), "\ ", "?", "g") endif return getcwd() endfunction let g:gutentags_ctags_extra_args = [FindSessionDirectory()] 之所以要把空白轉成問號的原因是因為如果有空白的參數傳入,tags也會沒辦法產生,就 算加上跳出字元也一樣,原因不明 大guy4這樣 不怎麼高明的解決方法,但現在終於能比較簡單的閱讀程式碼了..... 參考資料: https://zhuanlan.zhihu.com/p/36279445 https://bit.ly/2IQYXQT --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 110.26.6.130
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Editor/M.1555986620.A.22A.html ※ 編輯: wei115 (110.26.6.130), 04/23/2019 10:33:46
1F:推 mars90226: 我最近轉用lsp了,用neovim+coc.nvim+ccls來看C++ code 04/23 16:35
2F:→ mars90226: 雖然有些時候不如預期就是了,#define 包住的會找不到 04/23 16:36
3F:→ mars90226: 然後我可能沒有真的讓他把全部code index,有時候會找 04/23 16:36
4F:→ mars90226: 不到應該要有的東西,這部份倒是可以用grep補 04/23 16:37
5F:→ mars90226: 建議設一個mapping可以用fzf+ripgrep去搜尋cursor word 04/23 16:38
6F:→ mars90226: 很多時候只要這樣就可以找到大部分的東西 04/23 16:38







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP