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

VIM中yiw复制后di"操作覆盖缓冲区的问题咨询

简化Vim复制替换操作的方法

针对你遇到的di"会覆盖默认寄存器导致无法直接粘贴的问题,这里有几个更简便的解决方案:

方法一:利用黑洞寄存器避免污染默认寄存器

  • 光标定位到「dog」上,执行yiw将单词复制到默认寄存器
  • 移动光标到任意一个引号内的「cat」上,执行"_di"("_指定使用黑洞寄存器删除,不会修改默认寄存器里的内容)
  • 执行P粘贴「dog」,之后用.命令重复删除+粘贴操作,快速处理剩下的条目

方法二:结合ci"与寄存器粘贴,一步完成删除替换

  • 同样先执行yiw复制「dog」到默认寄存器
  • 光标移到引号内的「cat」上,执行ci"<C-r>0:
    • ci"会删除引号内的内容并自动进入插入模式
    • <C-r>0是在插入模式下粘贴默认寄存器(0号寄存器,存储最近一次yank的内容)里的「dog」
  • 按Esc退出插入模式,之后用.命令重复整个替换操作

方法三:全局替换(适合批量处理所有条目)

如果需要一次性替换所有debugPrint("cat")里的内容:

  • 先yiw复制「dog」
  • 执行全局替换命令::g/debugPrint/s/"cat"/"\=getreg(0)"/g
    • :g/debugPrint匹配所有包含debugPrint的行
    • s/"cat"/"\=getreg(0)"/g把行内的"cat"替换为默认寄存器里的内容(getreg(0)获取0号寄存器的值)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 23:36:23