如何在VIM中实现类似VSCode CTRL+D的多词高亮批量修改功能
Vim实现VSCode Ctrl+D多光标匹配修改方案
以下两种方案都比全局替换命令操作更简便,交互逻辑更接近VSCode的直观操作:
原生无插件方案(无需额外安装内容,适合临时使用)
操作步骤:
- 普通模式下将光标移动到需要匹配修改的目标词汇上,按
*高亮全局所有匹配项 - 按
cgn进入插入模式,输入修改后的内容,按ESC返回普通模式 - 按
n跳转到下一个匹配项,按下.即可重复刚才的修改操作,重复操作直到所有匹配项修改完成
如果要一次性批量改所有匹配项,也可以在第一次修改完成后,输入1000.直接应用到后续所有匹配,不用逐次按n和.
插件增强方案(操作便捷度和VSCode完全一致)
推荐安装vim-visual-multi插件,这是Vim生态下专门实现多光标操作的插件,操作逻辑和VSCode Ctrl+D完全对齐:
- 先安装插件,以vim-plug包管理器为例,在vim配置文件中添加如下配置后执行
:PlugInstall即可:
Plug 'mg979/vim-visual-multi'
- 默认操作逻辑:
- 普通模式下将光标放到目标词汇上,按
Ctrl+N即可选中当前词并高亮第一个匹配,每多按一次就加选下一个匹配项,和VSCode Ctrl+D效果完全一致 - 选中所有需要修改的匹配项后,直接输入、删除内容都会同步作用于所有选中的光标,修改完成按
ESC即可退出多光标模式
- 如果要适配VSCode的操作习惯,把快捷键改成
Ctrl+D,只需要在vim配置文件中添加如下配置即可:
let g:VM_maps['Find Under'] = '<C-d>'
内容的提问来源于stack exchange,提问作者JC123
相关产品推荐
相关产品推荐

