Was ist <Anführer>?


36

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

Was ist es? Was tut es?



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.


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.


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,
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.