:help NERDTreeAddKeyMap()
mostrará como escrever um pequeno plugin para o NERDTree. Porque você está chamando uma função NERDTree embutida, você nem precisa de uma custom.
Eu quero usar a tecla de seta para a direita para abrir um nó na NERDtree. Eu vejo que há NERDTreeAddKeyMap, mas eu sou muito newb vimscript para saber como invocá-lo corretamente. Eu quero seta para a direita para invocar activateNode. Eu fiz isso adicionando esta linha no próprio NERD_tree.vim:
exec "nnoremap <silent> <buffer> <Right> :call <SID>activateNode(0)<cr>"
mas eu quero fazer do jeito certo no meu .vimrc
:help NERDTreeAddKeyMap()
mostrará como escrever um pequeno plugin para o NERDTree. Porque você está chamando uma função NERDTree embutida, você nem precisa de uma custom.
Acho que, salvo uma limitação na versão que estou usando (4.2.0), o seguinte fará o que você quiser.
Em um mymapping.vim, em ~ / .vimfiles / nerdtree_plugin /
" -*- vim -*-
call NERDTreeAddKeyMap({ 'key': "Right", 'scope': "Node", 'callback': "<SID>activateNode" })
Agora, para que o "Right" funcione corretamente, você terá que editar o NERD_tree.vim, em:
"FUNCTION: KeyMap.bind() {{{3
function! s:KeyMap.bind()
Alterar:
if mapkey =~? '^\([CM]-\|middlerelease\|2-leftmouse\|leftrelease\)'
para:
if mapkey =~? '^\([CM]-\|middlerelease\|2-leftmouse\|leftrelease\|right\)'
O código antigo não fazia tratamento especial para mapear chaves que não eram < MiddleRelease & gt ;, < 2-LeftMouse & gt ;, ou < LeftRelease >