1

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

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

@w但是, and两个命令dot都能够在我的文本的其他部分执行更改内部单词栏

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

4

1 回答 1

5

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

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

类型

:reg

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

还可以看看这个解释 vim 寄存器的奇妙资源
https://www.brianstorti.com/vim-registers/

于 2018-07-24T08:01:26.530 回答