tutorial editar comandos comando vim vim-plugin

editar - Ejecute los comandos<Plug> en vim



vim comandos (1)

<Plug> asignaciones <Plug> están destinadas a ser mapeadas y llamadas a través del mapa. Un mapa <Plug> es un dispositivo para exponer una interfaz limpia de acciones de complementos para el usuario.

Ejemplo: En lugar de asignar alguna clave a alguna función de complemento en el código duro del complemento, como "asignar zz a la acción ''centrar el cursor estéticamente''",

nnoremap <expr> zz ''zz''.float2nr(winheight(0)*0.1).''<C-E>''

es mejor exponer solo un mapeo <Plug> que el usuario pueda reasignar, sin tener que copiar y pegar la "acción".

nnoremap <expr> <Plug>NiceCenterCursor ''zz''.float2nr(winheight(0)*0.1).''<C-E>'' nmap zz <Plug>NiceCenterCursor

Esto es fácil de anular, reutilizar, conectar por el usuario.

<Plug> asignaciones <Plug> solo están activas en los modos para los que se han definido. Para ejecutar una asignación <Plug> que está definida para el modo normal, puede hacer lo mismo que con cualquier comando normal: use :normal (sin el signo de exclamación).

:execute "normal /<Plug>NiceCenterCursor"

Dado que <Plug> realidad representa una clave mágica especial, necesitamos usar :normal junto con :execute y escape the <Plug> .

El mecanismo <Plug> se describe en profundidad en :h 41.11 . Ver también este artículo sobre este tema por un maestro de Vim .

Recientemente encontré un complemento vim usando algo llamado <Plug> . Por ejemplo, hay un comando <Plug>abc_def que me gustaría ejecutar.

He intentado todo como :<Plug>abc_def y similar. Nada funcionó. Y :help <Plug> no dio información.

Sin embargo, pude ejecutarlo creando una asignación :map x <Plug>(unite_redraw) . Entonces puedo ejecutarlo presionando x .

Ahora, ¿hay alguna forma de ejecutar :<Plug>abc_def sin crear un mapeo ficticio solo para ejecutarlo? El complemento real que uso es Unir.