2010-11-07 6 views

Antwort

10

Vim ermöglicht Befehle in allen Modi einschließlich Kommandozeilen-Modus Tastenzuordnungen hinzuzufügen, so können Sie diese Zuordnungen definieren (in Ihrem .vimrc):

:cnoreabbrev wq w<bar>bd 
:cnoreabbrev q bd 

Die Befehle Vim sagen, dass das Drücken wq in der Befehlszeile muss in w|bd und in ähnlicher Weise q in bd erweitert werden. Weitere Informationen finden Sie unter :help key-mapping.

+13

-1. Bitte verwenden Sie 'cnoremap' nicht dafür! Dies erweitert q in jedem Befehl. Zum Beispiel wird ': set cscopequickfix' auf': set cscopebduickfix' erweitert. Verwenden Sie stattdessen ': cnoreabbrev'! Siehe dazu die Hilfe. – Benoit

+0

Ihre erste cnoremap wird nicht funktionieren. Die Zeile weist Vim an, den Befehlsmodus wq an w neu zuzuordnen und dann den aktuellen Puffer zu schließen - und nicht wq an w | bd zu binden. Benoits Beschwerden sind auch gültig, aber Sie können tun: cnoremap wq w bd - dies wird wie erwartet funktionieren. – Sarah

+4

Sarah, nein. Immer noch "cnoreabbrev" ist besser, denn wenn Sie Ihre Datei als 'alles enden mit wq' schreiben möchten, wird die Abkürzung nicht ausgelöst, es sei denn, der Dateiname ist genau wq. – Benoit

Verwandte Themen