Website-Suche

Wie man den Vi- oder Vim-Editor verlässt


Wichtige Erkenntnisse

  • Um vi oder vim zu verlassen, drücken Sie mehrmals die Esc-Taste, um in den Befehlsmodus zu gelangen, und geben Sie dann :q! ein und drücken Sie die Eingabetaste, um ohne Speichern der Änderungen zu beenden.
  • Um vi oder vim zu verlassen und Ihre Änderungen zu speichern, drücken Sie die Escape-Taste, um sicherzustellen, dass Sie sich im Befehlsmodus befinden, geben Sie dann :wq ein und drücken Sie die Eingabetaste.
  • Vi ist ein Modal-Editor, was bedeutet, dass das Bearbeiten im Einfügemodus und die Befehle im Befehlsmodus erfolgen. Wechseln Sie zwischen den Modi mit den Tasten Esc und "i".

Der vi-Editor ist verwirrend, wenn man nicht daran gewöhnt ist. Es erfordert ein geheimes Handzeichen, um aus dieser Anwendung zu entkommen, falls man darin gestrauchelt ist. So beendet man vi oder vim unter Linux, macOS oder einem anderen Unix-ähnlichen System.

Wie man Vim oder Vi sofort verlässt

Wenn Sie sich in vi oder vim befinden und herauskommen müssen – mit oder ohne das Speichern Ihrer Änderungen – so gehen Sie vor:

  • Drücken Sie zuerst mehrmals die Esc-Taste. Dies stellt sicher, dass vi sich nicht im Einfügemodus, sondern im Befehlsmodus befindet.
  • Zweitens, geben Sie :q! ein und drücken Sie die Eingabetaste. Dies sagt vi, dass es ohne Speichern von Änderungen beenden soll. (Wenn Sie Ihre Änderungen speichern möchten, geben Sie stattdessen :wq ein.)

Wenn Sie die Linux-Befehlszeile lernen möchten, müssen Sie viel mehr wissen als das. Lesen Sie weiter und wir zeigen Ihnen, wie vi funktioniert und warum die Anweisungen zum Beenden so ungewöhnlich sind. vi ist ein wichtiges, leistungsstarkes Werkzeug und der Lernaufwand ist es wert.

vi, der allgegenwärtige Editor

Weil vi überall ist, ist die Wahrscheinlichkeit groß, dass du damit konfrontiert wirst. Es kann sogar passieren, dass du versehentlich in vi landest. Vielleicht bittet dich jemand, auf seinem Linux-Computer nachzusehen. Du gibst einen Befehl wie crontab -e ein, und vi öffnet sich. Überraschung, jemand hat den Standardeditor für crontab auf vi konfiguriert.

Vielleicht verwalten Sie ein System, bei dem vi der einzige Editor ist oder der einzige, der über eine Remote-SSH-Sitzung funktioniert, und Sie müssen die .bashrc-Datei eines Benutzers bearbeiten.

Der Befehl zum Starten von vi und zum Öffnen einer Datei ist einfach. Geben Sie vi, ein Leerzeichen und dann den Dateinamen ein. Drücken Sie die Eingabetaste. Das Programm, das gestartet wird, könnte vi oder vim sein, ein 'verbessertes vi'. Es hängt von Ihrer Linux-Distribution ab – zum Beispiel verwendet Ubuntu vim. Alle Anweisungen in diesem Artikel gelten gleichermaßen für vim.

vi .bashrc

Der sofort bemerkbare Unterschied zwischen vi und anderen Editoren besteht darin, dass man beim Start von vi nicht einfach mit dem Eingeben von Text beginnen kann. Das liegt daran, dass vi ein modal editor ist. Das Bearbeiten erfolgt in einem Modus, dem Insert-Modus, und das Ausführen von Befehlen geschieht im Command-Modus. vi startet im Command-Modus.

Wenn Sie mit dem Konzept des Einfügemodus und des Befehlsmodus nicht vertraut sind, kann es verwirrend sein. Viele der Befehle, die Sie im Befehlsmodus eingeben können, wirken sich auf die Datei aus, in die Sie tippen. Wenn Sie sich im Befehlsmodus befinden, aber versehentlich versuchen, Text in Ihre Datei einzugeben, wird das nicht gut enden. Einige der Tastenanschläge, die Sie eingeben, werden als Befehle erkannt. Diese Befehle können dazu führen, dass Zeilen gelöscht oder geteilt werden, der Cursor bewegt wird oder Text gelöscht wird.

Und egal, was Sie eingeben, Sie können keinen Weg finden, den Editor zu verlassen oder zu beenden. In der Zwischenzeit wird Ihre Datei ziemlich durcheinandergebracht und die scheinbar zufälligen Pieptöne machen Sie verrückt.

Befehlsmodus und Einfügemodus

Sie müssen vi in den entsprechenden Modus wechseln, um das zu erreichen, was Sie vorhaben.

