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.
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.
t
haben, können Sie sie standardmäßig mit \+t ausführen. Für weitere Details oder Neuzuweisungen unter Verwendung der Variable mapleader
siehehelp 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:
Die Änderung zu ,
ist eine gute. Viele leichter zu erreichen als \\
, und wer verwendet ,
sowieso in vim?
@Gabe Moothart. :h , gibt Ihnen "Wiederholt den letzten Befehl f, t, F oder T in entgegengesetzter Richtung [Anzahl] Mal". Es ist ziemlich praktisch.
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.
« :set showcmd » zeigt den aktuellen Befehl sowie den Leiter-Schlüssel und die Zeit, in der er aktiv ist.
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.
@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.
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.
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.
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.