![Ordnen Sie in vim im Normalmodus die Escape-Taste :q zu](https://rvso.com/image/1449094/Ordnen%20Sie%20in%20vim%20im%20Normalmodus%20die%20Escape-Taste%20%3Aq%20zu.png)
Ich verwende vim als Viewer in Midnight Commander und möchte eine Datei schnell anzeigen und schließen. Wie kann ich die Escape-Taste :q
im normalen Modus zuordnen, sodass vim nur beendet wird, wenn nichts geändert wird?
Antwort1
Um dies nur für die aktuelle vim
Sitzung zu tun, geben Sie die folgenden Befehle (in vim
) ein. (Leerzeichen wurden der Übersichtlichkeit halber hinzugefügt. Geben Sie kein Leerzeichen ein, außer an den von mir angegebenen Space.)
: m a p Space Ctrl+ V Esc Space : q Ctrl+V Enter Enter
Um dies nur für den Rest der aktuellen Terminalsitzung zu tun, geben Sie die folgenden Befehle ein (im Terminal, d. h. in der Shell). (Zeilenumbrüche wurden der Übersichtlichkeit halber hinzugefügt. Geben Sie das Folgende in einer Zeile ein; geben Sie nichts anderes ein Enterals die von mir angegebenen Enter.)
E X I N I T =
" : m a p Space Ctrl+ V Esc Space : q Ctrl+V Enter " Enter
und dann
export EXINIT
Enter
Um die Änderungen „permanent“ zu machen (d. h. bis Sie die Dateien wieder ändern), fügen Sie die obigen Befehle (das EXINIT="…"
und export EXINIT
) in Ihr .bash_profile
und/oder ein .bashrc
. (Sie können sie in derselben Zeile zusammenfassen und durch trennen ;
. Sie können dies möglicherweise abkürzen, indem Sie sie zu kombinieren export EXINIT="…"
.) Dies wird erst wirksam, wenn Sie sich erneut anmelden oder möglicherweise eine neue Shell starten, es sei denn, Sie geben einfach die EXINIT
Befehle oder source
die Datei ein, in die Sie die EXINIT
Befehle eingefügt haben.
Notiz:Wenn Sie Bash nicht als Ihre primäre Shell verwenden, müssen Sie möglicherweise das oben genannte für Ihre Shell ändern.
Versuchen Sie alternativ, den :map …
Befehl in Ihre .exrc
Datei einzufügen.
Falls dies nicht offensichtlich ist,
:KarteZeichenfolge 1 Zeichenfolge 2
(in vi
/ vim
) erstellt eine Zuordnung (Übersetzung), so dass der Editor beim Eintippen (im Befehlsmodus) so reagiert, als hätten Sie eingegeben . Und + ist das Super-Escape-Zeichen, das sowohl / als auch der Shell (eigentlich wahrscheinlichstring1
string2
CtrlVvi
vim
alleProgramme (oder zumindest die meisten von ihnen), dass das folgende Zeichen als wörtliches Textzeichen und nicht als Steuerzeichen interpretiert werden soll. Beachten Sie, dass Ctrl+ Vgefolgt von Enter
einem Wagenrücklaufzeichen ergibt, das oft als angezeigt wird ^M
; in einem jedoch als interpretiert wird .:map
string2
Enter