目前我的 ~/.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/