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

为何使用点命令重复粘贴寄存器1时Vim会依次切换寄存器?

Vim点命令重复粘贴遍历寄存器的原因分析

寄存器状态

Type Name Content
  l  ""   xxxxx^J
  c  "0   0000
  l  "1   xxxxx^J
  l  "2   11111^J
  l  "3   2222^J
  l  "4   3333^J
  l  "5   4444^J
  l  "6   5555^J
  l  "7   6666^J
  l  "8   7777^J
  l  "9   8888^J
  c  "-   h
  c  "*   xxxxx
  c  ".   xxxxx
  c  ":   reg
  c  "%   temp
  c  "/   \vq

操作现象

执行"1p成功粘贴寄存器1的内容xxxxx,但使用点.命令时,并未重复粘贴寄存器1的内容,而是粘贴了寄存器2的11111;重复点命令会依次遍历寄存器3、4...的内容。

原因解析

这是Vim编号寄存器的自动轮转特性导致的:

  • 编号寄存器"1到"9存储最近删除/复制的内容,"1对应最近一次操作,"2是上一次,以此类推。
  • 执行"1p粘贴后,Vim会自动轮转编号寄存器:原"2的内容移到"1,原"3移到"2,依此类推。而点命令.重复的是「粘贴当前"1寄存器内容」的动作逻辑。
  • 所以第一次按.时,"1已经变成原"2的内容,粘贴出11111;再次按.,"1又轮转成原"3的内容,最终呈现遍历所有编号寄存器的效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 21:28:33