vim NERDTree ярлык для существующей функции

584
Ned Batchelder

Я хочу использовать клавишу со стрелкой вправо, чтобы открыть узел в NERDtree. Я вижу, что есть NERDTreeAddKeyMap, но я слишком большой новичок в vimscript, чтобы знать, как правильно его вызывать. Я хочу, чтобы стрелка вправо вызывала activNode. Я сделал это, добавив эту строку в сам NERD_tree.vim:

exec "nnoremap <silent> <buffer> <Right> :call <SID>activateNode(0)<cr>" 

но я хочу сделать это правильно в моем .vimrc

1

2 ответа на вопрос

0
romainl

:help NERDTreeAddKeyMap()покажет вам, как написать небольшой плагин для NERDTree. Поскольку вы вызываете встроенную функцию NERDTree, вам даже не нужна пользовательская функция.

Я надеялся на более подробную информацию здесь ... Я ничего не знаю о vimscript. Ned Batchelder 12 лет назад 0
0
pottsdl

Я думаю, что, за исключением ограничения в версии, которую я использую (4.2.0), следующее будет делать то, что вы хотите.

В mymapping.vim, в ~ / .vimfiles / nerdtree_plugin /

" -*- vim -*- call NERDTreeAddKeyMap({ 'key': "Right", 'scope': "Node", 'callback': "<SID>activateNode" }) 

Теперь, чтобы «Правильно» работало правильно, вам нужно отредактировать NERD_tree.vim в:

"FUNCTION: KeyMap.bind() {{ .. \ 

но я получаю разрешение отказано

Вероятно, следует добавить, что я не думаю, что вы можете сделать это "в вашем .vimrc" точно. Поскольку отображение зависит от загружаемого плагина, я думаю, что единственный способ сделать это в отдельном файле, как я обрисовал в общих чертах выше. pottsdl 12 лет назад 0