Что такое <Лидер>?

36

Я <Leader>часто вижу в файлах vimrc других людей. Как этот.

Что это такое? Что оно делает?

Линдон Уайт
источник
10
Акшай: Не дубликат, который хочет проверить ценность <leader>, этот хочет знать, что <leader>значит. Так что это значение можно интерпретировать. Это разница между вопросом "В движении Ньютона, что такое v?" и "Учитывая, что яблоко упало с 10-метрового дерева, что означает v, когда оно падает на землю?"
Линдон Уайт
3
Таким образом, нет никакой разницы между <Leader>и <leader>, не так ли?
Никос Александрис

Ответы:

25

Vim полон различных команд, которые назначаются практически всем клавишам на клавиатуре. Но это вызывает проблему: какие команды мы можем использовать для наших собственных команд, не мешая существующим? И в этот момент <Leader>ключ вступает в игру. Думайте о <Leader>ключе как о пространстве имен для любых пользовательских команд. Вы можете назначить любую команду на отображение с лидирующим символом, <Leader>и вы можете быть полностью уверены, что ваше отображение ничего не сломает.

Ключ по умолчанию для <Leader>- это обратная косая черта.

Александр Мышов
источник
15

Цитировать :help <Leader>:

Чтобы определить отображение, которое использует переменную "mapleader", можно использовать специальную строку " <Leader>". Он заменяется строковым значением «mapleader». Если «mapleader» не установлен или не пуст, вместо него используется обратный слеш. Пример:

   :map <Leader>A  oanother line<Esc>  

Работает как:

   :map \A  oanother line<Esc>  

Но после:

   :let mapleader = ","  

Это работает как:

   :map ,A  oanother line<Esc>

Другими словами, он позволяет первому ключу сопоставлений (указанному в терминах <Leader>) быть определенным пользователем.

Джон О'М.
источник
8
Я полагаю, что обоснование <Leader>заключается в том, что он предоставляет вам «чистый» способ предоставления пользовательских ярлыков, не переопределяя существующие ярлыки Vim.
Мартин Турной