
Estou tentando remapear as teclas do Nerdtree para <cr>
abrir um arquivo, mas o cursor permanece na janela do nerdtree. Nerdtree tem esse recurso por padrão e pode ser acionado com o g + o
mapeamento de teclas. Quero esse mapeamento apenas quando estiver no Nerdtree.
Pelo que entendi nos documentos do Nerdtree, as funções que esse mapeamento chama são NERDTree-go
uma abreviação de'g' + NERDTreeMapActivateNode
Isto é o que eu tentei no meu vim rc a partir de uma combinação dos documentos do NerdTree e de soluções apresentadas para questões semelhantes.
let NERDTree-go=<cr>
nnoremap <CR> :call nerdtree#ui_glue#invokeKeyMap("go")<CR>
nnoremap <CR> :call nerdtree#invokeKeyMap("go")
let g NERDTreeMapActivateNode = <cr>
let g NERDTree-go
Há também um método de API que acho que deveria funcionar, mas a) parece que deveria ser fácil de fazer com um simples remapeamento eb) não consigo descobrir como configurá-lo. Cheguei até carregá-lo, mas acabei de ter o seguinte no arquivo vimscript, o que causou um erro:
NERDTreeAddKeyMap({
'key': '<cr>',
'callback': 'NERDTree-go',
'scope': 'FileNode',
'overide': '1'
})
Responder1
O NERDTree normalmente é configurado através de g:NERDTreeMap...
variáveis; infelizmente, não há opção de mapa separada para go
. De :help NERDTree-go
:
A combinação de teclas para este mapeamento é sempre "g" + NERDTreeMapActivateNode (consulte NERDTree-o).
Então, você mesmo tem que fazer o remapeamento. Para aplicar isso apenas à janela NERDTree, precisa ser um mapeamento buffer-local, acionado na abertura da barra lateral do NERDTree:
:autocmd FileType nerdtree nmap <buffer> <CR> go