Leitfaden zu Vim-Marken

Leitfaden Zu Vim Marken



Vim-Markierungen sind bestimmte Stellen in einer Datei, die mit einem Namen festgelegt und später zurückgegeben werden können, indem sie beim Namen aufgerufen werden. Der Buchstabe M gefolgt von einem weiteren Buchstaben {a-z oder A-Z} kann zum Setzen der Markierung verwendet werden, und a einfaches Anführungszeichen )‘) mit dem Markennamen wird verwendet, um zu dieser Marke zurückzukehren. Notiere dass der Kleinbuchstaben Buchstaben werden zum Setzen verwendet lokale Marken während Großbuchstaben Buchstaben werden zum Festlegen verwendet globale Marken .

Vim-Marken verstehen

Mit Vim können Sie bestimmte Positionen in einer Datei festlegen, insbesondere wenn Sie an einer großen Datei arbeiten, in der Sie sich schnell hin und her bewegen müssen. Diese Funktion macht das Navigieren in einer Datei mit Hunderten von Zeilen außerordentlich einfach. Wenn Sie beispielsweise an einem Python-Code mit 500 Codezeilen arbeiten, müssen Sie möglicherweise durch die Datei scrollen, um zu einer bestimmten Codezeile zu gelangen. Wenn Sie jedoch an den gewünschten Stellen Markierungen setzen, können Sie diese ganz einfach per Tastendruck verschieben.







Nun, die Vim-Markierungsfunktion ist nicht auf die Navigation beschränkt, Sie können Markierungen auch zum Ausführen anderer Befehle verwenden, auf die ich in späteren Abschnitten dieses Handbuchs eingehen werde. Lassen Sie uns untersuchen, wie Sie in Vim Markierungen setzen und verwenden.



Notiz: Für die Anweisungen in diesem Handbuch verwende ich die Linux-Distribution (Ubuntu 22.04) und Vim Version 8.2.



Setzen Sie ein Zeichen

Um die Markierung in Vim zu setzen, halten Sie den Cursor an der Stelle, an der Sie die Markierung setzen möchten, und drücken Sie die Taste M Schlüssel , gefolgt von einem beliebigen Brief von A Zu Mit . Wenn ich zum Beispiel eine Marke mit dem Namen des Buchstabens setzen möchte Mit dann werde ich tippen mz im NORMAL-Modus.





mz

Es gibt mehrere Möglichkeiten, in Vim eine Markierung zu setzen. Dieses Verfahren ist das schnellste.

Das oben beschriebene Verfahren ist zwar weit verbreitet und sehr schnell, allerdings erhält man keinen visuellen Hinweis darauf, ob die Markierung gesetzt wurde oder nicht, es sei denn, man prüft dies explizit.



Um die Markierungen in Vim aufzulisten, verwenden Sie die :marks Befehl, den ich im besprechen werde Listenmarken Abschnitt. Sie können jedoch die Tastenanschlaganzeige am unteren Rand des Fensters aktivieren, indem Sie das verwenden :setze showcmd.

: Satz showcmd

Sie können auch die verwenden markieren oder der Markieren Befehle zum Setzen der Markierung. Zum Beispiel die Mit Die Markierung kann auch mit dem unten angegebenen Befehl gesetzt werden:

: Mark z

Jede Vim-Datei kann Markierungen von haben A Zu Mit , aber wenn Sie ein Zeichen setzen Mit Wenn Sie für eine Position den gleichen Markennamen für eine andere Position verwenden, wird die zuvor gesetzte Marke entfernt (überschrieben).

Beachten Sie, dass auch die Großbuchstaben {A-Z} zum Setzen einer Markierung verwendet werden können. Markierungen mit Großbuchstaben sind globale Marken und basierend auf Dateien. Ich werde die globalen Marken ausführlich in einem separaten Abschnitt besprechen.

Listenmarken

Wie im vorherigen Abschnitt erläutert, können alle erstellten Marken einfach aufgelistet werden

Verwendung der :marks Befehl.

: Markierungen

Im obigen Ausgabebild sind alle Markierungen aufgelistet. Einige sind benutzerdefiniert, andere standardmäßig.

Es gibt auch einige andere Methoden zum Auflisten der Markierungen. Um eine bestimmte Markierung aufzulisten, verwenden Sie die :marks Befehl mit dem Markennamen. Zum Beispiel, um die Marke aufzulisten Mit, Benutze die :markiert Befehl:

: markiert z

Um mehrere Markierungen aufzulisten, verwenden Sie ebenfalls die :marks :

: Markierungen abz

Wo A , B, Und Mit sind unterschiedliche Markennamen.

Die Markierungen innerhalb der Dateien sind standardmäßig nicht sichtbar und um sie grafisch darzustellen, gibt es verschiedene Plugins. Die bekannten Plugins, die Markierungen in Vim anzeigen können, sind ShowMarks Und Vim-Signatur .

Da das ShowMarks-Plugin voller Fehler ist und seit vielen Jahren nicht aktualisiert wurde, werde ich das installieren Vim-Signatur Plugin zum Anzeigen von Markierungen.

