Che cos'è <Leader>?


36

Vedo <Leader>abbastanza spesso nei file vimrc di altre persone. Come questo.

Che cos'è? Che cosa fa?



10
Akshay: Non un duplicato, che vuole controllare il valore di <leader>, questo vuole sapere cosa <leader>significa. In modo che quel valore possa essere interpretato. È la differenza tra chiedere "In newton motion che cos'è v?" e "Data una mela caduta da un albero alto 10 m, che cosa è v quando colpisce il terreno?"
Lyndon White,

3
Quindi, non c'è differenza tra <Leader>e <leader>, giusto?
Nikos Alexandris,

Risposte:


25

Vim è pieno di vari comandi, che sono assegnati a quasi tutti i tasti della tastiera. Ma questo provoca un problema: quali comandi possiamo usare per i nostri comandi, senza interferire con quelli esistenti? E in questo momento, la <Leader>chiave entra in gioco. Pensa a <Leader>-key come uno spazio dei nomi per qualsiasi comando definito dall'utente. Puoi assegnare qualsiasi comando a una mappatura con un lead <Leader>e puoi essere completamente sicuro che la tua mappatura non romperà nulla.

La chiave predefinita per <Leader>è barra rovesciata.


15

Per citare :help <Leader>:

Per definire una mappatura che utilizza la variabile "mapleader", è <Leader>possibile utilizzare la stringa speciale " ". Viene sostituito con il valore di stringa di "mapleader". Se "mapleader" non è impostato o vuoto, viene invece utilizzata una barra rovesciata. Esempio:

   :map <Leader>A  oanother line<Esc>  

Funziona come:

   :map \A  oanother line<Esc>  

Ma dopo:

   :let mapleader = ","  

Funziona come:

   :map ,A  oanother line<Esc>

In altre parole, consente alla prima chiave di mappature (specificata in termini di <Leader>) di essere definita dall'utente.


8
Credo che la logica alla base <Leader>sia quella di fornire un modo "pulito" per fornire scorciatoie personalizzate, senza sovrascrivere le scorciatoie Vim esistenti.
Martin Tournoij,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.