Website-Suche

8 interessante Tipps und Tricks zum „Vi/Vim“-Editor für jeden Linux-Administrator – Teil 2


Im vorherigen Artikel dieser Serie haben wir 7 Tipps und Tricks besprochen, die Sie zu Ihren VI/M-Kenntnissen hinzufügen können. Neben den zuvor genannten Gründen ist das Erlernen der effektiven Nutzung eines Texteditors unter Linux eine wesentliche Fähigkeit eines Systemadministrators oder Ingenieurs und eine erforderliche Kompetenz, um alle wichtigen Linux-Zertifizierungsprogramme (wie LFCS, LFCE, RHCSA und RHCE) zu bestehen. .

Das heißt, fangen wir an.

TIPP #8: Erstellen Sie horizontale oder vertikale Fenster

Dieser Tipp wurde von Yoander, einem unserer Leser, in Teil 1 geteilt. Sie können vi/m mit mehreren horizontalen oder vertikalen Unterteilungen starten, um separate Dateien im selben Hauptfenster zu bearbeiten:

Starten Sie vi/m mit zwei horizontalen Fenstern, mit test1 oben und test2 unten

vim -o test1 test2 

Starten Sie vi/m mit zwei vertikalen Fenstern, mit test3 links und test4 rechts:

vim -O test3 test4 

Sie können den Cursor mit der üblichen vi/m-Bewegungsroutine (h: rechts, l: links, j:) von einem Fenster zum anderen bewegen unten, k: oben):

  1. Strg+w k – oben
  2. Strg+w j – unten
  3. Strg+w l – links
  4. Strg+wh – rechts

TIPP Nr. 9: Ändern Sie Buchstaben, Wörter oder ganze Zeilen in GROSS- oder Kleinbuchstaben

Bitte beachten Sie, dass dieser Tipp nur in vim funktioniert. In den nächsten Beispielen ist X eine Ganzzahl.

  1. Um eine Reihe von Buchstaben in Großbuchstaben umzuwandeln, positionieren Sie den Cursor auf dem ersten Buchstaben, geben Sie dann gUX im ex-Modus ein und drücken Sie schließlich den Rechtspfeil auf der Tastatur.
  2. Um die Anzahl der X-Wörter zu ändern, platzieren Sie den Cursor am Anfang des Worts und geben Sie gUXw im ex-Modus ein.
  3. Um eine ganze Zeile in Großbuchstaben umzuwandeln, platzieren Sie den Cursor an einer beliebigen Stelle in der Zeile und geben Sie gUU im ex-Modus ein.

Um beispielsweise eine ganze Kleinbuchstaben-Zeile in Großbuchstaben umzuwandeln, sollten Sie den Cursor an einer beliebigen Stelle in der Zeile platzieren und gUU eingeben:

Um beispielsweise 2 Großbuchstaben in Kleinbuchstaben umzuwandeln, sollten Sie den Cursor am Anfang des ersten Wortes platzieren und gu2w eingeben:

TIPP Nr. 10: Löschen Sie im INSERT-Modus Zeichen, Wörter oder den Anfang einer Zeile

Während Sie im ex-Modus Zeichen oder mehrere Wörter gleichzeitig löschen können (d. h. dw, um ein Wort zu löschen), können Sie dies auch im Einfügemodus wie folgt tun:

  1. Strg + h: Löscht das vorherige Zeichen an der Stelle, an der sich der Cursor gerade befindet.
  2. Strg + w: Löscht das vorherige Wort an der Stelle, an der sich der Cursor gerade befindet. Damit dies ordnungsgemäß funktioniert, muss der Cursor an einer leeren Stelle nach dem Wort platziert werden, das Sie löschen möchten.
  3. Strg + U: Löscht die aktuelle Zeile beginnend mit dem Zeichen unmittelbar links von der Stelle, an der sich der Cursor befindet.

TIPP Nr. 11: Verschieben oder kopieren Sie vorhandene Zeilen in eine andere Zeile des Dokuments

Zwar können Sie im Ex-Modus die bekannten Befehle dd, yy und p zum Löschen, Ziehen (Kopieren) bzw. Einfügen von Zeilen verwenden, dies funktioniert jedoch nur, wenn der Cursor an der Stelle platziert ist, an der Sie diese Vorgänge ausführen möchten . Die gute Nachricht ist, dass Sie mit den Befehlen Kopieren und Verschieben dasselbe tun können, unabhängig davon, wo sich der Cursor gerade befindet.

Für das nächste Beispiel verwenden wir ein kurzes Gedicht mit dem Titel „Forever“ von Terri Nicole Tharrington. Zunächst lassen wir vim die Zeilennummern anzeigen (:set nu im Befehlsmodus – betrachten Sie dies als zusätzlichen Tipp). Wir werden :3copy5 (auch im Befehlsmodus) verwenden, um Zeile 3 unter Zeile 5 zu kopieren:

