Що таке <leader> у файлі .vimrc?


1069

Я бачу <leader>в багатьох .vimrcфайлах, і мені цікаво, що це означає?

Для чого він використовується?

Просто загальний огляд мети та використання був би чудовим.


10
Я розумію, що я думаю, що ключове розуміння полягає в тому, що, використовуючи <leader>комбінації клавіш, ви ефективно створюєте простір імен, щоб ваші власні ярлики не наступали на вбудовану поведінку vim. Більше див. У відповіді @Pete Schlette нижче.
Користувач

3
Якщо ви хочете перевірити, що це <leader>таке, використовуйте :echo mapleaderабо :let mapleader. Якщо не визначено, то він буде використовувати за замовчуванням, який є зворотною косою рисою"\"
wisbucky

Відповіді:


984

<Leader>Кнопка відображається \за замовчуванням. Отже, якщо у вас є карта <Leader>t, ви можете виконати її за замовчуванням за допомогою \+ t. Більш детально або повторно призначити його за допомогою mapleaderзмінної див

: керівник допомоги

Для визначення відображення, яке використовує змінну "Mapleader", спеціальний рядок
"<Leader>" може бути використаний. Він замінюється значенням рядка "mapleader".
Якщо "Mapleader" не встановлений або порожній, замість цього використовується зворотна косою рисою.  
Приклад:
    : map <Leader> Інший рядок <Esc>
Працює як:
    : map \ Інший рядок <Esc>
Але після:
    : нехай mapleader = ","
Це працює так:
    : карта, інший рядок <Esc>

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



48
Зміна на ,хороший. Набагато простіше дістатись, ніж \\ і хто все-таки використовує ,vim?
Гейб Мутхарт

41
@Gabe Moothart : h, дає "Повторити останні f, t, F або T у зворотному напрямку [відлік] разів." Це досить зручно.
Максим Кім

10
Тут також є хороша реєстрація: stevelosh.com/blog/2010/09/coming-home-to-vim/#using-the-leader
Сукотто,

66
Мені подобається простір (' ')як клавіша лідера, тому що я можу натиснути на неї будь-якою рукою, роблячи клавішу слідування (будь то в лівій або правій частині клавіатури) однаково швидко запускатись після цього. Наявність клавіші лідера, яка знаходиться лише на одній стороні клавіатури, робить натискання на наступні клавіші на тій же стороні клавіатури відчувати себе трохи більш громіздкими. Нітпікі, я знаю. :)
jefflunt

3
@jefflunt Мій великий палець вже тиждень, тому що я ніколи не використовував його для набору тексту. Тому я використовую лише великий палець лівого пальця для попадання пробілів. Цей ключ лідера простору не приносить мені такої ж користі.
off99555

263

Майте на увазі, що при натисканні <leader>клавіші у вас є лише 1000 мс (за замовчуванням) для введення команди, що слідує за нею.

Це посилюється, оскільки немає візуального зворотного зв’язку (за замовчуванням), що ви натиснули <leader>клавішу, і vim чекає команди; і тому також немає візуального способу дізнатися, коли відбувся цей тайм-аут.

Якщо ви додасте set showcmdдо свого, vimrcви побачите, що ваш <leader>ключ з’явиться в правому нижньому куті vim (зліва від місця розташування курсору), і, можливо, ще важливіше, що ви побачите, як він зникне, коли відбудеться час очікування.

Тривалість тайм-ауту також можна встановити у вашому vimrc, див. :help timeoutlenДля отримання додаткової інформації.


11
«: Set showcmd» показує поточну команду, отже, клавіша лідера під час її активності.
greg

4
За відсутності зворотного зв'язку, хоча за замовчуванням візуального зворотного зв’язку немає, виявляється, що vim подасть системний дзвінок, якщо він не отримає команду через 1000 мс після натискання <leader>.
Бейлі Паркер

113

"Клавіша Leader" - це спосіб розширити потужність ярликів VIM, використовуючи послідовності клавіш для виконання команди. Типовим лідером за замовчуванням є зворотна косої риски Тому, якщо у вас є карта <Leader> Q, ви можете виконати цю дію, ввівши \ Q.


4
\Qв той самий час? або перший ` release it and then Q`
Арнольд Роа

9
@ArnoldRoa Кожен раз, коли перераховуються команди vim, синтаксис ggdGозначає натискати ці чотири клавіші послідовно. Синтаксис <C-w><C-j>означає засоби натискання CTRL + w, а потім CTRL + j.
гобернадор

91

<leader>Ключ Vim - це спосіб створення простору імен для команд, які потрібно визначити. Vim вже відображає більшість клавіш і комбінацій Ctrl+ (деяка клавіша), тож <leader>(some key)де ви (або плагіни) можете додати власну поведінку.

Наприклад, якщо ви часто видаляєте рівно 3 слова та 7 символів, вам може зручно відобразити команду через, nmap <leader>d 3dw7xщоб натискання клавіші лідера, а потім d, видалило 3 слова та 7 символів. Оскільки він використовує ключ-лідер як префікс, ви можете бути (відносно) впевнені, що ви не ступаєте жодної попередньої поведінки.

Ключ за замовчуванням для <leader>це \, але ви можете використовувати команду , :let mapleader = ","щоб перепризначити його на інший ключ ( ,в даному випадку).

На сторінці Usevim на клавіші лідера є додаткова інформація.


8

У моїй системі його \ключ. він використовується для команд, щоб ви могли комбінувати його з іншими символами.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.