50 lines
1.7 KiB
Plaintext
50 lines
1.7 KiB
Plaintext
= Vim: клавиши Leader и LocalLeader
|
||
:title-separator: {sp}|
|
||
:category: Vim
|
||
:tags: Vim, команды Vim,
|
||
|
||
Клавиши `Leader` и `LocalLeader` представляют собой префиксы для команд.
|
||
Их текущие значения можно посмотреть командами
|
||
|
||
[source,vim]
|
||
----
|
||
:echo mapleader
|
||
:echo maplocalleader
|
||
----
|
||
|
||
Часто их значения переназначают в файле `$HOME/.vim/vimrc`, например так
|
||
|
||
[source,vim]
|
||
----
|
||
let mapleader = "\<Space>"
|
||
let maplocalleader = ","
|
||
----
|
||
|
||
Новое значение команды генерируется с помощью текущих значений этих
|
||
переменных, таким образом последовательность команд
|
||
|
||
[source,vim]
|
||
----
|
||
let mapleader = ","
|
||
nnoremap <Leader>a :echo "Hey there ,"<CR>
|
||
|
||
let mapleader = "\<Space>"
|
||
nnoremap <Leader>a :echo "Hey there space"<CR>
|
||
----
|
||
|
||
приведёт к тому, что будут созданы две команды `,a` и `<Space>a`,
|
||
следовательно для получения единообразных команд следует помещать
|
||
переназначения в начало файла `$HOME/.vim/vimrc`.
|
||
|
||
`LocalLeader` отличается от `Leader` тем, что действует только для
|
||
текущего буфера, поэтому обычно используется в плагинах, загружаемых
|
||
для определённых типов файлов.
|
||
|
||
Таймауты для ввода команд, использующих клавиши `Leader` и
|
||
`LocalLeader`, настраиваются командой
|
||
|
||
[source,vim]
|
||
----
|
||
set timeout timeoutlen=5000 ttimeoutlen=100
|
||
----
|