Foto mit freundlicher Genehmigung von secretlondon123
Dies ist ein Gastbeitrag von SathiyaMoorthy
Dieser Artikel ist Teil der fortlaufenden Reihe Vi / Vim Tipps und Tricks. Markieren ist eine Lesezeichenfunktion im Vim-Editor, mit der Sie eine bestimmte Zeile mit einem Lesezeichen versehen und später schnell zu ihr zurückkehren können. Wenn Sie den Vim-Editor regelmäßig verwenden, wird diese einfache Technik der Verwendung von Lesezeichen Ihre Produktivität in die Höhe schnellen lassen.
Es gibt zwei Arten von Lesezeichen in Vim – lokal und global.
1. Lokales Vim-Lesezeichen
Wenn Sie innerhalb einer einzelnen Datei zu einer bestimmten Position oder Zeile gehen möchten, können Sie die lokale Markierung verwenden. Wenn der Name des Lesezeichens ein Kleinbuchstabe ist, dann ist das eine lokale Markierung.
Wie erstelle ich ein Lesezeichen in Vi?
Geben Sie m{Makroname} ein. Makroname ist ein Alphabet, das sich auf den Namen des Lesezeichens bezieht.
Wenn Sie „ma“ eingeben, wird ein Lesezeichen in der aktuellen Zeile an der aktuellen Position mit dem Namen „a“ erstellt. Im folgenden Beispiel hat die Eingabe von ma ein Lesezeichen genau an der Stelle erstellt, an der der Cursor hervorgehoben ist.
ma
Abb. 1: Lesezeichen für den aktuellen Standort in Vim mit ma
Zwei Methoden für den Zugriff auf die mit Lesezeichen versehene Zeile in Vi
Methode 1:`{Makroname}
Backtick gefolgt vom Makronamen. Gehen Sie zur genauen Position des Lesezeichens. Dies springt zu der exakten Stelle des Zeichens innerhalb der Zeile, von wo aus es zuvor mit einem Lesezeichen versehen wurde.
Wenn Sie beispielsweise `a eingeben, gelangen Sie zum Lesezeichen mit dem Namen „a“. d.h. Sie gelangen zu der Stelle, an der der Cursor in der obigen Abb. 1 hervorgehoben ist.
`a
Methode 2:„{Makroname}
einfaches Anführungszeichen, gefolgt vom Makronamen. Zum Anfang der mit Lesezeichen versehenen Zeile wechseln.
Wenn Sie beispielsweise „a“ eingeben, gelangen Sie zum Anfang der Zeile mit dem Lesezeichen mit dem Namen „a“. Sie gelangen zum Anfang der Zeile „CustomLog logs/access_log kombiniert“ in der obigen Abb. 1.
'a
2. Vim Globales Lesezeichen
Wenn Sie mehrere Dateien geöffnet haben und zu einer bestimmten Position in einer der geöffneten Dateien gehen möchten, können Sie die globale Markierungsfunktion von Vim verwenden. Wenn der Name des Lesezeichens ein Großbuchstabe ist, handelt es sich um ein globales Lesezeichen.
Die folgende Schrittfolge erklärt, wie Sie globale Lesezeichen verwenden, während Sie mehrere Dateien bearbeiten.
- Mehrere Dateien öffnen:# vim /etc/passwd /etc/group
- Beim Bearbeiten der Datei /etc/passwd gehen Sie zu einer bestimmten Zeile und geben Sie mP ein, um ein globales Lesezeichen namens P zu erstellen
- Geben Sie :n aus der /etc/passwd-Datei ein, um zur /etc/group-Datei in vim zu springen.
- Beim Bearbeiten der /etc/group-Datei gehen Sie zu einer bestimmten Zeile und geben Sie mG ein, um ein globales Lesezeichen namens G zu erstellen
- Geben Sie `P ein (Back-Tick gefolgt von einem großen P), was Sie zum Lesezeichen in /etc/passwd bringt
- Geben Sie in /etc/passwd `G (Back-Tick gefolgt von einem großen G) ein, wodurch Sie zum Lesezeichen in /etc/group gelangen.
3. So zeigen Sie alle Lesezeichen an
Wenn Sie mehrere Lesezeichen erstellt haben und sich nicht mehr daran erinnern, können Sie ganz einfach eine Liste aller Lesezeichen abrufen, indem Sie wie unten gezeigt :marks eingeben.
:marks mark line col file/text a 15 9 ypserver 192.168.1.119 b 11 18 domain THEGEEKSTUFF G 56 0 group P 45 0 passwd
Dies zeigt an, dass ich die folgenden Lesezeichen erstellt habe:
- a – lokales Lesezeichen mit dem Namen „a“ in Zeile 15 und Spalte 9. Dies ergibt auch den Text von Zeile #15 . Dies stammt aus der aktuell geöffneten Datei yp.conf
- b – lokales Lesezeichen mit dem Namen „b“ in Zeile 11 und Spalte 18. Dies ergibt auch den Text von Zeile 18. Dies stammt aus der aktuell geöffneten Datei yp.conf
- G – globales Lesezeichen mit dem Namen „G“ in Zeile 56 und Spalte 0 der „Gruppen“-Datei
- P – globales Lesezeichen mit dem Namen „P“ in Zeile 45 und Spalte 0 der „passwd“-Datei.
Abgesehen von den obigen Lesezeichen können Sie jedes Mal, wenn Sie :marks in Vim eingeben, die folgenden Zeilen erhalten. Diese Zeichen sind ‘ (einfaches Anführungszeichen), ” (doppeltes Anführungszeichen), [ , ], ^ und . (Punkt) werden standardmäßig von vim erstellt und Sie haben keine Kontrolle darüber.
:marks mark line col file/text ' 8 12 #^IUse broadcast on the local net for domain NISDOMAIN " 1 0 # /etc/yp.conf - ypbind configuration file [ 11 0 domain THEGEEKSTUFF ] 11 19 domain THEGEEKSTUFF ^ 11 19 domain THEGEEKSTUFF . 11 18 domain THEGEEKSTUFF
Zum Beispiel das Zeichen . (Punkt) gibt die letzte Position an, an der eine Änderung vorgenommen wurde. Sie können also immer `. (Back-Tick gefolgt von einem Punkt), was Sie zu der Position bringt, an der die letzte Änderung vorgenommen wurde.
4. Kurze Zusammenfassung der Vim-Lesezeichenbefehle
- ma – Erstellt ein Lesezeichen namens a
- `a – Springe an die genaue Stelle (Zeile und Spalte) des Lesezeichens a
- ‘a – Zum Anfang der Zeile des Lesezeichens a springen
- :marks – Alle Lesezeichen anzeigen
- :marks a – Zeigt die Details des Lesezeichens mit dem Namen a
` an. – An die exakte Stelle (Zeile und Spalte) springen, an der die letzte Änderung vorgenommen wurde - ‘. – Zum Anfang der Zeile springen, in der die letzte Änderung vorgenommen wurde
Empfohlene Lektüre
Vim 101 Hacks, von Ramesh Natarajan . Ich bin ein Kommandozeilen-Junkie. Also bin ich natürlich ein großer Fan von Vi- und Vim-Editoren. Vor einigen Jahren, als ich viel C-Code unter Linux geschrieben habe, habe ich alle verfügbaren Vim-Editor-Tipps und -Tricks gelesen. Basierend auf meiner Vim-Editor-Erfahrung habe ich das Vim 101 Hacks eBook geschrieben, das 101 praktische Beispiele zu verschiedenen erweiterten Vim-Funktionen enthält, die Sie im Vim-Editor schnell und produktiv machen werden. Auch wenn Sie Vi und Vim Editors seit mehreren Jahren verwenden und dieses Buch noch nicht gelesen haben, tun Sie sich bitte einen Gefallen und lesen Sie dieses Buch. Sie werden von den Möglichkeiten des Vim-Editors begeistert sein.