我想搜索$maximumTotalAllowedAfterFinish
并将其替换为$minimumTotalAllowedAfterFinish
. 而不是输入长文本:
:%s/$maximumTotalAllowedAfterFinish/$minimumTotalAllowedAfterFinish/g
有没有办法将这些长变量名复制到搜索行中,因为在命令行上我不能输入“ p
”来粘贴?
我想搜索$maximumTotalAllowedAfterFinish
并将其替换为$minimumTotalAllowedAfterFinish
. 而不是输入长文本:
:%s/$maximumTotalAllowedAfterFinish/$minimumTotalAllowedAfterFinish/g
有没有办法将这些长变量名复制到搜索行中,因为在命令行上我不能输入“ p
”来粘贴?
您可以通过键入 来插入编号或命名寄存器的内容CTRLR {0-9a-z"%#:-=.}
。通过键入CTRL-R CTRL-W,您可以将当前单词粘贴到光标下。看:
:he cmdline-editing
了解更多信息。
照常复制,然后CtrlR"粘贴。还有许多其他CtrlR快捷方式(例如,计算器、当前文件名、剪贴板内容)。键入:help c_<C-R>
以查看完整列表。
复制:
1)v
(或用鼠标突出显示,在视觉模式下)
2)y
(猛拉)
粘贴:
1)/
(搜索模式)
2)Ctrl + R + 0
(从抽出的寄存器中粘贴)
键入q:
以在新缓冲区中进入历史编辑模式。然后编辑缓冲区的最后一行并按Enter
执行它。
或者在 vim 缓冲区中创建命令,例如在缓冲区中键入它:
s/foo/bar/gci
并将其复制到一个命名寄存器,使用"ayy
(如果光标在该行上!)。
现在你可以a
从 Vim 的 Ex 命令行执行 " " 寄存器的内容了:
:[OPTIONAL_RANGE]@a
我用它所有的时间。
通常,您可以通过鼠标选择(可能CtrlIns或CtrlC在选择之后)然后在命令/搜索行中单击中键(或ShiftIns或CtrlV)来执行此操作。
另一种方法是在文本缓冲区中写入命令/搜索行,并在文本缓冲区中进行所有可用的编辑,从:
and all 开始,然后在行上执行以下操作:
"add@a
它将整个命令行存储在 buffera
中,然后执行它。但是,它不会存储在命令历史记录中。
尝试在文本缓冲区中创建以下行作为上述按键的示例:
:%s/$maximumTotalAllowedAfterFinish/$minimumTotalAllowedAfterFinish/g
最后,您可以q:
在文本缓冲区中输入进入历史编辑。
您可以将光标放在要添加到模式中的单词上,然后按/或:进入搜索或命令模式,然后按CtrlRCtrlW复制该单词。来源