看板 Editor 關於我們 聯絡資訊
小弟寫了一篇文章,分享我使用 vim 在 C 語言裡程式碼導覽技巧: https://reurl.cc/r8Gkxr # 文章簡介 現代的專案開發,很少在從無到有打造,大部分都是基於現有的程式之上繼續開發或 維護,進入專案之後,通常第一件事就是大量閱讀程式碼理清專案的整個脈絡, 才開始著手寫 code,所以好的程式碼導覽技巧將會帶你上天堂。 我將大部分的程式碼導覽情境大致拆成了三種情況: 1. 基本的跳轉: - #if #endif 中間的程式碼太長,想要跳轉到成對的 #if #endif - cursor 在 {…} block 裡, 這個 block 又臭又長, - 想快速跳轉 block 的開頭和結尾 - 註解長篇大論,想快速跳到註解的開頭或結尾 2. 尋找專案下檔案 (可透過設定 path option 解決) - 跳轉到標頭檔 - 跳轉到指定檔案 3. 使用 source code tagging system 快速挑轉到 function 定義及特定 symbol 等等: 專案相當大的時候,source code tagging system 相當好用,可以快速找到定位, 也不會花掉太多的資源,比起 LSP 的跳轉定義,是較輕量的選擇。 本篇依據上述三種情境,一一講述。 當然,這篇還不是全部,下篇將會提到使用 vim-gutentags 管理各種 tag 如果還有更多好用的使用情境和導覽技巧,歡迎在底下或我的部落格留言 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.231.34.129 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Editor/M.1606585333.A.5F0.html ※ 編輯: as23041248 (61.231.34.129 臺灣), 11/29/2020 01:43:33
mars90226: 推,第一次知道有[#, ]# 11/29 17:12
mars90226: 不過我目前都轉到用 lsp (coc.nvim + ccls) 了 11/29 17:13
coc 雖然開箱及用,但是我覺得太複雜了 ccls 不知好不好用,跟 clang 比起來呢?
mars90226: 現在比較不太方便的是從 cpp 跳到 h 檔,a.vim 需要 11/29 17:14
mars90226: cpp 跟 h 在同一個資料夾,只是通常都會分開放 11/29 17:14
不太懂意思 ※ 編輯: as23041248 (61.231.34.129 臺灣), 11/30/2020 13:30:15 ※ 編輯: as23041248 (61.231.34.129 臺灣), 11/30/2020 13:30:57
mars90226: 我用ccls的時候,clangd好像還沒出XD 之後還沒試過 12/02 10:49
mars90226: 有個 a.vim 的 plugin 可以從目前檔案切換到對應的另外 12/02 10:49
mars90226: 一個檔案,在C/C++就是c/cpp跟h檔,不過好像只能切到 12/02 10:50
mars90226: 相同資料夾的檔案,所以有點可惜 12/02 10:50
mars90226: https://vimawesome.com/plugin/a-vim 12/02 10:51