Der Befehlsmodus ist der Standardmodus, wenn vi gestartet wird. Es sei denn, Sie wissen es besser, werden Sie versuchen, zu tippen. Wenn Sie zufällig die 'i'-Taste oder eine der anderen 10 Tasten drücken, die den Einfügemodus aktivieren (a, A, c, C, I, o, O, R, s und S), sehen Sie plötzlich, was Sie eingeben. Sie sind jetzt im Einfügemodus.

Das mag wie Fortschritt erscheinen, bis Sie eine der Pfeiltasten drücken. Wenn Sie das tun, erscheinen A, B, C oder D als der einzige Buchstabe in einer ansonsten leeren neuen Zeile. Oben in der Datei.

Es ist in Ordnung, wir stehen hinter dir. Das ist überraschend einfach, wenn man weiß, wie es geht. Denk an diese beiden Tastenkombinationen: Esc bringt dich in den Befehlsmodus und "i" bringt dich in den Einfügemodus.

Sie müssen sich im Befehlsmodus befinden und den richtigen Befehl eingeben, um den Editor zu verlassen.

Gehe in den Befehlsmodus in Vi, um in Sicherheit zu gelangen.

Um den Befehlsmodus zu betreten, drücken Sie die Esc-Taste. Nichts Sichtbares wird passieren. Drücken Sie sie ein paar Mal mehr. Wenn Sie einen Piepton hören, während Sie die Escape-Taste drücken, befinden Sie sich im Befehlsmodus. Der Piepton sagt Ihnen: "Hören Sie auf, Esc zu drücken, Sie sind bereits im Befehlsmodus." Wenn Sie einen Piepton hören, wenn Sie Esc drücken, ist alles gut.

Tippe einen Doppelpunkt, den Buchstaben "q" und ein Ausrufezeichen, ohne Leerzeichen. Diese drei Zeichen sollten ganz links in der unteren Zeile des Terminals erscheinen. Wenn sie das nicht tun, drücke Esc, bis du einen Piepton hörst, und versuche es erneut. Drücke die Enter-Taste, wenn du sie sehen kannst:

:q!

In diesem Befehl steht q als Abkürzung für quit. Das Ausrufezeichen verstärkt die Aussage, sodass es wirkt, als würdest du vi ‚Quit!‘ zurufen. Das könnte dich ein wenig besser fühlen lassen.

Das Ausrufezeichen weist vi auch an, keine der Änderungen zu speichern, die Sie möglicherweise an der Datei vorgenommen haben. Wenn Sie in vi herumgestolpert sind und nicht wissen, was Sie tun, möchten Sie wahrscheinlich das Chaos, das Sie angerichtet haben, nicht speichern.

Sobald Sie wieder an der Kommandozeile sind, möchten Sie vielleicht sicherstellen, dass die Datei nicht verändert wurde. Sie können dies mit dem folgenden Befehl tun:

cat .bashrc | less

Wenn Sie vi verlassen, und eine Nachricht sehen, die sagt "kein Schreiben seit der letzten Änderung", bedeutet das, dass Sie das Ausrufezeichen im Befehl vergessen haben. Um zu verhindern, dass Sie die Sitzung beenden und Änderungen verlieren, die Sie möglicherweise behalten möchten, gibt Ihnen vi die Möglichkeit, diese zu speichern. Geben Sie einfach den Befehl :q! erneut mit dem Ausrufezeichen ein, um vi zu verlassen und alle Änderungen abzulehnen.

Wenn Sie sicher sind, speichern Sie Ihre Änderungen

Wenn Sie mit den Änderungen, die Sie an Ihrer Datei vorgenommen haben, zufrieden sind, können Sie das Programm verlassen und die Änderungen mit dem Befehl :wq (schreiben und beenden) speichern. Stellen Sie sicher, dass Sie vollständig zufrieden sind, dass Ihre Bildschirmänderungen in die Datei geschrieben werden sollen, bevor Sie fortfahren.

Tippen Sie einen Doppelpunkt, den Buchstaben w (schreiben) und den Buchstaben q (beenden). Drücken Sie die Eingabetaste, wenn Sie sie unten links im Terminal sehen können:

:wq

Das Lernen von vi lohnt sich.

Die Verwendung von vi ist ein bisschen wie das Spielen auf einem Klavier. Man kann sich nicht einfach hinsetzen und es benutzen; man muss ein wenig üben. Sich kalt hinzusetzen und zu versuchen, im Eiltempo zu lernen, während der Druck besteht, etwas zu bearbeiten, ist nicht der richtige Weg. Es macht so viel Sinn wie das erste Mal auf einem Klavier zu sitzen, gerade als der Vorhang für dein Eröffnungskonzert aufgeht.

Ein großer Teil der Kraft von vi kommt von seinen vielen Tastenkombinationen, die jeweils eine gängige Bearbeitungsaufgabe ausführen. Das ist großartig, aber Sie können nicht davon profitieren, bis Sie sie auswendig gelernt, geübt und sie Teil Ihres Muskelgedächtnisses geworden sind.

Bis dahin, wenn du dich in vi befindest und eine wichtige Datei ansiehst, gib einfach :q! ein und verlasse es elegant. Deine wichtige Datei wird es dir danken.