2019-06-01 21:08:41 +00:00
|
|
|
|
= Vim: клавиши Leader и LocalLeader
|
2019-06-02 16:31:29 +00:00
|
|
|
|
:title-separator: {sp}|
|
2019-06-01 21:08:41 +00:00
|
|
|
|
: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
|
|
|
|
----
|