Gelegentlich streift mein kleiner Finger den '
Schlüssel, während er nach dem Eingang greift , was dazu führt :w'<Enter>
.
Ich habe es versucht:
cabbrev w' :w
cabbrev w\' :w
cabbrev "w'" :w
Keiner von ihnen funktioniert. Gibt es einen Weg zum Alias :w'
zu :w
?
Ich verwende auch cmdwin ( :help cmdwin
+ nnoremap : :<C-F>
) anstelle der normalen Befehlszeile, also Bonuspunkte, wenn es auch dort funktioniert.
Antworten:
Wie Peter Rincker betont, kann
cmap
s auch an anderen Orten expandieren, dahercnoreabbrev
wäre a besser :Oder, am sichersten, nochmals danke an Peter:
Durch explizite Überprüfung, ob die Befehlszeile nur enthält
w'
, können unerwünschte Erweiterungen in Situationen vermieden werden.Sie können verwenden
cmap
:Sie müssten noch drücken Enter, aber ein Unfall
'
sollte jetzt ignoriert werden.Wenn Sie verwenden
cmdwin
, kann eininoremap
Satz vonautocmd
nützlich sein:quelle
:cmap w' w
, aber es gab keine Verhaltensänderung.:w'
führt immer noch zum Schreiben in eine Datei mit dem Namen'
."'" [New] 0L, 0C written
.'
tatsächlich angezeigt , wenn Sie es danach drückenw
? Es sollte nicht sein, wenn dascmap
erfolgreich erstellt wurde - eine cmap LHS wird automatisch mit dem RHS ausgefüllt. Wenn Sie also a drücken'
, sollte es immer noch nur angezeigt werdenw
.cmap
undcabbrev
. Sie werden in anderen Modi und an anderen Orten ausgeführt / erweitert. zB:s/'follow'/foo
und/'follow'
. Bitte beachten Sie die folgende vim Änderung: x Funktion zum Löschen von Puffer anstelle von Speichern und Beenden oder verwenden Sie cmdalias.vimcnoreabbrev <expr> w' getcmdtype() == ":" && getcmdline() == "w'" ? "w" : "w'"
'
immer noch angezeigt, aber ich habe gerade herausgefunden, dass ich cmdwin zur Eingabe von Befehlen verwende und cmdwin nur ein regulärer Puffer ist.cmap/cnoreabbrev
Arbeiten Sie also nicht dort. Aktualisieren der Antwort mitnoreabbrev
Option für cmdwin-Benutzer. :) Vielen Dank!!!Diese Methode funktioniert bei mir:
Alternativ können Sie Ihr vim so einrichten, dass der aktuelle Puffer gespeichert wird, wenn Sie zweimal Esc drücken, z
Oder verwenden Sie die folgende Zuordnung, um die Datei entweder mit Ctrl+ soder zu speichern F2:
Hinweis: F2 speichert nur bei Bedarf und versetzt den Benutzer nach Bedarf in den Einfügemodus (oder stellt seine visuelle Auswahl wieder her).
Quelle: Speichern einer Datei bei vim wikia
Oder verwenden Sie die folgenden Alternativen:
:up
(:update
) für:w
:q
:wq
oder:x
quelle
:w'
nicht:w
. Ich möchte verwenden,:w
ohne versehentlich zu schlagen'
, was eine Datei schreibt, die ich dann mussrm \'
. Gute Tipps.