
Estoy intentando reasignar las claves de Nerdtree para <cr>
abrir un archivo pero el cursor permanece en la ventana de nerdtree. Nerdtree tiene esta capacidad de forma predeterminada y se puede activar con la g + o
asignación de teclas. Quiero este mapeo solo cuando estoy en Nerdtree.
Por lo que entiendo de los documentos de Nerdtree, las funciones que llama este mapeo son NERDTree-go
las que son una abreviatura de'g' + NERDTreeMapActivateNode
Esto es lo que probé en mi vim rc a partir de una combinación de documentos de NerdTree y de soluciones planteadas para preguntas similares.
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
También hay un método API que creo que debería funcionar, pero a) parece que debería ser fácil de hacer con una simple reasignación yb) no sé cómo configurarlo. Llegué a cargarlo, pero tenía lo siguiente en el archivo vimscript que provocó un error:
NERDTreeAddKeyMap({
'key': '<cr>',
'callback': 'NERDTree-go',
'scope': 'FileNode',
'overide': '1'
})
Respuesta1
NERDTree normalmente se configura mediante g:NERDTreeMap...
variables; Desafortunadamente, no existe una opción de mapa independiente para go
. De :help NERDTree-go
:
La combinación de teclas para este mapeo es siempre "g" + NERDTreeMapActivateNode (ver NERDTree-o).
Por lo tanto, debes realizar la reasignación tú mismo. Para aplicar esto solo a la ventana de NERDTree, debe ser un mapeo local del búfer, que se activa al abrir la barra lateral de NERDTree:
:autocmd FileType nerdtree nmap <buffer> <CR> go