dsp-site/wiki/Vim/Клавиши Leader и LocalLeader.adoc

49 lines
1.7 KiB
Plaintext
Raw Normal View History

2019-06-01 21:08:41 +00:00
= Vim: клавиши Leader и LocalLeader
:category: Vim
:tags: Vim, команды Vim,
2019-04-20 20:24:14 +00:00
Клавиши `Leader` и `LocalLeader` представляют собой префиксы для команд.
Их текущие значения можно посмотреть командами
2019-06-01 21:08:41 +00:00
[source,vim]
----
2019-04-20 20:24:14 +00:00
:echo mapleader
:echo maplocalleader
2019-06-01 21:08:41 +00:00
----
2019-04-20 20:24:14 +00:00
2019-06-01 21:08:41 +00:00
Часто их значения переназначают в файле `$HOME/.vim/vimrc`, например так
2019-04-20 20:24:14 +00:00
2019-06-01 21:08:41 +00:00
[source,vim]
----
2019-04-20 20:24:14 +00:00
let mapleader = "\<Space>"
let maplocalleader = ","
2019-06-01 21:08:41 +00:00
----
2019-04-20 20:24:14 +00:00
Новое значение команды генерируется с помощью текущих значений этих
переменных, таким образом последовательность команд
2019-06-01 21:08:41 +00:00
[source,vim]
----
2019-04-20 20:24:14 +00:00
let mapleader = ","
nnoremap <Leader>a :echo "Hey there ,"<CR>
let mapleader = "\<Space>"
nnoremap <Leader>a :echo "Hey there space"<CR>
2019-06-01 21:08:41 +00:00
----
2019-04-20 20:24:14 +00:00
приведёт к тому, что будут созданы две команды `,a` и `<Space>a`,
следовательно для получения единообразных команд следует помещать
2019-06-01 21:08:41 +00:00
переназначения в начало файла `$HOME/.vim/vimrc`.
2019-04-20 20:24:14 +00:00
`LocalLeader` отличается от `Leader` тем, что действует только для
текущего буфера, поэтому обычно используется в плагинах, загружаемых
для определённых типов файлов.
Таймауты для ввода команд, использующих клавиши `Leader` и
`LocalLeader`, настраиваются командой
2019-06-01 21:08:41 +00:00
[source,vim]
----
2019-04-20 20:24:14 +00:00
set timeout timeoutlen=5000 ttimeoutlen=100
2019-06-01 21:08:41 +00:00
----