O que é <Leader>?

36

Vejo <Leader>muitas vezes nos arquivos vimrc de outras pessoas. Como este.

O que é isso? O que isso faz?

Lyndon White
fonte
1
possível duplicata de Como descobrir o que <Leader> está definido?
akshay
10
Akshay: Não é uma duplicata, que deseja verificar o valor de <leader>, esta quer saber o que <leader>significa. Para que esse valor possa ser interpretado. É a diferença entre perguntar "no movimento newton, o que é v?" e "Dada uma maçã cair de uma árvore de 10 metros de altura, o que é v quando atinge o chão?"
Lyndon White
3
Então, não há diferença entre <Leader>e <leader>, certo?
Nikos Alexandris

Respostas:

25

O Vim está cheio de vários comandos, atribuídos a quase todas as teclas do teclado. Mas isso causa um problema: quais comandos podemos usar para nossos próprios comandos, sem interferir nos existentes? E, neste momento, a <Leader>chave entra em jogo. Pense em <Leader>-key como um espaço para nome para qualquer comando definido pelo usuário. Você pode atribuir qualquer comando a um mapeamento com um líder <Leader>e ter certeza de que seu mapeamento não quebrará nada.

A chave padrão para <Leader>é barra invertida.

Alexander Myshov
fonte
15

Para citar :help <Leader>:

Para definir um mapeamento que use a variável "mapleader", a sequência especial " <Leader>" pode ser usada. É substituído pelo valor da string "mapleader". Se "mapleader" não estiver definido ou vazio, uma barra invertida será usada. Exemplo:

   :map <Leader>A  oanother line<Esc>  

Funciona como:

   :map \A  oanother line<Esc>  

Mas depois:

   :let mapleader = ","  

Funciona como:

   :map ,A  oanother line<Esc>

Em outras palavras, permite que a primeira chave de mapeamentos (especificada em termos de <Leader>) seja definida pelo usuário.

John O'M.
fonte
8
Acredito que a lógica por trás <Leader>disso é que ela fornece uma maneira "limpa" de fornecer atalhos personalizados, sem substituir os atalhos existentes do Vim.
Martin Tournoij 16/02