2015-04-07 6 views
6

Я хотел бы карту <Leader>a искать с ag слово под курсоромпоиск 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 

К сожалению, когда я ударил <Leader>a на слово foo Я получаю это:

:foo 

Ag! исчез и задний <CR> не е xecuted.

Где моя ошибка?

ответ

8

вы добавили <c-u> в своем отображении, он удалит :Ag!

Вы можете использовать -Q для ag сделать буквальный поиска.

Для <CR> проблемы, ваш <CR> для выражения <c-r>= требуется один дополнительный <CR> запустить команду.

+1

Хорошо, спасибо. Затем я буду использовать 'noremap a: Ag! -Q = expand ('') '. Почему '' не принимается во внимание? – nowox

+1

@coin см. Обновленный ответ – Kent

Смежные вопросы