我最近開始學習 Vim,我不喜歡 Vim 中分割視窗的預設鍵映射。也就是說,我不喜歡輸入 Cw,然後輸入 S 表示水平,v 表示垂直,然後通過 Cw jkhl 或上下左右移動焦點。
我希望在正常模式下使用“h”進行水平分割,使用“v”進行垂直分割,而無需輸入 Cw。如何才能做到這一點?而且,有誰知道在 Windows 中改變焦點的合理配置,因為我不確定如果沒有 Cw 這是否有意義。
謝謝。
答案1
這不是一個好的答案,因為我不記得我從哪裡得到這些,但在我的_vimrc
(.vimrc
在 Windows 上)
此批次在緩衝區之間移動,即Alt right arrow
移動到下一個緩衝區右側等
nmap <silent> <A-Right> :wincmd l<CR>
nmap <silent> <A-Up> :wincmd k<CR>
nmap <silent> <A-Down> :wincmd j<CR>
nmap <silent> <A-Left> :wincmd h<CR>
更新
Vim 使用前導鍵的概念,即一個標準鍵後面跟著另一個鍵,以使命令更容易。看:h <Leader>
。在我使用的預設安裝中,它預設為退格鍵,let mapleader = ","
因為我發現,sw(leftarrow)
比backspace(leftarrow)
.它的意思是例如nmap <leader>q :q!<cr>
意味著鍵入,q
退出當前緩衝區而不保存它。
結束更新
這些命令使用以下命令將 vim 命令重新映射為較短的命令,leader
例如,在緩衝區的左上角創建新緩衝區,使用leader>sw<left>
where<left>
表示向左箭頭
nmap <leader>sw<left> :topleft vnew<CR>
nmap <leader>sw<right> :botright vnew<CR>
nmap <leader>sw<up> :topleft new<CR>
nmap <leader>sw<down> :botright new<CR>
nmap <leader>s<left> :leftabove vnew<CR>
nmap <leader>s<right> :rightbelow vnew<CR>
nmap <leader>s<up> :leftabove new<CR>
nmap <leader>s<down> :rightbelow new<CR>