目前我的 ~/.vimrc 中有这个映射

noremap <Leader>a :Ack <cword><cr>

这使我能够搜索光标下的单词。

我想搜索当前的视觉选择,因为有时单词是不够的。

有没有办法可以将视觉选择发送到 ack.vim

最佳答案

您可以编写一个视觉模式映射,拉出突出显示的文本,然后将其逐字(正确转义)粘贴到 vim 命令行上:

vnoremap <Leader>a y:Ack <C-r>=fnameescape(@")<CR><CR>

此解决方案使用 <C-r>= 技巧,它允许您输入一种二级命令行,它允许您输入任何 vimscript 表达式,然后对其进行评估,并将结果字符串化并粘贴到(原始的,第一级) 光标所在的命令行。

这种方法的一个小缺点是它会占用您可能不想要的未命名寄存器。

关于vim - 在视觉选择上使用 Ack.vim,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28011155/

10-10 03:43