Nachdem ich fast jedes Mal etwas in Großbuchstaben eingegeben habe, vergesse ich, die Großbuchstaben zu deaktivieren, wenn ich zum normalen Modus zurückkehre. Ich versuche dann, den Cursor zu bewegen und verbinde dann ein paar Zeilen und viele andere Dinge, von denen ich nicht erwarte, dass sie passieren.
Ist es möglich, vim so zu konfigurieren, dass die Feststelltaste deaktiviert wird, wenn ich die Escape-Taste drücke, um in den normalen Modus zu wechseln?
Wenn es betriebssystemspezifische Lösungen gibt, interessieren mich diejenigen, die für Linux gelten.
normal-mode
drs
quelle
quelle
Antworten:
Antworten auf diese Frage weisen darauf hin, dass dies nicht wahrscheinlich ist. Vim hat keinen Zugriff auf das Betriebssystem, um diesen Anruf zu tätigen.
Sie können jedoch versuchen, Ihr Verhalten so zu ändern, dass keine Feststelltaste erforderlich ist. Es ist ein beliebter Schlüssel für die Zuordnung zu Ctrl,Esc oder Meta.
Vim hat den gUOperator, eine Auswahl oder Bewegung in Großbuchstaben zu schreiben. Vielleicht können Sie also normal tippen und diese anschließend verwenden. Ebenfalls relevant: guin Kleinbuchstaben und~ Umschalten.
Es gibt auch Möglichkeiten zur automatischen Vervollständigung, wodurch Sie möglicherweise weniger tippen müssen
VERY_LONG_MACRO_NAMES
.quelle
Ich habe mein Capslock neu zugeordnet, um CTRL zu sein, und ich verwende selten mehr Capslock. Für vim, wenn ich es jemals brauche, haben Sie tpope / vim-capslock als temporäres Software-Capslock für Sie. Wenn Sie dies verwenden, sollte es ziemlich einfach sein, eine Autocmd für das Ereignis
InsertLeave
einzurichten und die Feststelltaste zu deaktivieren.quelle
Ich habe eine Möglichkeit gefunden, die Feststelltaste im normalen Modus automatisch zu deaktivieren (obwohl dies nur unter Linux funktioniert).
Die Lösungen, die mit Plugins erstellt wurden, berücksichtigen nicht, dass Sie den normalen Modus auf mehrere Arten aufrufen können (dh von Einfügen zu Normal), beispielsweise vom Befehlsmodus.
Es gibt kein Autocommand-Ereignis, das beim Aufrufen des normalen Modus aktiviert wird. Daher war das von mir verwendete
CursorHold
Ereignis ein Ereignis, das aktiviert wird, wenn Sie nicht im normalen Modus tippen.Sie stellen die Aktualisierungszeit auf einen sehr kleinen Wert ein, damit sie immer aktiviert wird, bevor Sie die Möglichkeit haben, etwas einzugeben.
quelle
Eine andere Option ist die Neuzuordnung CapsLockvon Esc. Dies ist eine Zuordnung, die ich seit ein paar Jahren verwende: Sie CapsLockbefindet sich in einer Startreihe, ist also sehr einfach zu verwenden, wenn Sie die Eingabe berühren. Es fördert auch die ordnungsgemäße Verwendung von Vim, da das Verlassen des Einfügemodus viel einfacher ist (der Schlüssel ist näher als Esc).
Die Neuzuordnung ist einfach: Linux unterstützt dies von Haus aus. Dazu gibt es kleine Apps für Mac OS X und Windows. Einige teure Tastaturen sind sogar mit einer Funktion ausgestattet, mit der Tasten neu zugeordnet werden können.
quelle
Zusätzlich zur Antwort von Avian Y gibt es tatsächlich einen automatischen Befehl, der das Verlassen des Einfügemodus aktiviert:
Das war auch genau das, wonach ich gesucht habe ...
quelle
Auf meinem Apple-Computer habe ich diese Funktion mithilfe von Karabiner implementiert , was ziemlich gut funktioniert hat. Leider ist Karabiner 10.12 kaputt gegangen, und ich habe seitdem nicht mehr versucht, es zu implementieren.
Ich hatte es also mit der Escape-Taste oder der Enter-Taste deaktiviert, falls es vorher aktiviert war.
Wenn Sie MacOS mit 10.11 oder neuer verwenden, können Sie dies auf jeden Fall tun (fragen Sie mich jedoch nicht nach den Einstellungen, ich habe sie nicht mehr).
Ansonsten würde ich mit dem vorgeschlagenen gehen
gU
. (Auch wenn ich Ihre Beschwerden verstehen kann, dass Sie nicht dieselbe Methode verwenden können, die Sie in jedem anderen Texteditor verwenden würden.)quelle
Im vim-Hilfehandbuch gibt es eine hübsche Zuordnung, um im Einfügemodus ein Wort in Großbuchstaben zu schreiben:
Es wird verwendet ctrl-h, was normalerweise nur ein Backspace-Klon ist, sodass Sie mit diesem Mapping nichts wirklich verlieren.
Feststelltaste ist ein Albtraum, wenn Sie im normalen Modus sind! Ich hoffe das hilft!
quelle