Llamar a una función de comando `autocmd` de Vim
Pregunta
Quiero utilizar la función expand
en un autocmd
. En particular, me estoy adaptando un inclinar por Paul Biggar y quería utilizar el siguiente comando automático en mi .gvimrc
:
autocmd FileType tex set makeprg=rubber-info\ expand("%:t:r").log
- que por supuesto no funciona. Así que lo que realmente quiero que esto significa es que al abrir un archivo tex
, la variable makeprg
se establece en el valor de rubber-info filename.log
donde filename
es el nombre del archivo TeX sin su extensión de archivo.
¿Cómo puedo lograr esto?
Solución
Puede intentar algo como esto; no probado, puede que no sea exactamente correcto, pero utilizando exe
es generalmente cómo consigo alrededor de este tipo de problema.
autocmd FileType tex exe "set makeprg=rubber-info\\ " . expand("%:t:r") . ".log"
Otros consejos
La alternativa es fijar makeprg
usando &l:makeprg
:
autocmd FileType tex let &l:makeprg = "rubber-info " . expand("%:t:r") . ".log"
Vea :help let-&
si desea obtener más información sobre las opciones de configuración mediante :let
.