¿Qué es <Líder>?

36

Veo con <Leader>bastante frecuencia en los archivos vimrc de otras personas. Como éste.

¿Qué es? ¿Qué hace?

Lyndon White
fuente
10
Akshay: No es un duplicado, que quiere verificar el valor de <leader>, este quiere saber qué <leader>significa. Para que ese valor pueda ser interpretado. Es la diferencia entre preguntar "En newton motion, ¿qué es v?" y "Dado que una manzana cayó de un árbol de 10 m de altura, ¿qué es v cuando toca el suelo?"
Lyndon White
3
Entonces, no hay diferencia entre <Leader>y <leader>, ¿verdad?
Nikos Alexandris

Respuestas:

25

Vim está lleno de varios comandos, que se asignan a casi todas las teclas del teclado. Pero esto causa un problema: ¿Qué comandos podemos usar para nuestros propios comandos, sin interferir con los existentes? Y en este momento, la <Leader>clave entra en juego. Piense en <Leader>-key como un espacio de nombres para cualquier comando definido por el usuario. Puede asignar cualquier comando a un mapeo con un líder <Leader>y puede estar completamente seguro de que su mapeo no romperá nada.

La clave predeterminada para <Leader>es la barra invertida.

Alexander Myshov
fuente
15

Para citar :help <Leader>:

Para definir una asignación que use la variable "mapleader", <Leader>se puede usar la cadena especial " ". Se reemplaza con el valor de cadena de "mapleader". Si "mapleader" no está configurado o está vacío, se usa una barra invertida en su lugar. Ejemplo:

   :map <Leader>A  oanother line<Esc>  

Funciona como:

   :map \A  oanother line<Esc>  

Pero después:

   :let mapleader = ","  

Funciona como:

   :map ,A  oanother line<Esc>

En otras palabras, permite que la primera clave de las asignaciones (especificada en términos de <Leader>) sea definida por el usuario.

John O'M.
fuente
8
Creo que la razón detrás de esto <Leader>es que le proporciona una forma "limpia" de proporcionar accesos directos personalizados, sin anular los accesos directos existentes de Vim.
Martin Tournoij