Vim
在 vim 的“目錄視圖”中重新映射鍵
通過在 vim 中打開目錄(例如)獲得的“Netrw 目錄列表”
:e .
似乎使用了一組與普通 vim 不同的鍵綁定進行導航我已經重新映射了我的 hjkl 鍵:
noremap d h noremap h gj noremap t gk noremap n l noremap e d noremap l n
但是當我在目錄列表中按“t”(又名向上箭頭)時,它實際上會打開游標下的文件,而不是向上。在這種目錄列表模式下如何實現類似的鍵映射?
恐怕我不明白。
$$ deleted some rambling I babbled on with before I figured out the root cause $$
你想達到什麼目的?無論如何,您的 noremap 列表對我來說毫無意義。
啊哈!知道了!
您使用的是DVORAK 鍵盤佈局,不是嗎?現在映射開始有意義了。(忘了提……不是嗎!)
查看 NETRW 外掛的原始碼,看起來 netrw 緩衝區正在設置 BUFFER ONLY nnoremaps ……當然,它會覆蓋你的。我正在尋找解決方案。
據我所知,你必須對 $VIMRUNTIME/autoload/netrw.vim 文件進行一些大手術,這會使升級變得很痛苦,並且會在你漂亮乾淨的地板上噴出 netrw 映射。但另一個想法讓我印象深刻:
netrw 外掛在打開緩衝區時將文件類型設置為“netrw”,因此您可以在 .vimrc 中設置一個自動命令,以便在 netrw 視窗中根據需要設置所需的鍵轉換。
augroup netrw_dvorak_fix autocmd! autocmd filetype netrw call Fix_netrw_maps_for_dvorak() augroup END function! Fix_netrw_maps_for_dvorak() noremap <buffer> d h noremap <buffer> h gj noremap <buffer> t gk noremap <buffer> n l noremap <buffer> e d noremap <buffer> l n " and any others... endfunction
由於您無法連接地圖命令,因此必須這樣做。應該為你工作。
我想如果您始終使用 dvorak noremap,那麼您可以刪除 <buffer> 修飾符。