Machen Sie nun die letzte Änderung rückgängig (Esc + u – ein weiterer Bonustipp!) und geben Sie :1move7 ein, um Zeile 7 durch Zeile 1 zu ersetzen. Bitte beachten Sie, wie die Zeilen 2 bis 7 verschoben werden nach oben und die ehemalige Zeile 1 belegt nun Zeile 7:

TIPP Nr. 12: Zählen Sie die Übereinstimmungen, die sich aus einer Suche ergeben, anhand des Musters und wechseln Sie von einem Vorkommen zum nächsten

Dieser Tipp basiert auf dem Ersatzbefehl (Tipp #7 in Teil 1 dieser Serie), mit der Ausnahme, dass er nichts entfernt, da das Ersatzverhalten durch überschrieben wird die Option n, was zur Anzahl der Vorkommen des angegebenen Musters führt:

Achten Sie darauf, dass Sie keinen Schrägstrich weglassen!

:%s/pattern//gn 

Zum Beispiel,

:%s/libero//gn

Um im Ex-Modus von einem Vorkommen des Musters zum nächsten zu wechseln, drücken Sie n (Kleinbuchstabe N). Um zur vorherigen Instanz zu wechseln, drücken Sie N.

TIPP #13: Öffnen Sie vi/m direkt in einer bestimmten Zeile

Wenn Sie vi/m starten, wird der Cursor standardmäßig zunächst in der letzten bearbeiteten Zeile platziert. Wenn Sie das Programm öffnen und den Cursor direkt auf eine bestimmte Zeile setzen möchten, können Sie folgenden Trick anwenden:

vim filename +line_number

Öffnen Sie beispielsweise forever.txt und platzieren Sie den Cursor in Zeile 6:

vim forever.txt +6

Lassen Sie uns dieses Beispiel ein wenig optimieren. Angenommen, wir möchten die Datei in der Zeile öffnen, in der das dritte Vorkommen des Musters erscheint:

vim filename +$(grep -in pattern filename | sed -n 3p | cut -d: -f1)

Schauen wir uns genauer an, was der obige Befehl bewirkt:

  1. grep -in Musterdateiname – zeigt alle Zeilen ab Dateiname an, in denen das Muster vorkommt, mit der Zeilennummer am Anfang jeder Ausgabezeile.
  2. sed -n 3p – zeigt die dritte Zeile aus der Ausgabe der vorherigen Pipeline an.

Endlich,

  1. cut -d: -f1 gibt das erste Feld der vorherigen Pipeline zurück, wobei der Doppelpunkt (:) das Feldtrennzeichen ist.
grep -in forever forever.txt
grep -in forever forever.txt | sed -n 3p
grep -in forever forever.txt | sed -n 3p | cut -d: -f1

Das Ergebnis des vorherigen Befehls wird dann an vi/m übergeben, um das Programm in der angegebenen Zeile zu öffnen.

TIPP Nr. 14: Anpassen Ihrer VI/M-Umgebung

Wenn Sie vi/m zum Bearbeiten von Konfigurationsdateien oder zum Schreiben von Code verwenden, möchten Sie möglicherweise die Zeilennummern anzeigen können, wenn Sie das Programm zum ersten Mal öffnen, und die automatische Einrückung so einstellen, dass sie beim Drücken der Eingabetaste angezeigt wird > Taste drücken, wird der Cursor automatisch an der richtigen Position platziert. Darüber hinaus möchten Sie möglicherweise die Anzahl der Leerzeichen anpassen, die ein Tab einnimmt.

Sie können dies zwar jedes Mal tun, wenn Sie vi/m starten, es ist jedoch einfacher, diese Optionen in ~/.vimrc so festzulegen, dass sie automatisch angewendet werden:

set number
set autoindent
set shiftwidth=4
set softtabstop=4
set expandtab

Weitere Optionen zum Anpassen Ihrer VI/M-Umgebung finden Sie in der Online-VIM-Dokumentation.

TIPP Nr. 15: Holen Sie sich allgemeine Vim-Hilfe/-Optionen mit vimtutor

Wenn Sie zu irgendeinem Zeitpunkt Ihre allgemeinen vi/m-Kenntnisse auffrischen müssen, können Sie vimtutor über die Befehlszeile starten. Daraufhin wird eine vollständige vi/m-Hilfe angezeigt, auf die Sie beliebig oft zugreifen können ohne die Notwendigkeit, einen Webbrowser zu starten, um zu suchen, wie eine bestimmte Aufgabe in vi/m erledigt werden kann.

vimtutor

Beachten Sie, dass Sie im Inhalt von vimtutor navigieren oder ihn durchsuchen können, als würden Sie in einer regulären Datei in vi/m navigieren.

Zusammenfassung

In dieser aus zwei Artikeln bestehenden Serie habe ich mehrere vi/m-Tipps und -Tricks geteilt, die Ihnen dabei helfen sollen, Text mit Befehlszeilentools effektiver zu bearbeiten. Ich bin mir sicher, dass Sie noch weitere haben – teilen Sie sie also gerne mit dem Rest der Community, indem Sie das untenstehende Formular verwenden. Wie immer sind auch Fragen und Kommentare willkommen.