Ich habe vor Kurzem angefangen, Vim zu lernen, und mir gefällt die Standard-Tastenbelegung zum Teilen von Fenstern in Vim nicht. Das heißt, ich gebe nicht gern Cw und dann S für horizontal und v für vertikal ein und verschiebe den Fokus nicht mit Cw jkhl oder hoch-runter, links-rechts.
Ich möchte im Normalmodus „h“ zum horizontalen Teilen und „v“ zum vertikalen Teilen haben, ohne Cw einzugeben. Wie kann das gemacht werden? Und kennt außerdem jemand eine einigermaßen vernünftige Konfiguration zum Ändern des Fokus in Fenstern, denn ich bin nicht sicher, ob das ohne Cw Sinn ergibt.
Danke.
Antwort1
Dies ist keine gute Antwort, da ich mich nicht erinnern kann, woher ich diese habe, aber in meinem _vimrc
( .vimrc
unter Windows)
Diese Menge bewegt sich zwischen Puffern, d. h. Alt right arrow
bewegt sich zum nächsten Puffer rechts usw.
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>
Aktualisieren
Vim verwendet ein Konzept mit einem Leader, also einer Standardtaste, gefolgt von einer oder mehreren weiteren Tasten, um Befehle einfacher zu machen. Siehe :h <Leader>
. In der Standardinstallation, die ich verwende, ist die Rücktaste standardmäßig aktiviert, let mapleader = ","
da ich dies ,sw(leftarrow)
einfacher finde als backspace(leftarrow)
. Das bedeutet beispielsweise, dass nmap <leader>q :q!<cr>
beim Eintippen ,q
der aktuelle Puffer ohne Speichern verlassen wird.
ENDE des Updates
Diese Befehle ordnen vim-Befehle einem kürzeren Befehl zu, indem sie den leader
Befehl verwenden. Um beispielsweise einen neuen Puffer oben links in Ihren Puffern zu erstellen, verwenden Sie, leader>sw<left>
wobei <left>
der linke Pfeil bedeutet
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>