Jak mogę dowiedzieć się, na co ustawiony jest <Leader>? Czy jest możliwe ponowne mapowanie <Leader>?


64

Jak mogę dowiedzieć się, który klucz jest ustawiony jako mój <Leader>i jak go ponownie przypisać?

Odpowiedzi:


62

Domyślnie <leader>jest to \ukośnik odwrotny. Możesz to sprawdzić za pomocą:

:echo mapleader

Jeśli to daje E121: Undefined variable: mapleader, oznacza to, że jest ustawiony na domyślny \. Jeśli daje ci coś innego, to jest tak :-)

Możesz go łatwo odwzorować. Odwzorowałem to na spację:

:let mapleader = "\<Space>"

Należy zauważyć, że wartość parametru mapleaderjest używana w momencie zdefiniowania odwzorowania. Więc ten przykład:

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

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

Stworzy dwa mapowania: ,ai <Space>a.

Oznacza to, że bieżąca wartość mapleaderniekoniecznie jest wartością użytą do zdefiniowania mapowań!

Ponadto istnieje maplocalleadertaki sam mapleader, z wyjątkiem tego, że jest używany przez <LocalLeader>i jest lokalny dla bieżącego bufora.

Więcej informacji na temat <Leader>można znaleźć w pomocy Vima :help mapleader.


3
Dlaczego potrzebujemy odwrotnego ukośnika "\<Space>"?
— thameera

10
Odwrotny ukośnik jest wymagany, ponieważ w przeciwnym razie vim rozpozna „<Space>” jako normalny ciąg, a nie kod klawisza spacji. Zobacz :help expr-stringprzykłady.
— tokoyami

1
Tylko uwaga: np. let mapleader = ' 'Działa również w przypadku ustawienia <Leader>miejsca. Jeśli przy użyciu tej składni występują jakieś skutki uboczne, możesz je wymienić.
— Daniel Andersson

Wygląda na maplocalleaderto, że domyślnie ustawiony jest również odwrotny ukośnik. Może to właśnie oznaczało „to to samo co mapleader, ale na początku nie byłem pewien.
— Mars

Jak mogę cofnąć let mapleader = ","po fakcie? Próbowałem unlet mapleaderrównie dobrze, let mapleader = "\"ale to nie działa. Potrzebuję tego, ponieważ używam tego pakietu github.com/amix/vimrc, w którym sugeruje się posiadanie mojego osobnego pliku konfiguracyjnego. Pakiet mapuje lidera do przecinka, więc chcę to cofnąć w moim osobnym pliku konfiguracyjnym.
— Michael

8

Możesz wyświetlić aktualny klucz lidera w ten sposób :let mapleader


4
Próbuję tego, rozumiem E121: Undefined variable: mapleader.
— Praxeolitic

Następnie z jakiegoś powodu przywódca klonu nie został ustawiony lub został rozbrojony
— craigp

5
Ach, rozumiem. Uwaga dla innych, jeśli więc nie ustawisz wyraźnie klucza wiodącego, pojawi się powyższy błąd.
— Praxeolitic

jeśli dostaniesz E121: Undefined variable: mapleader, oznacza to, że nie został ustawiony, który użyje wartości domyślnej, która jest odwrotnym ukośnikiem"\"
— wisbucky
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.