Ответ 1
<Plug>
отображения должны отображаться и вызываться через карту. Карта <Plug>
- это устройство, которое предоставляет пользователю доступ к чистому интерфейсу действий плагина.
Пример: Вместо того, чтобы отображать некоторый ключ для некоторой функции плагина в жестком коде плагина, например, "map zz
для централизованного курсора действия",
nnoremap <expr> zz 'zz'.float2nr(winheight(0)*0.1).'<C-E>'
лучше всего отобразить только имя с именем <Plug>
, которое пользователь может переназначить, без необходимости копировать и вставлять "действие".
nnoremap <expr> <Plug>NiceCenterCursor 'zz'.float2nr(winheight(0)*0.1).'<C-E>'
nmap zz <Plug>NiceCenterCursor
Затем это легко переопределить, повторно использовать, подключить к пользователю.
<Plug>
отображения активны только в режимах, для которых они определены. Чтобы выполнить сопоставление <Plug>
, которое определено для нормального режима, вы можете сделать так же, как с любой обычной командой: используйте :normal
(без восклицательного знака).
:execute "normal \<Plug>NiceCenterCursor"
Так как <Plug>
фактически представляет собой специальный магический ключ, нам нужно использовать :normal
вместе с :execute
и выйти из <Plug>
.
Механизм <Plug>
подробно описан в :h 41.11
. См. Также эту статью об этой теме с помощью мастера Vim.