如何从命令行中拉出来

Ber*_*nnF 34 vi vim

我想知道是否有可能在vim的命令行中写下我写的东西,以便稍后再粘贴它.

这将特别有用,因为我经常通过首先搜索它们来尝试搜索/替换模式 - 如果它们符合我的需要 - 我希望能够从命令行复制搜索到的表达式并在我的命令行中使用它搜索/替换功能.

我已经知道你可以通过使用粘贴到命令窗口<ctrl-r><buffer>,我只是想知道是否有一个类似于此的命令会拉动我的整个命令窗口.

luc*_*tte 52

您可以使用命令行窗口.用q+ :打开它.然后你可以像普通的那样导航窗口并猛拉你想要的东西.

  • 啊,最后我知道窗户是什么 - 我有时在试图退出vim时意外打开它. (14认同)
  • 您也可以使用`q /`以类似的方式访问搜索历史记录.当您尝试调整/细化搜索模式时,这非常有用. (12认同)
  • 对,就是这样。我记得第一次发生在我身上时,我就想“那到底是什么?” :) (4认同)

Dav*_*own 13

Vim将最近输入的命令存储在:寄存器中,并将最近搜索的表达式存储在/寄存器中.由于您已经知道如何粘贴到命令窗口,因此您只需键入<Ctrl-R>/以粘贴上次搜索的内容即可.

  • 除此之外,如果您只是在`:substitute`命令中省略搜索模式,那么vim足够聪明,可以使用`/`寄存器的内容.例如,如果你搜索了`foo`,那么``s // bar` vim将用`bar`替换`foo`而不需要任何复制或粘贴. (5认同)

Ben*_*oit 6

其他方法:

  • 如果'cedit'未覆盖该选项,则在进入命令行时按CTRL-F.然后,您可以访问正常模式的子集进行编辑.:help 'cedit'
  • 如果您需要输入最后一个命令行,您可以使用:put :(David Brown的答案变体并依赖包含最后一个命令的冒号寄存器).