2015-04-07 116 views
6

字我要地图<Leader>aag字光标Vim的搜索与股份公司下光标

我写了这个搜索下:不幸的是

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

function! Escape(stuff) 
    return substitute(escape(a:stuff, '\/.*$^~[]'), "\n", '\\n', "g") 
endfunction 

当我上的字foo<Leader>a我得到这个:

:foo 

Ag!消失和后<CR>不è xecuted。

我的错误在哪里?

回答

8

你在地图中添加<c-u>,它会删除:Ag!

您可能需要使用-Qag做文字搜索。

对于<CR>问题,您<CR>是为<c-r>=表达,你需要一个额外的<CR>启动命令。

+1

好,谢谢。然后我会用'noremap a:Ag! -Q = expand('')'。为什么''不被考虑在内? – nowox

+1

@coin查看已更新的答案 – Kent

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