49 lines
1.7 KiB
Markdown
49 lines
1.7 KiB
Markdown
|
---
|
|||
|
title: "Vim: клавиши Leader и LocalLeader"
|
|||
|
category: Vim
|
|||
|
tags: Vim, команды Vim
|
|||
|
summary:
|
|||
|
...
|
|||
|
|
|||
|
Клавиши `Leader` и `LocalLeader` представляют собой префиксы для команд.
|
|||
|
Их текущие значения можно посмотреть командами
|
|||
|
|
|||
|
```vim
|
|||
|
:echo mapleader
|
|||
|
:echo maplocalleader
|
|||
|
```
|
|||
|
|
|||
|
Часто их значения переназначают в файле `$HOME/.vimrc`, например так
|
|||
|
|
|||
|
```vim
|
|||
|
let mapleader = "\<Space>"
|
|||
|
let maplocalleader = ","
|
|||
|
```
|
|||
|
|
|||
|
Новое значение команды генерируется с помощью текущих значений этих
|
|||
|
переменных, таким образом последовательность команд
|
|||
|
|
|||
|
```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/.vimrc`.
|
|||
|
|
|||
|
`LocalLeader` отличается от `Leader` тем, что действует только для
|
|||
|
текущего буфера, поэтому обычно используется в плагинах, загружаемых
|
|||
|
для определённых типов файлов.
|
|||
|
|
|||
|
Таймауты для ввода команд, использующих клавиши `Leader` и
|
|||
|
`LocalLeader`, настраиваются командой
|
|||
|
|
|||
|
```vim
|
|||
|
set timeout timeoutlen=5000 ttimeoutlen=100
|
|||
|
```
|
|||
|
|