Vim für Windows - Was gebe ich ein, um eine Datei zu speichern und zu beenden?

265

Mit Windows XP Ich habe versehentlich getippt git commit -astatt git commit -am "My commit message", und jetzt mit der Dateiversion meiner Commitnachricht meiner CMD Prompt gefüllt ich sehe ( „Bitte geben Sie die Commit - Nachricht für Ihre ...“). Ich habe meine Nachricht oben hinzugefügt, aber jetzt kann ich nicht herausfinden, wie ich speichern und verlassen soll. Ich habe versucht, Ctrl+ W+ zu drücken Q, aber es macht nichts, sondern fügt hinzu, ^wo sich der Cursor befindet.

Ich habe es auch Esczuerst versucht und dann Ctrl+ W+ Q, aber es heißt No write since last change (add ! to override).

Orokusaki
quelle
13
Oh, es ist so eine Erleichterung, dass ich nicht der einzige bin, der daran hängen geblieben ist.
Tomáš Zato - Wiedereinsetzung Monica
1
Mögliches Duplikat von Wie beende ich den Vim-Editor?
Peter Mortensen

Antworten:

515

Drücken Sie, ESCum sicherzustellen , dass Sie aus dem Bearbeitungsmodus und geben Sie dann:

:wq
Nunopolonia
quelle
6
@ User789 für etwas Bestimmtes oder allgemeines? Wenn Sie nach generischen Befehlen suchen, versuchen Sie diese Website: viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
Nunopolonia
1
Sie hätten dies wirklich als Kommentar hinzufügen können, damit Tausende von uns nicht für drei Charaktere aus dem Terminal geschickt wurden !! Aber ich denke, Nunopolonia ist froh, dass sie es nicht getan haben =)
Casey Murray
Denken Sie daran , dass Sie möglicherweise stecken bleiben und denken, dass dies nicht funktioniert , wenn Sie mehrere Tastaturlayouts haben und vergessen, dass Sie kein englisches Tastaturlayout verwenden . Ich hoffe, ich habe jemandem geholfen, keine Zeit wie ich zu verschwenden.
Djuka
3
Gott sei Dank habe ich das gefunden. Im Ernst, es hätte nicht geschadet, nur diese eine Richtung zum Bildschirm "Enter Commit Message" hinzuzufügen?
Voidzero
52

Anstatt Ihnen zu sagen, wie Sie einen bestimmten Befehl ausführen können ( Esc:wq), kann ich Ihnen zwei Links bereitstellen, die Ihnen bei VIM helfen können:

Der beste Weg, um Vim zu lernen, besteht darin, es nicht nur für Git-Commits zu verwenden, sondern auch als regulären Editor für Ihre tägliche Arbeit.

Wenn Sie nicht zu Vim wechseln, ist es Unsinn, die Befehle im Auge zu behalten. In diesem Fall richten Sie Ihren bevorzugten Editor für die Verwendung mit Git ein .

eckes
quelle
+1 für diese wirklich hilfreiche Antwort. Ich bevorzuge Emacs und dank Ihres Links muss ich nicht nach einer Lösung googeln.
Keks Dose
+1 für die Erklärung zu VIM und wie ich meinen eigenen Editor
einrichte
Es ist besser zu lehren, wie man fischt, als ihm einen Fisch zum Essen zu geben. Vielen Dank.
Matrix
Der beste Weg, um die Frage zu beantworten, die hätte gestellt werden sollen. Thx
moemen.ahmed
HTML-Link ist defekt.
Naxos84
35

EscUm sicherzustellen, dass Sie den Einfügemodus verlassen, :wqklicken Sie auf (Doppelpunkt wq) oder ZZ(Umschalt-Z Umschalt-Z).

kurzlebig
quelle
2
Hat noch jemand bemerkt, wie viel einfacher das Shift-Z Shift-Zist als der andere? Übrigens, wird irgendetwas jemals weniger intuitiv? Oh ja, ich bin ein Bürger von Windows!
Ifedi Okonkwo
30
  • Drücken Sie ioder a, um in den Einfügemodus zu wechseln, und geben Sie die Nachricht Ihrer Wahl ein

  • Drücken Sie ESCmehrmals, um den Einfügemodus oder einen anderen Modus zu verlassen, in den Sie möglicherweise versehentlich geraten sind

    • zu speichern :wq, :xoderZZ

    • zu beenden, ohne zu speichern, :q!oderZQ

So laden Sie eine Datei neu und machen alle vorgenommenen Änderungen rückgängig ...:

Mehrmals drücken ESCund dann eingeben :e!.

sjas
quelle
10

Ein schnellerer Weg zu

  • sparen
  • und beenden

wäre

:x

Wenn Sie mehrere Dateien geöffnet haben, müssen Sie möglicherweise eine

:xa
Fabian Schuh
quelle
Beachten Sie Folgendes: x schreibt nur Dateien, die sich geändert haben.
Simon Richter
5

:q! erzwingt einen bedingungslosen No-Save-Exit

Marc B.
quelle
6
Dies sollte ein Kommentar sein. Es ist sehr relevant, beantwortet aber die Frage nicht. Im Gegenteil, es handelt sich um einen Befehl, der das Gegenteil von dem tut, wonach gefragt wird. Relevant, aber keine Antwort
Rune FS
0

Verwenden:

:wq!

Das Ausrufezeichen wird zum Überschreiben des schreibgeschützten Modus verwendet.

Hedego
quelle