我想将<Leader>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
不幸的是,当我在单词<Leader>a
上点击foo
时,我得到了这个:
:foo
Ag!
消失,尾随<CR>
未执行。
我的错误在哪里?
答案 0 :(得分:8)
您在地图中添加了<c-u>
,它会移除:Ag!
您可能希望-Q
使用ag
进行文字搜索。
对于<CR>
问题,<CR>
用于<c-r>=
表达式,您需要额外<CR>
个来启动命令。
答案 1 :(得分:0)
noremap <leader>a :Ag! "<cword>"<cr>
答案 2 :(得分:0)
添加我在 GitHub 中找到的答案,由 junegunn 回答,以防有人需要
nnoremap <silent> <Leader>ag :Ag <C-R><C-W><CR>