6.11. Привязка команд к клавишам

Пооблема
Некоторые команды Vim слишком длинны и сложны. Вы создали собственную
коллекцию пользовательских команд и теперь хотели бы назначить комбинации
клавиш для их вызова.
Решение
Команда тар связывает нажатия клавиш с произвольной командой или тексто вой строкой в нормальном режиме; команда тар! определяет нажатия клавиш для
режима вставки. Чтобы просмотреть текущие назначения, введите команду :тар
или :тар! без параметров.
ВНИМАНИЕ
Будьте осторожны при создании собственных привязок — не используйте клавиши, с которыми
в Vim уже связаны операции, поскольку команда тар выполнит ваше требование и заменит их,
не сказав ни слова. Кстати говоря, по этой причине стоит сначала как следует освоить Vim,
а уже потом приступать к экспериментам с привязкой.
Новая привязка создается командой вида
:map <F3> :runtine! syntax/2htm1.vim
Команда включает теги HTML в текущий документ в новом окне. Для ее акти вации будет использоваться клавиша F3.
Удаление привязок осуществляется командой вида
:unmap <F3>
Имена клавиш Esc, <CR> и <F2>-<F12> приходится записывать в особом виде,
потому что при простом нажатии клавиша выполнит ту команду, которая за ней
закреплена.
В следующем примере с клавишей F3 связывается команда, которая включает
режим вставки, заключает слово между тегами HTML и выходит из режима встав ки, чтобы вы могли продолжить печать:
:map <F3> i<B><Esc>ea</B><Esc>a
Приведу несколько примеров привязок режима вставки для быстрого добав ления тегов HTML. Они быстро работают, потому что выполняются без выхода
из режима вставки. Маловероятно, чтобы такие комбинации запятых с буквами
встретились в обычном тексте.
:map! .ah <A href="">
:тар! .а </А>
:тар! .b <B><Esc>ea</B><Esc>a
:тар! ,1 <I><Esc>ea</I><Esc>a
:тар! .1 <LI><Esc>ea</LI><Esc>a
Комментарий
Самыми безопасными для привязки являются клавиши F2-F12 и Shift+F2-F12. Но
на практике они обычно быстро заканчиваются. Комбинации «запятая+буква»,
90 Глава б. Редактирование текстовых файлов в JOE и Vim
не встречающиеся в обычных текстах, позволяют создать столько привязок, сколь ко потребуется.
Полная информация о встроенных привязках Vim выводится командой :help
map-which-keys. Также можно запросить у Vim справку по конкретной клавише
или комбинации:
:help CTRL-V
:help F5
:help /b
Помните, что названия клавиш CTRL и F5 должны записываться; не нажимайте
их на клавиатуре.
См. также
Справочная система vim (:help 2html.vim, :help key-mapping).