在Vim中,有没有办法在search行中粘贴文本?
我想要search$maximumTotalAllowedAfterFinish
并用$minimumTotalAllowedAfterFinish
replace它。 而不是input长文本:
:%s/$maximumTotalAllowedAfterFinish/$minimumTotalAllowedAfterFinish/g
有没有办法将这些长variables名称复制到search行中,因为在命令行我不能input“ p
”来粘贴?
你可以通过inputCTRL R {0-9a-z"%#:-=.}
来插入编号或命名寄存器的内容。通过inputCTRL-R CTRL-W,你可以粘贴光标下的当前单词。
:he cmdline-editing
了解更多信息。
正常复制,然后按Ctrl R “粘贴,还有很多其他的Ctrl R快捷键(例如计算器,当前文件名,剪贴板内容),请input:help c_<CR>
查看完整列表。
键入q:
在新的缓冲区中进入历史编辑模式。 然后编辑缓冲区的最后一行,然后按Enter
执行它。
或者在vim缓冲区中创build命令,例如在缓冲区中input:
s/foo/bar/gci
并将其复制到一个已命名的registry中,用"ayy
(如果光标位于该行!)。
现在你可以用Vim的Ex命令行执行“ a
”寄存器的内容:
:[OPTIONAL_RANGE]@a
我用它所有的时间。
通常情况下,您可以通过鼠标select(select后可能是Ctrl Ins或Ctrl C ),然后在命令/search行中单击鼠标中键(或Shift +或Ctrl + V )。
另一种方法是将文本缓冲区中的命令/search行写入文本缓冲区,所有可用的文本缓冲区都是可用的,从以下行开始:
all,然后在行上执行:
"add@a
将整个命令行存储在缓冲区a
,然后执行它。 尽pipe如此,它不会被存储在命令历史logging中。
尝试在文本缓冲区中创build以下行作为上述按键的示例:
:%s/$maximumTotalAllowedAfterFinish/$minimumTotalAllowedAfterFinish/g
最后,您可以inputq:
在文本缓冲区中input历史编辑。
复制:
1) v
(或用鼠标在可视模式下突出显示)
2) y
(yank)
糊:
1) /
(search模式)
2) Ctrl + R + 0
(从抽取的寄存器粘贴)