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

如何将Vim中dot操作符的内容复制到寄存器中以便后续调用?

保存dot命令到寄存器的方法

Vim 内置了特殊寄存器 .,它存储的就是 dot 操作符对应的最近一次修改操作的内容。你只需要在执行新操作之前,在普通模式下执行如下命令,即可把它的内容复制到自定义寄存器(比如存到寄存器 a):

:let @a = @.

后续你需要调用这个原来的dot命令时,直接在普通模式下按 @a 即可,效果和直接按 . 完全一致,且后续的所有操作都不会覆盖寄存器 a 里存储的内容。

更自然的原生替代方案

如果你提前知道需要复用某段操作,更推荐使用Vim原生的宏功能,比事后保存dot寄存器的适用范围更广:

  • 提前录制宏:在普通模式下按 qa 开始录制操作序列到寄存器 a,完成你需要复用的所有操作后按 q 结束录制。后续任意时间按 @a 即可重复执行整段操作,还支持指定重复次数,比如 10@a 就是连续执行10次,支持任意长度的操作序列,而dot操作符只能存储最近一次的单个修改。
  • 如果需要复用的是冒号开头的Ex命令,直接按 q: 打开命令历史窗口,找到对应命令按回车即可直接执行,不需要额外保存到寄存器。
  • 仅临时需要插入一次其他操作的场景,可以用撤销树实现:执行完临时操作后先按 u 撤销临时操作,此时dot寄存器会自动恢复为你原来要保留的命令,执行完原dot操作后再按 Ctrl+r 恢复刚才的临时操作即可,不需要额外操作寄存器。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 10:30:01