Comment savoir ce que <Leader> est configuré? Et est-il possible de remapper <Leader>?


64

Comment savoir quelle clé est définie sur mon <Leader>et comment la remapper?

Réponses:


62

Par défaut , votre <leader>est - \, la barre oblique inverse. Vous pouvez le vérifier avec:

:echo mapleader

Si cela vous donne un E121: Undefined variable: mapleader, cela signifie que sa valeur par défaut est \. Si ça vous donne autre chose, alors c'est ça :-)

Vous pouvez facilement le remapper. Je l'ai mis en correspondance avec la barre d'espace:

:let mapleader = "\<Space>"

Notez que la valeur de mapleaderest utilisée au moment où le mappage est défini. Donc, cet exemple:

let mapleader = ","
nnoremap <Leader>a :echo "Hey there ,"<CR>

let mapleader = "\<Space>"
nnoremap <Leader>a :echo "Hey there space"<CR>

Produira deux cartographies: ,aet <Space>a.

Cela signifie que la valeur actuelle de mapleadern'est pas nécessairement la valeur qui a été utilisée pour définir vos mappages!

De plus, il y a le maplocalleadermême que mapleader, sauf qu'il est utilisé par <LocalLeader>et qu'il est local par rapport à la mémoire tampon actuelle.

Vous trouverez plus d'informations sur <Leader>l'aide de Vim avec :help mapleader.


3
Pourquoi avons-nous besoin d'une barre oblique inverse "\<Space>"?
thameera

10
La barre oblique inverse est obligatoire car sinon, vim reconnaîtra "<Espace>" en tant que chaîne normale et non le code de la touche d'espacement. Voir :help expr-stringpour des exemples.
tokoyami

1
Juste une note: par exemple, let mapleader = ' 'fonctionne également pour la mise <Leader>à l'espace. S'il existe des effets secondaires possibles en utilisant cette syntaxe, n'hésitez pas à les mentionner.
Daniel Andersson

Il semble que cette maplocalleaderoption soit également définie sur la barre oblique inversée par défaut. Peut-être que c'est ce que l'on entendait par "c'est la même chose que mapleader, mais je n'étais pas sûr au début.
Mars

Comment puis-je annuler un let mapleader = ","après le fait? J'ai essayé unlet mapleaderaussi bien let mapleader = "\"mais ça ne marche pas. J'ai besoin de cela parce que j'utilise ce paquetage github.com/amix/vimrc où il est suggéré d'avoir mon propre fichier de configuration séparé. Le bundle mappe le leader sur la virgule, je veux donc annuler cela dans mon fichier de configuration séparé.
Michael

8

Vous pouvez afficher la clé de leader actuelle comme ceci :let mapleader


4
J'essaie ça E121: Undefined variable: mapleader.
Praxeolitic

Puis, pour une raison quelconque, le chef d'affiche n'a pas été défini ou n'a pas été
défini

5
Oh je comprends. Juste une note pour les autres, si vous ne définissez pas explicitement la clé de classement, vous obtenez l'erreur ci-dessus.
Praxeolitic

si vous obtenez E121: Undefined variable: mapleader, cela signifie qu'il n'a pas été défini, ce qui utilisera la valeur par défaut, qui est une barre oblique inverse"\"
wisbucky
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.