请教两个提高 Vim 使用效率的问题

发布于 2022-08-28 22:45:48 字数 745 浏览 34 评论 0

1.如何同时查找多个关键词,比如我想要高亮出文档中所有的 aa, bbbb, ccccc

2.举例说明,有一个枚举

enum Test {
    TEST_A,
    TEST_BBBBB,
    TEST_CC,
    TEST_DDDDDDD,
    TEST_EEE
};

如何快速加上如下的注释

enum Test {
    TEST_A,         // 0
    TEST_BBBBB,     // 1
    TEST_CC,        // 2
    TEST_DDDDDDD,   // 3
    TEST_EEE        // 4
};

对于问题2,综合各位的回答,加上自己的修改,我使用的方法如下:

  1. set ve=all 使得光标可以到达没有字符的地方
  2. C-v 进入列块可视模式,选中要插入注释的那一列
  3. A 并插入 // 0,按 Esc 回到普通模式
  4. V进行行可视模式,选中添加了注释的所有行
  5. 执行命令let i=0|'<,'>g/0$/s//\=i/|let i=i+1
  6. set ve= 把虚拟编辑选项复原

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

许一世地老天荒 2022-09-04 22:45:48

第二个问题:

  1. set ve=all 使得光标可以到达没有字符的地方
  2. C-v 进入列块可视模式,选中要插入注释的那一列
  3. A 并插入 // 0,按 Esc 回到普通模式
  4. 再次进入列块可视模式,选中那一列 0
  5. 使用 visIncr.vim 的命令 :I 把它改成递增的数值序列
  6. set ve= 把虚拟编辑选项复原(我推荐使用非默认值 block,这样不用经常切换了)

PS: 一般用不到枚举的整数表示的吧?

一桥轻雨一伞开 2022-09-04 22:45:48

第一个问题,搜索的时候用正则:

请输入图片描述

第二个问题,录制个宏就好了吧:

  1. 首先手动输入第一行的注视,也就是在结尾添加一个 // 1
  2. 在第一行的任意位置,录制这个宏:qq^f y$j$p^A
  3. 用之~

请输入图片描述

解释一下:

  • qq: 录制宏到寄存器 q
  • ^: 去行首
  • f: (注意 f 后面是空格),去第一个空格处
  • y$: 复制到行尾
  • j$p: 去下一行的结尾粘贴
  • ^A: (这是 Ctrl-A)+1
凡间太子 2022-09-04 22:45:48

第二个问题

使用列编辑 可以连续一系列注释
请输入图片描述
自增的数字, 在命令行模式,输入如下命令:

:let i=0|g/0/s//\=i/|let i=i+1

自增的方案来源这往篇文章:link

请输入图片描述

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文