1353 Stimmen

Was ist der <leader> in einer .vimrc-Datei?

Ich sehe in vielen .vimrc Dateien, und frage mich, was es bedeutet?

Wofür wird es verwendet?

Ein allgemeiner Überblick über Zweck und Verwendung wäre großartig.

20 Stimmen

Ich komme zu der Erkenntnis, dass ich denke, der Schlüssel zum Verständnis besteht darin, dass du durch Verwendung von in deinen Tastenkombinationen effektiv einen Namensraum erstellst, damit deine benutzerdefinierten Tastenkombinationen nicht die integrierten vim-Verhaltensweisen beeinträchtigen. Siehe die Antwort von @Pete Schlette unten für mehr Informationen.

13 Stimmen

Wenn Sie überprüfen möchten, was Ihr ist, verwenden Sie :echo mapleader oder :let mapleader. Wenn nicht definiert, wird standardmäßig ein Backslash "\" verwendet.

0 Stimmen

Gibt es eine Alternative zu :let mapleader? Ich benutze ein vscodevim-Plugin, das "let" noch nicht implementiert hat.

1225voto

Vereb Punkte 13560
Der -Schlüssel ist standardmäßig auf \ abgebildet. Wenn Sie also eine Zuordnung von t haben, können Sie sie standardmäßig mit \+t ausführen. Für weitere Details oder Neuzuweisungen unter Verwendung der Variable mapleader siehe

help leader

Um eine Zuordnung zu definieren, die die Variable "mapleader" verwendet, kann der spezielle String "" verwendet werden. Er wird durch den Zeichenwert von "mapleader" ersetzt. Wenn "mapleader" nicht festgelegt oder leer ist, wird stattdessen ein Backslash verwendet. Beispiel:

map A eine weitere Zeile Funktioniert wie:
map \A eine weitere Zeile Aber nach:
let mapleader = "," Funktioniert es wie:
map ,A eine weitere Zeile Beachten Sie, dass der Wert von "mapleader" zum Zeitpunkt der Zuordnung verwendet wird. Die Änderung von "mapleader" danach hat keine Auswirkungen auf bereits definierte Zuordnungen.

67 Stimmen

Die Änderung zu , ist eine gute. Viele leichter zu erreichen als \\ , und wer verwendet , sowieso in vim?

0 Stimmen

Vielen Dank für die Hilfe, das weist mich definitiv in die richtige Richtung.

57 Stimmen

@Gabe Moothart. :h , gibt Ihnen "Wiederholt den letzten Befehl f, t, F oder T in entgegengesetzter Richtung [Anzahl] Mal". Es ist ziemlich praktisch.

331voto

davetapley Punkte 15585

Bitte beachten Sie, dass Sie, wenn Sie Ihre -Taste drücken, nur 1000 ms oder 1 Sekunde (standardmäßig) Zeit haben, um den Befehl danach einzugeben.

Dies wird dadurch verschlimmert, dass standardmäßig kein visuelles Feedback vorhanden ist, dass Sie Ihre -Taste gedrückt haben und Vim auf den Befehl wartet; und es gibt auch keine visuelle Möglichkeit zu erkennen, wann dieses Timeout aufgetreten ist.

Wenn Sie set showcmd zu Ihrer vimrc hinzufügen, sehen Sie Ihre -Taste unten rechts in Vim (links von der Cursor-Position) und vielleicht wichtiger, Sie sehen sie verschwinden, wenn das Timeout auftritt.

Die Länge des Timeouts kann auch in Ihrer vimrc festgelegt werden, siehe :help timeoutlen für weitere Informationen.

12 Stimmen

« :set showcmd » zeigt den aktuellen Befehl sowie den Leiter-Schlüssel und die Zeit, in der er aktiv ist.

7 Stimmen

Aufgrund des fehlenden Feedbacks, während standardmäßig kein visuelles Feedback vorhanden ist, scheint es, dass Vim einen Signalton ausgibt, wenn es nach 1000 ms nach dem Drücken von keinen Befehl erhält.

143voto

Mikeage Punkte 6304

Der "Leader-Key" ist eine Möglichkeit, die Leistung der Verknüpfungen von VIM zu erweitern, indem Sequenzen von Tasten verwendet werden, um einen Befehl auszuführen. Der Standard-Leader-Key ist der Backslash. Wenn Sie also eine Zuordnung von Q haben, können Sie diese Aktion durch Eingabe von \Q ausführen.

25 Stimmen

@ArnoldRoa Immer wenn Vim-Befehle aufgelistet sind, bedeutet die Syntax ggdG, dass diese vier Tasten sequenziell gedrückt werden sollen. Eine Syntax wie bedeutet, dass zuerst STRG+W und dann STRG+J gedrückt werden sollen.

0 Stimmen

@gobernador Ich kann nicht herausfinden, was zum Beispiel ist. Ich nehme an, es handelt sich um ALT... ?

140voto

Pete Schlette Punkte 1878

Vim's Taste ist eine Möglichkeit, einen Namensraum für Befehle zu erstellen, die Sie definieren möchten. Vim mappt bereits die meisten Tasten und Kombinationen von Ctrl + (irgendeine Taste), daher ist (irgendeine Taste) der Ort, an dem Sie (oder Plugins) benutzerdefiniertes Verhalten hinzufügen können.

Zum Beispiel, wenn Sie sich oft dabei finden, genau 3 Wörter und 7 Zeichen zu löschen, könnte es praktisch sein, einen Befehl über nmap d 3dw7x zu mappen, damit das Drücken der Leader-Taste gefolgt von d 3 Wörter und 7 Zeichen löscht. Da es die Leader-Taste als Präfix verwendet, können Sie (relativ) sicher sein, dass Sie keine bereits vorhandenen Verhaltensweisen überschreiben.

Der Standard-Schlüssel für ist \, aber Sie können den Befehl :let mapleader = "," verwenden, um ihn auf eine andere Taste umzumappen (, in diesem Fall).

Usevim's Seite über den Leader-Key enthält weitere Informationen.

20voto

Arkaitz Jimenez Punkte 21364

Der Standard-Leader-Schlüssel ist der Rückwärtsschrägstrich (\). Er wird in Bindungen als Akkord mit anderen Tastenanschlägen verwendet.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X