[英]Execute <Plug> commands in vim
我最近發現了一個使用名為<Plug>
的vim插件。 例如,我想執行一個命令<Plug>abc_def
。
我嘗試了一切:<Plug>abc_def
和類似的。 沒有任何效果。 並且:help <Plug>
沒有提供任何信息。
但是,我已經能夠通過創建映射來執行它:map x <Plug>(unite_redraw)
。 然后我可以按x
執行它。
現在,有沒有辦法執行:<Plug>abc_def
而不創建虛擬映射只是為了運行它? 我使用的實際插件是Unite。
<Plug>
映射意味着通過映射進行映射和調用。 <Plug>
映射是向用戶公開插件操作的干凈界面的設備。
示例:而不是將某些鍵映射到插件的硬編碼中的某些插件函數,例如“將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>
映射,您可以像使用任何普通命令一樣執行:use :normal
(不帶感嘆號)。
:execute "normal \<Plug>NiceCenterCursor"
由於<Plug>
實際上代表了一個特殊的魔術鍵,我們需要使用:normal
with :execute
並轉義<Plug>
。
<Plug>
機制在下面詳細描述:h 41.11
。 另請參閱Vim master關於此主題的文章 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.