mapowanie to oznaczało do mapowania i wywoływania poprzez mapę. Mapa <Plug>
to urządzenie, które ujawnia użytkownikowi czysty interfejs działań wtyczek.
Przykład: Zamiast mapowania niektóre klucz do niektórych funkcji wtyczki w twardej kod wtyczki, takich jak „mapa zz
do działania Centrum kursor estetycznie '”
nnoremap <expr> zz 'zz'.float2nr(winheight(0)*0.1).'<C-E>'
jest lepiej eksponować tylko mapowane mapowanie <Plug>
, które użytkownik może następnie zmienić, bez konieczności kopiowania i wklejania "akcji".
nnoremap <expr> <Plug>NiceCenterCursor 'zz'.float2nr(winheight(0)*0.1).'<C-E>'
nmap zz <Plug>NiceCenterCursor
Jest to łatwe do zastąpienia, ponownego użycia, podłączenia przez użytkownika.
<Plug>
mapowania są aktywne tylko w trybach zostały one zdefiniowane dla. Aby wykonać odwzorowanie <Plug>
zdefiniowane dla trybu normalnego, można zrobić tak, jak w przypadku zwykłego polecenia: użyj :normal
(bez wykrzyknika).
:execute "normal \<Plug>NiceCenterCursor"
Od <Plug>
faktycznie reprezentuje specjalnego klucza magiczne, musimy użyć :normal
wraz z :execute
i uciec <Plug>
.
Mechanizm <Plug>
został szczegółowo opisany pod numerem :h 41.11
. Zobacz także this article about this topic by a Vim master.
Och, więc ważne jest, aby 'nmap' był' nmap', a nie 'nnoremap', ponieważ będzie traktował' NiceCenterCursor' jako kolejne mapowanie. Poprawny? –
Tarrasch
@ Tarrasch Dokładnie, prawostronna strona mapy musi być remapowana, aby to zadziałało. To samo z ': normal': niezbędne jest użycie (remapping)': normal', a nie non remapping ': normal!'. – glts