Что означает ‹leader› в файле .vimrc?

Я вижу <leader> во многих .vimrc файлах, и мне интересно, что это означает?

Для чего это используется?

Было бы здорово просто сделать общий обзор цели и использования.


person Bob Martens    schedule 19.11.2009    source источник
comment
Я начинаю понимать, что, по моему мнению, ключевое понимание состоит в том, что, используя <leader> в сочетаниях клавиш, вы эффективно создаете пространство имен, чтобы ваши пользовательские сочетания клавиш не влияли на встроенное поведение vim. См. Ответ @Pete Schlette ниже, чтобы узнать больше.   -  person User    schedule 10.05.2014
comment
Если вы хотите проверить свой <leader>, используйте :echo mapleader или :let mapleader. Если не определено, будет использоваться значение по умолчанию - обратная косая черта "\".   -  person wisbucky    schedule 26.06.2019


Ответы (5)


Ключ <Leader> по умолчанию сопоставлен с \ . Итак, если у вас есть карта <Leader>t, вы можете выполнить ее по умолчанию с помощью \ + t. Для получения дополнительных сведений или переназначения его с помощью переменной mapleader см.

: помочь лидеру

To define a mapping which uses the "mapleader" variable, the special string
"<Leader>" can be used.  It is replaced with the string value of "mapleader".
If "mapleader" is not set or empty, a backslash is used instead.  
Example:
    :map <Leader>A  oanother line <Esc>
Works like:
    :map \A  oanother line <Esc>
But after:
    :let mapleader = ","
It works like:
    :map ,A  oanother line <Esc>

Note that the value of "mapleader" is used at the moment the mapping is
defined.  Changing "mapleader" after that has no effect for already defined
mappings.


person Vereb    schedule 19.11.2009
comment
Изменение на , - хорошее решение. Намного легче достичь, чем \\ , и кто вообще использует , в vim? - person Gabe Moothart; 19.11.2009
comment
Спасибо за помощь, это определенно указывает мне правильное направление. - person Bob Martens; 19.11.2009
comment
@ Гейб Мутхарт. : h, дает вам Повторять последние f, t, F или T в противоположном направлении [count] раз. Это довольно удобно. - person Maxim Kim; 20.11.2009
comment
Здесь также есть хорошая запись: stevelosh. ru / blog / 2010/09 / going-home-to-vim / # using-the-leader - person Sukotto; 27.05.2011
comment
@sehe Да, ты прав, не уверен, как я это пропустил, учитывая, что он находится прямо наверху! Я удалил свой комментарий. - person KomodoDave; 20.11.2012
comment
Мне нравится пробел (' ') в качестве ведущей клавиши, потому что я могу нажимать на нее любой рукой, благодаря чему последующая клавиша (независимо от того, находится ли она слева или справа от клавиатуры) одинаково быстро срабатывает после этого. Наличие ведущей клавиши, которая находится только на одной стороне клавиатуры, делает нажатие последующих клавиш на той же стороне клавиатуры немного более громоздким. Нитпики, я знаю. :) - person jefflunt; 28.07.2013
comment
Я не понимаю, как это отвечает, какова цель лидера или почему вы хотели бы его использовать. - person User; 08.05.2014
comment
@User Это в основном личное пространство имен для команд. Вы знаете, что он не будет использоваться плагинами или более новыми версиями vim. - person Miles Rout; 14.10.2014
comment
@jefflunt У меня уже неделя большого пальца правой руки, потому что я никогда не использовал его для набора текста. Поэтому я использую только большой палец левой руки для пробелов. Думаю, этот ключ космического лидера не дает мне такой же пользы. - person off99555; 03.11.2016
comment
Как печатник, я никогда не использовал большой палец ни для чего другого, кроме пространства, поэтому пространство кажется мне идеальным лидером. - person shaahiin; 20.03.2018

Имейте в виду, что когда вы нажимаете кнопку <leader>, у вас есть только 1000 мс (по умолчанию) для ввода следующей за ней команды.

Это усугубляется тем, что нет визуальной обратной связи (по умолчанию) о том, что вы нажали клавишу <leader> и vim ожидает команды; и поэтому нет визуального способа узнать, когда наступил этот тайм-аут.

Если вы добавите set showcmd в свой vimrc, то вы увидите, что ваш <leader> ключ появляется в нижнем правом углу vim (слева от курсора) и, что, возможно, более важно, вы увидите, что он исчезнет, когда тайм-аут случается.

Продолжительность тайм-аута также можно установить в вашем vimrc, дополнительную информацию см. В :help timeoutlen.

person davetapley    schedule 17.11.2011
comment
«: Set showcmd» показывает текущую команду, следовательно, ведущую клавишу, когда она активна. - person greg; 05.09.2014
comment
Из-за отсутствия обратной связи, хотя по умолчанию нет визуальной обратной связи, похоже, что vim издаст системный звонок, если он не получит команду в течение 1000 мс после того, как вы нажмете <leader>. - person Bailey Parker; 21.07.2015

«Лидерская клавиша» - это способ расширить возможности ярлыков VIM с помощью последовательностей клавиш для выполнения команды. Клавиша выноски по умолчанию - обратная косая черта. Следовательно, если у вас есть карта ‹Leader> Q, вы можете выполнить это действие, набрав \ Q.

person Mikeage    schedule 19.11.2009
comment
@ArnoldRoa Всякий раз, когда перечислены команды vim, синтаксис ggdG означает последовательное нажатие этих четырех клавиш. Синтаксис типа <C-w><C-j> означает нажатие CTRL + w, а затем CTRL + j. - person gobernador; 30.06.2017

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

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

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

На странице Usevim о главном ключе есть дополнительная информация .

person Pete Schlette    schedule 06.05.2014

В моей системе это ключ \. он используется для команд, так что вы можете комбинировать его с другими символами.

person Arkaitz Jimenez    schedule 19.11.2009