In meinem Terminal kann ich nicht Ctrl+ eingeben W, da dies eine Verknüpfung zum Schließen einer Terminalregisterkarte ist.
Ich arbeite gerne mit Splits, aber ich kann keinen Weg finden, dies ohne zu tun C-W
. Dies zwang mich Tabs zu verwenden, weil ich zwischen ihnen umschalten kann gt
, gT
oder #gt
wobei # eine Zahl ist , aber ich finde dies weniger bequem als Splits , da ich nur den Inhalt einer Datei auf einmal sehen kann.
Ich kann auch nicht verwenden, mouse=a
da mein Terminal das nicht unterstützt.
Wie kann ich mit Splits in Vim arbeiten, ohne dass die Ctrl+ W-Kombination verfügbar ist?
key-bindings
vim-windows
split
Mateon1
quelle
quelle
wincmd
für Sie können zum Beispiel zuordnen::nmap wj :wincmd j<cr>
Es verhält sich wieCTRL-W j
(in das Fenster unten verschieben).:help wincmd
CTRL-W j
funktioniert mit zählern (gehe zum n-ten fenster unten vom aktuellen) meine lösung nicht.<C-W>
Es ist zu nützlich, eine Abkürzung (nicht nur an vielen Stellen in Vim, sondern auch in Bash) zu verlieren. Ich wäre gespannt, welche anderen Tastenbelegungen das Terminal verbraucht -<C-T>
? Zumindest würde ich prüfen, ob diese im Terminal konfigurierbar sind.Antworten:
Sie können einfach eine
<C-w>
andere Kombination zuweisen , zum Beispiel:Sie können jetzt verwenden
<C-e>
und es wird so tun, als ob Sie gedrückt haben<C-w>
.Dadurch wird die Standardzuordnung überschrieben
<C-e>
(Bildlauf nach unten). Vim verwendet bereits alle Tasten auf der Tastatur. Die einzige Möglichkeit, dies zu verhindern, ist die Verwendung der Führungstaste, die wie ein "Präfix" wirkt:Sofern Sie keine Neuzuordnung vorgenommen haben
<Leader>
, können Sie jetzt\w
(nacheinander) verwenden. Eigentlich bevorzuge ich das, da mir STRG + Tastenkombinationen nicht gefallen.Siehe Was ist <Anführer>? und Wie kann ich herausfinden, auf was <Leader> eingestellt ist? Und ist es möglich, <Anführer> neu zuzuordnen? .
quelle
Ich benutze eigentlich
:wincmd
öfter als Ctrl+, Wweil ich es einfacher finde, die Abkürzung einzugeben:winc
.Zum Beispiel kann die äquivalent Ctrl+ W List
:winc l
.quelle
Ich habe die folgenden Remaps in meinem eingerichtet
.vimrc
:Jetzt kann ich
Ctrl+h
zum linken Fenster,Ctrl+l
zum rechten Fenster usw. wechseln. Es scheint nur logisch mit der normalen Navigation von Vim übereinzustimmen.quelle
nnoremap <cr> <c-w>w
, da die Eingabetaste im normalen Modus nicht häufig verwendet wird. Dann ist es mühelos, durch die Spalten zu radeln.Um mit Splits umzugehen, benutze ich das Submode-Plugin, das eigentlich ziemlich praktisch ist: Es erlaubt Ihnen, einen neuen Modus ("Modus" wie im normalen Modus, im visuellen Modus, im Einfügemodus usw.) zu erstellen, in dem Sie neue Tastenkombinationen definieren .
Damit musst du nicht mehr benutzen Ctrl+wund da du dich in einem neuen Modus befindest, sind alle Tasten frei zum Binden: keine Probleme mehr wie "Verdammt, ich kann keine Tastenkombination finden, die als Bedeutung dient und noch nicht zugeordnet ist "
Sie können das Plugin mit jedem normalen Plugin-Manager installieren. Hier sind einige meiner Konfigurationen, die Sie inspirieren sollen:
Ich habe einen neuen Modus erstellt,
WindowsMode
in dem ich meine Splits manipuliere:Diese Zeilen bedeuten, dass ich mit in den Modus eintrete Leaderkund mit den Modus verlasse Leader: Nachdem ich Leaderkalle Tasten gedrückt habe, tippe ich auf:
Sobald ich in
WindowsMode
diesen Zeilen bin , hjklnavigiere ich gerne durch die SplitsCtrl+whjklIch habe diese Zeilen benutzt, um die Fenster mit /und zu teilen !:
Und qschließen Sie eine Trennung:
Verschieben Sie die Splits mit Ctrlhjkl:
Der Vim-Sub-Modus ermöglicht viele leistungsstarke Funktionen. Weitere Informationen finden Sie im Dokument .
EDIT Ein weiterer Ansatz des Window submode beschrieben hier . Ich denke, die vom Autor verwendete Methode ist noch näher, um die Frage zu beantworten: Hier wird ein neuer Modus erstellt, aber alle
<c-w>something
Zuordnungen sind mit denselben Schlüsseln im Untermodus verfügbar:Auf diese Weise alle Zuordnungen
<c-w>lowerCaseKey
,<c-w>upperCaseKey
,<c-w><c-Key>
und die Zuordnungen<c-w>=_+-<>
sind alle mit im Fenstermodus ohne das Präfix<c-w>
quelle