作者as23041248 (KAIKAIKAI)
看板Editor
标题[vim ] 在 (neo) vim 里 C 语言程式码导览技巧
时间Sun Nov 29 01:42:11 2020
小弟写了一篇文章,分享我使用 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://webptt.com/cn.aspx?n=bbs/Editor/M.1606585333.A.5F0.html
※ 编辑: as23041248 (61.231.34.129 台湾), 11/29/2020 01:43:33
1F:推 mars90226: 推,第一次知道有[#, ]# 11/29 17:12
2F:→ mars90226: 不过我目前都转到用 lsp (coc.nvim + ccls) 了 11/29 17:13
coc 虽然开箱及用,但是我觉得太复杂了
ccls 不知好不好用,跟 clang 比起来呢?
3F:→ mars90226: 现在比较不太方便的是从 cpp 跳到 h 档,a.vim 需要 11/29 17:14
4F:→ 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
5F:推 mars90226: 我用ccls的时候,clangd好像还没出XD 之後还没试过 12/02 10:49
6F:→ mars90226: 有个 a.vim 的 plugin 可以从目前档案切换到对应的另外 12/02 10:49
7F:→ mars90226: 一个档案,在C/C++就是c/cpp跟h档,不过好像只能切到 12/02 10:50
8F:→ mars90226: 相同资料夹的档案,所以有点可惜 12/02 10:50