im Einfügemodus (VIM) speichern


34

Ich bin neu in vim,

Normalerweise möchte ich speichern und im Einfügemodus bleiben, anstatt zu drücken escape, :wund wieder in den Einfügemodus zurückkehren.


2
Ich denke, es sollte hier bleiben. Die meisten vim-Fragen werden auf SO gestellt, und wenn Sie anfangen, sie auf mehrere Sites aufzuteilen, können Sie nur einem Benutzer mehr Arbeit bei der Suche nach ihnen auf allen drei Sites geben. Vim ist auch ein Editor, der häufiger auf den Computern von Programmierern zu finden ist, als auf denen von durchschnittlichen (oder Super :) Benutzern.
Turm

Genau. SO hat 1.199 Fragen mit dem Tag vim. SU hat 106.
Zen

Antworten:


38

Ctrl+O, dann :wund Enter.


Ja, so würde ich es auch machen.
David Wolever

2
Welches ist eigentlich komplizierter als der übliche Weg, IMHO.
Turm

@Idigas: warum ist das so?
Akira

2
Es ist die gleiche Anzahl von Tastenanschlägen, scheint aber nicht sehr vimisch.
Seamus Connor

32

Sie können einen Alias ​​wie inoremap <F3> <c-o>:w<cr>in Ihnen hinzufügen .vimrc.


4

Ohne sich in eine Debatte über die richtige oder die falsche Art und Weise, wenn Sie eine grafische Vim wie MacVim oder GVim verwenden, sollten Sie in der Lage sein zu verwenden Cmd- soder Ctrl- sfür die Rettung. Ich kann sagen, dass es unter OS X mit MacVim und Cmd- funktioniert und sSie Ihre Inhalte im Einfügemodus speichern können.


2

Abgesehen von dem Vorschlag, den Juliano erwähnte (der herausgenommen und erschossen werden sollte - der Vorschlag, nicht Juliano), ist es wirklich DER FALSCHE WEG, ES ZU TUN. Es wäre eigentlich "normaler", alles vom Befehlsmodus aus zu versuchen, anstatt einzufügen. Aber sie austauschbar zu verwenden ist der übliche Weg für Vims und wenn man es nicht mag, sollte man sich wirklich von Vims fernhalten.

Wenn Sie es wirklich nicht mögen, nicht aus dem I-Modus zu speichern, kann ich einen Editor namens Cream vorschlagen - es ist eine Variante von vim, die auf eine Art und Weise modifiziert wurde, die die heutigen Editoren emuliert (sozusagen bleibt sie alle im I-Modus) die Zeit und hat übliche Windows-Verknüpfungen).


1
Obwohl ich der allgemeinen Regel zustimme, glaube ich nicht, dass sie für diesen Fall gilt. Wenn Sie nur einen langen Text schreiben und häufig speichern möchten, ist es nicht so schlimm, eine Taste <Co> zuzuordnen: w <CR>.
Matteo Riva

@ Michael Krelin ... - Ich stimme zu. Aber er sagte, er wolle den Einfügemodus, also ist er da. Persönlich dachte ich anfangs darüber nach, Notepad2 (oder eine andere spezielle Variante) vorzuschlagen, aber das wäre nur als nicht beantwortete Frage abgelehnt worden.
Turm

@kemp - Nein. Wenn Sie einen langen Text schreiben und häufig speichern möchten, nutzen Sie die Funktionen von vim in Bezug auf: Backup, Writebackup und Swapfile (Sie können: jedem von ihnen helfen, um Einzelheiten zu erfahren). Vim ist - so wie es ist -, und obwohl ich (wie alle anderen) hin und wieder ein bisschen Anpassungen mag, ist es einfach falsch, zu versuchen, mehrere Modi zu vermeiden. Und es wird nicht gut enden. Dann lieber etwas anderes verwenden. Immerhin gibt es heutzutage einige ziemlich leistungsfähige alternative Editoren.
Turm

Nun, ich verstehe nicht, wie seine Verwendung des Einfügemodus (wir alle verwenden ihn!) seinen Wunsch impliziert, den Rest seiner Vim-Sitzung darin zu verbringen. Ich persönlich habe ein Mapping für <F2> in beiden Modi, nur weil ich, seit ich Ende der 80er Jahre eine verrückte Tastatur hatte, nicht verlernen kann, ab und zu beim Editieren <F2> zu drücken ;-)
Michael Krelin - Hacker

4
Ich habe es als "Ich möchte den Einfügemodus nicht verlassen, nur um die Datei zu speichern" gelesen.
Michael Krelin - Hacker

1

Ich kann der Antwort von @ Tordek wegen mangelnder Reputation keinen Kommentar hinzufügen :) Daher ergänzend zu seiner Antwort:

inoremap <F2> <C-\><C-o>:w<CR>

Durch Hinzufügen <C-\>wird verhindert, dass der Cursor um ein Zeichen nach links bewegt wird.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.