簡體   English   中英

在vim中執行<Plug>命令

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM