Was ist <Anführer>?

36

Ich sehe <Leader>ziemlich oft in den vimrc-Dateien anderer Leute. Wie dieser.

Was ist es? Was tut es?

Lyndon White
quelle
10
Akshay: Kein Duplikat, das den Wert von überprüfen will <leader>, dieser will wissen, was das <leader>bedeutet. Damit dieser Wert interpretiert werden kann. Es ist der Unterschied zwischen der Frage "In Newton Motion, was ist v?" und "Wenn ein Apfel von einem 10 m hohen Baum gefallen ist, was ist v, wenn er auf den Boden fällt?"
Lyndon White
3
Es gibt also keinen Unterschied zwischen <Leader>und <leader>, oder?
Nikos Alexandris

Antworten:

25

Vim ist voll von verschiedenen Befehlen, die fast allen Tasten auf der Tastatur zugewiesen sind. Dies führt jedoch zu einem Problem: Welche Befehle können wir für unsere eigenen Befehle verwenden, ohne die vorhandenen zu beeinträchtigen? Und in diesem Moment kommt der <Leader>Schlüssel ins Spiel. <Leader>Stellen Sie sich -key wie einen Namespace für benutzerdefinierte Befehle vor. Sie können einem Mapping mit einem führenden Befehl einen beliebigen Befehl zuweisen, <Leader>und Sie können sich darauf verlassen, dass Ihr Mapping keine Fehler verursacht.

Der Standardschlüssel für <Leader>ist Backslash.

Alexander Myshov
quelle
15

Um zu zitieren :help <Leader>:

Um ein Mapping zu definieren, das die Variable "mapleader" verwendet, kann die Sonderzeichenfolge " <Leader>" verwendet werden. Es wird durch den String-Wert von "mapleader" ersetzt. Wenn "mapleader" nicht gesetzt oder leer ist, wird stattdessen ein Backslash verwendet. Beispiel:

   :map <Leader>A  oanother line<Esc>  

Funktioniert wie:

   :map \A  oanother line<Esc>  

Aber danach:

   :let mapleader = ","  

Es funktioniert wie folgt:

   :map ,A  oanother line<Esc>

Mit anderen Worten, der erste Schlüssel der Zuordnungen (angegeben als <Leader>) kann benutzerdefiniert werden.

John O'M.
quelle
8
Ich glaube, dass das Grundprinzip dahinter <Leader>liegt, dass es Ihnen eine "saubere" Möglichkeit bietet, benutzerdefinierte Verknüpfungen bereitzustellen, ohne vorhandene Vim-Verknüpfungen zu überschreiben.
Martin Tournoij,