例如,我有:
rm -f $(NAME).elf $(name).d
其中第二个'name'是拼写错误,也应该是'NAME'。
所以在'N'上,我做了 y w ,然后转移到'n'。
我意识到如果我现在点击 c w 来改变它,我将处于插入模式 - 但我想啊,它只是一个额外的密钥( ESC ),然后我可以 p 更正版本。
但是在那种情况下, p 完全按照 u 所做的那样,将'name'放回去。我想因为“旧文本”也会在更改时加载到寄存器中,我没有意识到。
是否有可以应用于单词/字母/等的“替换为寄存器”命令?
答案 0 :(得分:8)
yw
NAME
后移至name
,您可以这样做:
viwp
or golf abit:vep
答案 1 :(得分:2)
我经常需要这个,我写了一个插件来简化并允许最大速度:ReplaceWithRegister。
此插件提供了一个二合一gr
命令,该命令用{motion} / text对象,整行或当前选择覆盖的文本替换寄存器的内容;旧文本被删除到黑洞寄存器中,即它已经消失了。它透明地处理许多极端情况,并允许通过标准.
命令快速重复。如果您不喜欢它,它的页面会链接到替代品。
将NAME
拉入默认寄存器,将光标移至n
,只需使用gre
。 gr
调用该命令,e
是涵盖要替换的整个name
的动作。
答案 2 :(得分:1)
另一种方式:
ciw<Ctrl-r>0
或
ce<Ctrl-r>0
这样就可以在不使用任何插件的情况下重复使用.
,正如您在目前正在避免使用的评论中所提到的那样。
答案 3 :(得分:0)
您只需使用name
更改gUiw
的大小写。