Як я можу дізнатися, для чого встановлено <Leader>? І чи можна зробити перезапис <Leader>?


64

Як я можу зрозуміти, який ключ встановлений як мій <Leader>, і як його перезаписати?

Відповіді:


62

За замовчуванням ваш <leader>є \, зворотний нахил. Ви можете перевірити це за допомогою:

:echo mapleader

Якщо це дає вам E121: Undefined variable: mapleader, це означає, що він встановлений за замовчуванням \. Якщо це дає щось інше, то це те, що :-)

Ви можете легко переробити його. Я відобразив його на пробіл:

:let mapleader = "\<Space>"

Зверніть увагу, що значення mapleaderвикористовується в момент визначення відображення. Отож цей приклад:

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

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

Зробимо два відображення: ,aі <Space>a.

Це означає, що поточне значення - mapleaderце не обов'язково значення, яке було використано для визначення ваших відображень!

Крім того, є той maplocalleader, що є тим самим, що mapleader, за винятком того, що він використовується <LocalLeader>і що він локальний для поточного буфера.

Більш детальну інформацію <Leader>можна знайти у довідці Віма щодо :help mapleader.


3
Для чого нам потрібен зворотний нахил "\<Space>"?
— thameera

10
Зворотна косої риски потрібна, оскільки в іншому випадку vim розпізнає "<Space>" як звичайний рядок, а не код для клавіші пробілу. Див :help expr-stringприклади.
— tokoyami

1
Лише зауваження: наприклад, let mapleader = ' 'також працює для встановлення <Leader>місця. Якщо можливі побічні ефекти, використовуючи цей синтаксис, не соромтесь їх згадувати.
— Даніель Андерссон

Здається, що maplocalleaderтакож за замовчуванням встановлено звороту косу рису. Можливо, це означало "те саме mapleader, що я, але я не був впевнений спочатку.
— Марс

Як я можу скасувати let mapleader = ","після факту? Я також спробував unlet mapleader, let mapleader = "\"але це не працює. Мені це потрібно, тому що я використовую цей пакет github.com/amix/vimrc, де він пропонує мати власний окремий файл конфігурації. Пакет вказує на лідер комами, тому я хочу скасувати це в моєму окремому конфігураційному файлі.
— Майкл

8

Ви можете відобразити поточний ключ лідера таким чином :let mapleader


4
Пробуючи це, я отримую E121: Undefined variable: mapleader.
— Праксеоліт

Тоді чомусь Mapleader не був встановлений або був
— знятий

5
О, зрозуміло. Тоді лише примітка для інших, якщо ви чітко не встановите ключ лідера, то ви отримаєте помилку вище.
— Праксеоліт

якщо ви отримаєте E121: Undefined variable: mapleader, це означає, що він не встановлений, що буде використовувати за замовчуванням, а це зворотна косої риски"\"
— wisbucky
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.