Setzen Sie bei der Installation des Plugins die Markierung, und das Plugin zeigt es explizit mit dem Namen an, wie in der folgenden Abbildung dargestellt.

Springe zu einer Markierung

Nach dem Setzen der Markierung besteht der nächste Schritt darin, durch die Markierungen zu navigieren. Um zum Anfang der markierten Zeile im aktuellen Puffer zu springen, drücken Sie die Taste einfaches Anführungszeichen (‘) mit dem Markennamen {a-z}.

'Mit

Um zur genauen Position (Zeile/Spalte) zu springen, drücken Sie die Taste Backtick (`) mit dem Markennamen {a-z}.

`z

Der Single (‘) und der Backtick (`) können auch verwendet werden, um die globalen Markierungen {A-Z} zu überspringen.

Eine Tabelle zum Navigieren durch die Kleinbuchstaben finden Sie unten:

'' Springe zurück zu der Linie, von der du gesprungen bist
Springe zurück zu der Position, von der du gesprungen bist
' . /`. Zum Springen zur zuletzt bearbeiteten Zeile/Position
`[\`] Springt zum Anfang/Ende des zuletzt gezogenen Textes
`<\`> Zum Springen zum Anfang/Ende der letzten visuellen Auswahl
[zählen]] ' Um zur nächsten Zeile zu springen, [zählen] Sie die Anzahl der Markierungen ab der aktuellen Cursorposition
[zählen]]` Zum Springen [zählen] Sie die Anzahl der Markierungen von der aktuellen Cursorposition aus

Es ist wichtig zu beachten, dass die oben genannten Navigationstasten für Kleinbuchstaben gedacht sind.

Die Diskussion über Vim-Marken ist unvollständig, wenn wir sie nicht diskutieren springt Und Sprungliste . Der Sprungliste speichert die Sprünge, die innerhalb der Datei oder über die Dateien hinweg gemacht werden, unabhängig davon, ob es sich um Markierungen oder normale Vim-Standardsprünge handelt.

Um alle Sprünge aufzulisten, verwenden Sie :springt Befehl, und um alle Sprünge zu löschen, verwenden Sie den :clearjumps. Um durch die Sprünge zu navigieren, verwenden Sie Strg+O Und Strg+I Schlüssel.

Notiz: Bedenken Sie vor dem Löschen der Sprünge, dass sich das Löschen der Sprünge auf den Navigationsverlauf auswirken kann.

Ich finde es bequemer, Sprünge zu verwenden, um durch die Markierungen zu gelangen. Zuerst lösche ich alle Sprünge, denn wenn ich das nicht mache, lande ich möglicherweise in anderen Dateien. Dann registriere ich Markierungssprünge in der Sprungliste Datei mit einfachen Anführungszeichen oder Backtick. Sobald ich fertig bin, verwende ich die Strg+O Und Strg+I Tasten, um schnell durch die Markierungen zu springen.

Weitere Hilfe zum Navigieren in den Markierungen finden Sie unter :Hilfszeichen Und :Hilfe Jumplist Befehle.

Globale Marken

Globale Markierungen in Vim sind so eingestellt, dass sie zwischen den Dateien springen. Im Gegensatz zu lokalen Marken werden globale Marken mit Großbuchstaben gesetzt und können dateiübergreifend verwendet werden.

Lassen Sie uns anhand eines Beispiels die Bedeutung globaler Marken verstehen. Angenommen, Sie arbeiten an einer Codedatei und möchten auf eine bestimmte Funktion in dieser Datei zugreifen. Anstatt die Datei zu öffnen, geben Sie einfach die festgelegte globale Markierung ein und die Datei wird am angegebenen Speicherort geöffnet.

Um die globale Markierung festzulegen, verwenden Sie den Befehl mark M gefolgt von einem Großbuchstaben {A-Z}.

mZ

Jetzt können Sie von jeder Datei aus auf diese Markierung zugreifen. Um zur globalen Markierung zu springen, verwenden Sie das gleiche Verfahren wie im Springe zu einer Markierung Abschnitt. Die Datei mit der Markierung wird geöffnet und die aktuelle Datei geschlossen.

'MIT

Um zum genauen Standort zu gelangen, verwenden Sie auf ähnliche Weise den Backtick mit dem Markierungsnamen („Z“).

Nummerierte Markierungen

Die nummerierten Markierungen {0-9} werden zum Speichern der aktuellen Cursorposition im verwendet viminfo Datei, wenn Sie die Datei verlassen. Die nummerierten Markierungen sind eine Besonderheit und können nicht direkt gesetzt werden. Diese Markierungen werden im automatisch generiert viminfo Datei, um die Änderungen in der Datei zu verfolgen, wenn Sie die Datei schließen. Wenn Sie beispielsweise eine Datei beenden, wird die viminfo Die Datei speichert die Informationen zur letzten Cursorposition in nummerierten Markierungen wie 0, 1, 2 usw.

Sie können die nummerierten Markierungen mit auflisten :marks Befehl.

Weitere Informationen zu den nummerierten Vim-Markierungen finden Sie unter :help viminfo-file-marks Befehl.

Markierungen löschen

Es gibt verschiedene Methoden, um alle Markierungen, bestimmte Markierungen oder einen Bereich von Markierungen zu löschen.

Um Markierungen zu löschen, muss die :delmarks oder :delm Befehle können verwendet werden.

:delmarks z Um eine bestimmte Markierung zu löschen, z. B. Mit
:delmarks x-z Zum Löschen von Markierungen X Zu Mit so dass das Löschen X , Und , Und Mit
:delmarks abxy Löschen A , B , X, Und Und Markierungen
:delmarks zZ Löschen Mit Und MIT Markierungen

Um alle Kleinbuchstaben {a-z} zu löschen, verwenden Sie :delmarks! Befehl. Um Großbuchstaben und Zahlenmarkierungen zu löschen, müssen Sie verwenden :delmarks A-Z Und :delmarks 0-9 Befehle. Wenn Sie Großbuchstaben {A-Z} löschen möchten, verwenden Sie :delmarks A-Z . Mit demselben Befehl können auch nummerierte Markierungen gelöscht werden.

Erweiterte Funktionen

Da es sich bei Markierungen um Speicherorte handelt, können sie auch zum Bearbeiten der Datei in Vim verwendet werden. Um beispielsweise etwas von einer bestimmten Marke zu löschen, zu kopieren oder in eine andere Marke zu ändern, können Sie den entsprechenden Befehl unter Angabe des Markennamens verwenden.

In der folgenden Tabelle sind die Mit wird als Markenname verwendet.

D ' z / d`z Von der aktuellen Zeile bis zur nächsten markierten Zeile löschen / Von der aktuellen Position bis zur nächsten genau markierten Position löschen
C ' z / c`z Text von der aktuellen Zeile in die nächste markierte Zeile ändern / Text von der aktuellen Position bis zur nächsten genau markierten Position ändern
Und ' z / y`z Text von der aktuellen Zeile in die nächste markierte Zeile kopieren (ziehen) / Text von der aktuellen Position bis zur nächsten exakt markierten Position kopieren

Wenn Sie eine durchführen möchten zeilenweise Operation, dann rufen Sie die Marke mit dem einfachen Anführungszeichen (‘) auf, und wenn Sie eine ausführen möchten charakterlich Operation, verwenden Sie Backtick (`).

Wenn Sie etwas zwischen zwei Markierungen löschen, ändern oder verschieben möchten, können Sie die folgende Befehlssyntax verwenden.

: 'X,' Und < d,c oder y >

Wenn Sie beispielsweise alle Zeilen aus mark löschen möchten 'X markieren 'Und Benutze die : ' X, ' y d Befehl.

Siehe die folgende Datei mit Markierungen B Und C .

Um alle Linien von der Markierung zu entfernen B zum C (einschließlich) führen Sie den folgenden Befehl aus:

: 'B,' CD

Unterschied zwischen Kleinbuchstaben und Großbuchstaben

Sowohl Klein- als auch Großbuchstaben haben unterschiedliche Funktionen.

Die Kleinbuchstaben werden innerhalb der Dateien verwendet und können alphabetisch gesetzt werden A zum Alphabet Mit in einer beliebigen Datei. Sie sind einzigartig für die Dateien, in denen sie erstellt wurden. Sie können in den Dateien, in denen sie erstellt wurden, aufgerufen und verwaltet werden. Andererseits sind die Großbuchstaben {A-Z} global und können nicht mit demselben Namen festgelegt werden. Auf diese Markierungen kann von jeder Datei aus mit dem Apostroph (‘) oder dem Backtick (`) zugegriffen werden.

Die Navigation und der Vorgang zum Löschen von Klein- und Großbuchstaben sind ähnlich. Aufgrund ihrer dateiinternen Einstellungen verfügen Kleinbuchstaben jedoch über mehr Navigationsbefehle.

Ein weiterer wichtiger Punkt ist, dass Markierungen beim Beenden der Datei oder Sitzung nicht gelöscht werden. Wenn Sie also eine Markierung gesetzt haben, bleiben die Markierungen der Datei beim erneuten Öffnen erhalten.

Vim Marks Spickzettel

Die wichtigsten Vorgänge, die Sie zur Verwendung der Markierungsfunktion im Vim-Editor benötigen, sind in der folgenden Abbildung aufgeführt.

Abschluss

Die Markierungen im Vim-Editor sind benutzerdefinierte Positionen zum Navigieren in einer Datei mit Hunderten von Zeilen. Es gibt zwei Arten von Markierungen: Groß- und Kleinbuchstaben. Die Kleinbuchstaben sind praktisch beim Navigieren innerhalb der Datei. Um durch die Dateien zu navigieren, werden Großbuchstaben verwendet. Um das Zeichen zu setzen, den Buchstaben M wird mit einem anderen Klein- oder Großbuchstaben {a-z, A-Z} verwendet. Markierungen jeder Datei können mit aufgelistet werden :marks Befehl. Um eine Markierung zu löschen :delmarks oder :delm Es werden Befehle mit dem Markennamen verwendet.