粘贴点中的内容。 vim 中的命令

Paste the content from dot . command in vim

给定文本中的单词 foo,如果我键入 ciwbar<ESC> 并将其作为宏记录在 w 寄存器中,然后在命令行中键入 :<C-r>w 它会带给我 :ciwbar^[

但是如果我输入 :<C-r>. 它只会给我 bar

但是 @wdot 这两个命令都能够在我的文本的其他部分执行 更改内部单词 bar

有什么方法可以像我得到w寄存器那样从点中得到所有的内容吗?我想粘贴它并努力在向前的一些步骤中自动执行宏中的最后一个命令

.寄存器和.命令不是一回事。 . 寄存器存储您最后插入的文本,. 命令重复您执行的最后一个非移动正常模式命令。

与其尝试强制它以另一种方式工作,不如调用不同的注册表并在其中存储值? . 注册表将被最后插入的文本覆盖,但许多其他注册表仅在您主动告诉 vim 时才会更改,因此您可以自己填写所需的确切按键并调用它们稍后再来。

类型

:reg

查看每个注册表中当前内容的列表

另请查看解释 vim 寄存器的精彩资源
https://www.brianstorti.com/vim-registers/