如何在 Vim 命令行模式下搜索时复制文本

5
已经有一个关于如何在Vim的命令行中复制文本的问题:copy text in commandline。有两个备选答案:
  1. ":p,和
  2. Ctrl+F,然后查找上一个命令。
但是这些方法在前一个命令是搜索时不起作用。也就是说,如果我使用/?进入命令模式,则无法使用这些方法访问使用的搜索术语。
是否有一种方法可以复制搜索文本呢?

2
当你输入命令时,Ctrl+F将打开命令行窗口以查看之前的命令,并在输入搜索时查看之前的搜索。换句话说,:,Ctrl+F等同于q:/,Ctrl+F?,Ctrl+F分别等同于q/q? - ib.
2个回答

5
我相信您正在寻找“/”寄存器。您可以使用“/p”来粘贴上次搜索的内容。在命令行上,您可以使用“”后跟一个寄存器来插入给定寄存器的内容。例如:/ 将粘贴最后一次搜索。
您还可以使用“q/”对先前的搜索进行更广泛的编辑。
:h registers
:h q/
:h c_CTRL-R

1
采用类似于“如何在Vim的命令行模式下复制文本”的问题的已接受答案中提出的方法,可以使用/寄存器来粘贴最近的搜索模式:
"/p

整个搜索历史记录可以使用命令行窗口进行探索(参见:help cmdwin)。要在正常模式下打开它以编辑搜索字符串,请使用q/q?命令。当为/?命令输入搜索模式时,按下cedit选项指定的键组合(默认情况下为Ctrl+F)即可执行相同操作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接