请教两个提高 Vim 使用效率的问题
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,综合各位的回答,加上自己的修改,我使用的方法如下:
set ve=all
使得光标可以到达没有字符的地方C-v
进入列块可视模式,选中要插入注释的那一列- 按
A
并插入// 0
,按Esc
回到普通模式 V
进行行可视模式,选中添加了注释的所有行- 执行命令
let i=0|'<,'>g/0$/s//\=i/|let i=i+1
set ve=
把虚拟编辑选项复原
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
第二个问题:
set ve=all
使得光标可以到达没有字符的地方C-v
进入列块可视模式,选中要插入注释的那一列A
并插入// 0
,按Esc
回到普通模式0
:I
把它改成递增的数值序列set ve=
把虚拟编辑选项复原(我推荐使用非默认值block
,这样不用经常切换了)PS: 一般用不到枚举的整数表示的吧?
第一个问题,搜索的时候用正则:
第二个问题,录制个宏就好了吧:
// 1
qq^f y$j$p^A
解释一下:
qq
: 录制宏到寄存器q
^
: 去行首f
: (注意f
后面是空格),去第一个空格处y$
: 复制到行尾j$p
: 去下一行的结尾粘贴^A
: (这是 Ctrl-A)+1第二个问题
使用
列编辑
可以连续一系列注释自增的数字, 在命令行模式,输入如下命令:
自增的方案来源这往篇文章:link