
我正在嘗試重新映射 Nerdtree 鍵,以便<cr>
打開一個文件,但遊標停留在 nerdtree 視窗中。 Nerdtree 預設具有此功能,並且可以透過g + o
鍵映射來觸發。我只在 Nerdtree 中才需要此映射。
據我從 Nerdtree 文件中了解到,此映射呼叫的函數NERDTree-go
是'g' + NERDTreeMapActivateNode
這些是我在 vim rc 中嘗試的內容,結合了 NerdTree 文件和針對類似問題提出的解決方案。
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
還有一個我認為應該可行的 api 方法,但是 a) 看起來應該很容易透過簡單的重新映射來完成,b) 我不知道如何設定它。我已經加載了它,但 vimscript 文件中只有以下內容,這導致了錯誤:
NERDTreeAddKeyMap({
'key': '<cr>',
'callback': 'NERDTree-go',
'scope': 'FileNode',
'overide': '1'
})
答案1
g:NERDTreeMap...
NERDTree 通常透過變數進行配置;不幸的是,沒有單獨的地圖選項go
。從:help NERDTree-go
:
此對應的組合鍵始終是“g”+ NERDTreeMapActivateNode(請參閱 NERDTree-o)。
因此,您必須自己重新映射。要將其僅應用於 NERDTree 窗口,這需要是一個緩衝區本地映射,在打開 NERDTree 側邊欄時觸發:
:autocmd FileType nerdtree nmap <buffer> <CR> go