You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Vim中实现选中内容自动填充substitute替换命令的功能?

在Vim中实现可视化选中后快速生成全局替换命令

在Sublime Text里,选中文本后按Ctrl+h会自动把选中内容填入替换框,要在Vim里实现类似效果,只需在你的~/.vimrc(或init.vim)中添加以下可视化模式映射:

基础版映射(与Sublime快捷键一致)

vnoremap <C-h> y:%s/<C-r>0//<Left>

各部分作用说明:

  • vnoremap:定义可视化模式下的非递归快捷键映射
  • <C-h>:触发快捷键,和Sublime保持相同操作习惯
  • y:将当前选中的文本复制到寄存器0
  • :%s/:唤起全局替换命令的开头部分
  • <C-r>0:将寄存器0中保存的选中内容插入到命令行
  • //<Left>:补全替换命令的分隔符,并将光标移动到两个斜杠中间,直接输入替换后的内容即可

进阶版(适配含特殊字符的选中内容)

如果选中的文本包含/、.、*这类正则特殊字符,用#作为分隔符可以避免转义麻烦:

vnoremap <C-h> y:%s#<C-r>0##<Left>

配置完成后,重启Vim或执行:source ~/.vimrc生效。之后在字符可视化模式选中文本,按下Ctrl+h就能直接生成带选中内容的全局替换命令,无需手动输入选中内容。

内容的提问来源于stack exchange,提问作者DanielTA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 21:45:47