Vim使用光标下的单词进行搜索

Vim使用光标下的单词进行搜索,vim,Vim,我想映射a以使用ag搜索光标下的单词 我写道: noremap <Leader>a :Ag!<C-u><C-r>=Escape(expand('<cword>'))<CR> function! Escape(stuff) return substitute(escape(a:stuff, '\/.*$^~[]'), "\n", '\\n', "g") endfunction Ag消失,尾随的未执行 我的错误在哪里?您在映射

我想映射
a
以使用
ag
搜索光标下的单词

我写道:

noremap <Leader>a  :Ag!<C-u><C-r>=Escape(expand('<cword>'))<CR>

function! Escape(stuff)
    return substitute(escape(a:stuff, '\/.*$^~[]'), "\n", '\\n', "g")
endfunction
Ag消失,尾随的
未执行

我的错误在哪里?

您在映射中添加了
,它将删除
:Ag

您可能希望使用
-Q
for
ag
进行文字搜索

对于
问题,您的
用于
=
表达式,您需要一个额外的
来启动命令。

noremap a:Ag!""
noremap <leader>a :Ag! "<cword>"<cr>

添加我在GitHub中找到的答案,以防有人需要

nnoremap <silent> <Leader>ag :Ag <C-R><C-W><CR>
nnoremap ag:ag

很好,谢谢。然后我将使用
noremap a:Ag-Q=展开(“”)
。为什么不考虑
nnoremap <silent> <Leader>ag :Ag <C-R><C-W><CR>