3

安装 Ag.vim 后,我经常需要将搜索从 * 或 / 复制到命令行中,以搜索代码库中的所有文件。

示例用例:

  1. 我找到一串文本user_profile_uri并使用*它来选择它。

  2. 我按下:进入命令行模式并输入Ag开始我的文件搜索

有没有办法将搜索光标中的文本移动或复制到命令行,而无需手动复制初始文本?

编辑:

我快要弄清楚了。:registers在命令行会给我一个寄存器列表,在命令模式下我可以Ctrl+R <registerkey>用来粘贴。但是,我需要的文字看起来像\<user_profile_uri\>

4

1 回答 1

6

你有几种方法可以做到这一点:

  • 通过 插入寄存器中的文本<c-r>{reg}。在这种情况下,搜索寄存器,/。例如<c-r>/
  • 您还可以通过在光标下插入单词<c-r><c-w>
  • 根据文档,:h AgFromSearch您可以:AgFromSearch使用当前搜索模式运行

您可以将:AgFromSearch和结合起来,并*提出一个映射来一步完成这一切。将以下内容添加到您的~/.vimrc文件中:

nnoremap <leader>* *:AgFromSearch<cr>

现在您可以使用它<leader>*来执行您的搜索。默认<leader>\这样,它会变成\*. 有关:h <Leader>更多信息,请参阅。

如需更多帮助,请参阅:

:h c_ctrl-r
:h c_ctrl-r_ctrl-w
:h :AgFromSearch
:h <Leader>
:h registers
:h quote/
于 2015-01-15T18:08:39.507 回答