Vim-Meisterschaft geht weiter: 8 weitere leistungsstarke Tipps für Linux-Administratoren (Teil 2)

Im vorherigen Artikel dieser Serie haben wir 7 Tipps und Tricks überprüft, die Sie Ihrem vi/m-Fähigkeiten-Set hinzufügen können, neben den zuvor genannten Gründen ist das Erlernen, wie man effektiv einen Texteditor in Linux verwendet, eine wesentliche Fähigkeit für einen Systemadministrator oder -ingenieur und ist eine erforderliche Kompetenz, um jedes wichtige Linux-Zertifizierungsprogramm zu bestehen (wie LFCS, LFCE, RHCSA und RHCE).

Davon abgesehen, lassen Sie uns beginnen.

8. Horizontale oder vertikale Vim-Fenster erstellen

Dieser Tipp wurde von Yoander, einem unserer Leser, in Teil 1 geteilt. Sie können vi/m mit mehreren horizontalen oder vertikalen Aufteilungen starten, um separate Dateien im selben Hauptfenster zu bearbeiten:Starten Sie vi/m mit zwei horizontalen Fenstern, wobei test1 oben und test2 unten sind

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

vim -o test1 test2 
Launch Vim Editor in Horizontal Windows

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

vim -O test3 test4 
Launch Vim Editor in Vertical Windows

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

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

9. Groß- oder Kleinschreibung in Vim ändern

Bitte beachten Sie, dass dieser Tipp nur in vim funktioniert. In den folgenden 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 die rechte Pfeiltaste auf der Tastatur.
  • Um X Anzahl von Wörtern zu ändern, positionieren Sie den Cursor am Anfang des Wortes und geben Sie gUXw im ex-Modus ein.
  • Um eine ganze Zeile in Großbuchstaben zu ändern, positionieren Sie den Cursor an einer beliebigen Stelle auf der Zeile und geben Sie gUU im ex-Modus ein.

Zum Beispiel, um eine ganze kleingeschriebene Zeile in GROSSBUCHSTABEN umzuwandeln, sollten Sie den Cursor an einer beliebigen Stelle auf der Zeile positionieren und gUU eingeben:

Change String to Uppercase in Vim Editor

Zum Beispiel, um 2 großgeschriebene Wörter in Kleinbuchstaben umzuwandeln, sollten Sie den Cursor am Anfang des ersten Wortes platzieren und gu2w:

Convert String to Lowercase in Vim Editor

10. Text löschen in Vim Insert-Modus

Sie können in ex-Modus (d. h. dw zum Löschen eines Wortes) auch in Insert-Modus wie folgt löschen:

  • Strg + h: löschen Sie den vorherigen Buchstaben an der Stelle, an der der Cursor sich derzeit befindet.
  • Strg + w: löschen Sie das vorherige Wort an der Stelle, an der der Cursor sich derzeit befindet. Damit dies korrekt funktioniert, muss der Cursor in einem leeren Raum hinter dem zu löschenden Wort platziert werden.
  • Strg + u: löschen Sie die aktuelle Zeile ab dem Zeichen unmittelbar links vom aktuellen Cursor-Standort.

11. Verschieben oder Kopieren vorhandener Zeilen innerhalb von Vim

Obwohl es zutrifft, dass man die bekannten dd, yy und p-Befehle im ex-Modus zum Löschen, Kopieren (yanken) und Einfügen von Zeilen verwenden kann, funktioniert dies nur, wenn der Cursor an der gewünschten Stelle platziert ist.

Die gute Nachricht ist, dass man mit den kopieren und bewegen-Befehlen dasselbe tun kann, unabhängig davon, wo sich der Cursor derzeit befindet.

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

Move Copy Existing Lines in Vim

Jetzt machen wir die letzte Änderung rückgängig (Esc + u – ein weiterer Bonus-Tipp!) und tippen :1move7 um Zeile 7 durch Zeile 1 zu ersetzen. Beachten Sie, wie die Zeilen 2 bis 7 nach oben verschoben werden und die ehemalige Zeile 1 nun Zeile 7 einnimmt:

Move Lines in Vim Editor

12. Navigieren und Zählen von Mustermatches in Vim

Dieser Tipp basiert auf dem Ersetzungsbefehl (Tipp #7 in Teil 1 dieser Serie), mit dem Unterschied, dass nichts entfernt wird, da das Ersetzungsverhalten durch die n Option überschrieben wird, was zu einer Zählung der Vorkommen des angegebenen Musters führt:

Achten Sie darauf, keine der Schrägstriche zu vergessen!

:%s/pattern//gn 

Zum Beispiel,

:%s/libero//gn
Count Matches by Search Pattern in Vim

Um vom aktuellen Vorkommen des Musters zum nächsten im ex Modus zu wechseln, drücken Sie n (kleines N). Um zum vorherigen Vorkommen zu gelangen, drücken Sie N.

13. Datei in Vim mit einer angegebenen Zeile öffnen

Standardmäßig wird beim Starten von vi/m der Cursor auf der zuletzt bearbeiteten Zeile platziert. Wenn Sie das Programm starten und den Cursor direkt auf einer angegebenen Zeile platzieren möchten, können Sie folgenden Trick verwenden:

# vim filename +line_number

Zum Beispiel öffnen Sie forever.txt und platzieren den Cursor in Zeile 6:

# vim forever.txt +6

Lassen Sie uns dieses Beispiel ein wenig verändern. Angenommen, wir möchten die Datei an der Stelle öffnen, an der das 3. Auftreten des Musters auftritt:

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

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

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

Schließlich

  • cut -d: -f1 gibt das erste Feld des vorherigen Pipelines mit dem Doppelpunkt (:) als Feldseparator zurück.
grep -in forever forever.txt
grep -in forever forever.txt | sed -n 3p
grep -in forever forever.txt | sed -n 3p | cut -d: -f1
Open Vim Editor in Specified Line

Das Ergebnis des vorherigen Befehls wird dann an vi/m übergeben, um das Programm an 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 möglicherweise, dass die Zeile

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

Zahlen, wenn Sie das Programm zum ersten Mal öffnen, und um automatische Einrückung festzulegen, so dass, wenn Sie die Eingabetaste drücken, der Cursor automatisch an der richtigen Position platziert wird. Darüber hinaus möchten Sie möglicherweise die Anzahl der Leerzeichen festlegen, die ein Tabulator einnimmt.

Während Sie das jedes Mal tun können, wenn Sie vi/m starten, ist es einfacher, diese Optionen in ~/.vimrc festzulegen, damit sie automatisch angewendet werden:

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

Für weitere Optionen zur Anpassung Ihrer vi/m-Umgebung können Sie sich an die Online-Vim-Dokumentation wenden.

15. Allgemeine Vim-Hilfe erhalten/mit Vimtutor

Wenn Sie jederzeit Ihre allgemeinen vi/m-Fähigkeiten auffrischen müssen, können Sie vimtutor über die Kommandozeile starten, die eine vollständige vi/m-Hilfe anzeigt, die Sie so oft wie gewünscht zu Rate ziehen können, ohne einen Webbrowser zu starten, um herauszufinden, wie man eine bestimmte Aufgabe in vi/m erledigt.

vimtutor
Vim Editor Help and Options

Beachten Sie, dass Sie den Inhalt von Vimtutor navigieren oder durchsuchen können, als ob Sie eine reguläre Datei in vi/m navigieren würden.

Zusammenfassung

In dieser 2-Artikel-Reihe habe ich Ihnen verschiedene vi/m-Tipps und -Tricks mitgeteilt, die Ihnen dabei helfen sollten, effektiver zu sein, wenn es darum geht, Text mit Kommandozeilen-Tools zu bearbeiten.

I’m sure you must have other ones – so feel free to share them with the rest of the community in the comment form below. As always, questions and comments are also welcome.

Source:
https://www.tecmint.com/how-to-use-vi-and-vim-editor-in-linux/