Website-Suche

Vim für Linux-Admins: 8 leistungsstarke Tipps und Tricks (Teil 2)


Im vorherigen Artikel dieser Serie haben wir 7 Tipps und Tricks besprochen, die Sie zu Ihren vi/m-Fähigkeiten hinzufügen können. Neben den zuvor genannten Gründen ist das Erlernen der effektiven Verwendung eines Texteditors in Linux eine wesentliche Fähigkeit für einen Systemadministrator oder Ingenieur und eine erforderliche Kompetenz, um ein größeres Linux-Zertifizierungsprogramm (wie LFCS, LFCE, RHCSA und RHCE).

Das heißt, fangen wir an.

8. Erstellen Sie horizontale oder vertikale Vim-Fenster

Diesen Tipp hat Yoander, einer 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 auf der linken Seite und test4 auf der rechten Seite:

vim -O test3 test4 

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

  • Strg+w k – oben
  • Strg+w j – unten
  • Strg+w l – links
  • Strg+w h – rechts

9. Ändern Sie GROSS- oder KLEINBUCHSTABEN in Vim

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

  • Um eine Reihe von Buchstaben in Großbuchstaben zu ändern, 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.
  • Um die Anzahl von X Wörtern zu ändern, platzieren Sie den Cursor am Anfang des Wortes und geben Sie gUXw im Ex-Modus ein.
  • 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 Zeile in Kleinbuchstaben 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 an den Anfang des ersten Wortes setzen und gu2w eingeben:

10. Löschen Sie Text im Vim-Einfügemodus

Während Sie im Ex-Modus (dw zum Löschen eines Wortes) Zeichen oder mehrere Wörter auf einmal löschen können, können Sie dies auch im Einfügemodus wie folgt tun:

  • Strg + h: Löschen Sie das vorherige Zeichen an die Stelle, an der sich der Cursor gerade befindet.
  • Strg + w: Löschen Sie das vorherige Wort an die 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.
  • Strg + u: Löschen Sie die aktuelle Zeile, die bei dem Zeichen beginnt, das sich unmittelbar links von der Stelle befindet, an der sich der Cursor befindet.

11. Verschieben oder kopieren Sie vorhandene Zeilen innerhalb von Vim

Es stimmt zwar, dass Sie die bekannten Befehle dd, yy und p im ex-Modus zum Löschen, Ziehen (Kopieren) und Einfügen von Zeilen verwenden können, die nur funktionieren, 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.

Als nächstes Beispiel verwenden wir ein kurzes Gedicht mit dem Titel "Forever" von Terri Nicole Tharrington. Zu Beginn 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, dass die Linien 2 bis 7 nach oben verschoben wurden und die ehemalige Linie 1 nun die Linie 7 belegt:

12. Navigieren und Zählen von Musterübereinstimmungen in Vim

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

Achten Sie darauf, dass Sie keinen der Schrägstriche auslassen!

:%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.

13. Öffnen Sie eine Datei in Vim in einer bestimmten Zeile

Standardmäßig wird der Cursor beim Start von vi/m zunächst in der letzten Zeile platziert, die bearbeitet wurde. Wenn Sie das Programm öffnen und den Cursor direkt auf eine bestimmte Zeile setzen möchten, können Sie den folgenden Trick anwenden:

# vim filename +line_number

Öffnen Sie z. B. 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 3. 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:

  • grep -in pattern filename – zeigt alle Zeilen ab dem Dateinamen an, in denen das Muster auftritt, mit der Zeilennummer am Anfang jeder Ausgabezeile.
  • sed -n 3p – zeigt die 3. Zeile aus der Ausgabe der vorherigen Pipeline an.

Endlich

  • cut -d: -f1 gibt das erste Feld der vorherigen Pipeline mit dem Doppelpunkt zurück (:) 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.

14. Anpassen der Vim-Umgebung

Wenn Sie vi/m verwenden, um Konfigurationsdateien zu bearbeiten oder Code zu schreiben, möchten Sie die Zeile anzeigen können

  • Vim für Linux-Admins: 8 leistungsstarke Tipps und Tricks (Teil 2)

Zahlen, wenn Sie das Programm zum ersten Mal öffnen, und um die automatische Einrückung so einzustellen, dass der Cursor beim Drücken der Eingabetaste automatisch an der richtigen Position platziert wird. Darüber hinaus können Sie die Anzahl der Leerräume anpassen, die ein Tab einnimmt.

Während Sie dies jedes Mal tun können, wenn Sie vi/m starten, ist es einfacher, diese Optionen in ~/.vimrc so zu setzen, 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.

15. Holen Sie sich die allgemeine Vim-Hilfe/mit Vimtutor

Wenn Sie zu irgendeinem Zeitpunkt Ihre allgemeinen vi/m-Kenntnisse auffrischen müssen, können Sie vimtutor von der Befehlszeile aus starten, das eine vollständige vi/m-Hilfe anzeigt, auf die Sie so oft zurückgreifen können, wie Sie möchten, ohne dass Sie einen Webbrowser starten müssen, um zu suchen, wie Sie eine bestimmte Aufgabe in vi/m erledigen können.

vimtutor

Beachten Sie, dass Sie den Inhalt von Vimtutor so navigieren oder durchsuchen können, als ob Sie in einer normalen Datei in vi/m navigieren würden.

Zusammenfassung

In dieser 2-Artikel-Serie habe ich einige vi/m-Tipps und -Tricks geteilt, die Ihnen helfen sollen, effektiver zu sein, wenn es darum geht, Text mit Befehlszeilentools zu bearbeiten.

Ich bin mir sicher, dass ihr noch andere habt – also zögert nicht, sie mit dem Rest der Community im Kommentarformular unten zu teilen. Wie immer sind auch Fragen und Kommentare willkommen.

Verwandte Artikel: