Appeler une fonction dans la commande` autocmd ' de Vim
je veux utiliser la fonction expand
dans un autocmd
. En particulier, je suis en train d'adapter un conseil par Paul Biggar et je voulais utiliser la commande automatique suivante dans mon .gvimrc
:
autocmd FileType tex set makeprg=rubber-info expand("%:t:r").log
– Qui bien sûr ne fonctionne pas. Donc ce que je veux réellement que cela signifie est que lors de l'ouverture d'un fichier tex
, la variable makeprg
est définie à la valeur de rubber-info filename.log
où filename
est le nom du fichier TeX sans son extension de fichier.
Comment puis-je accomplir?
2 réponses
vous pouvez essayer quelque chose comme cela; non testé, peut ne pas être exactement juste, mais en utilisant exe
est généralement comment je obtiens ce genre de problème.
autocmd FileType tex exe "set makeprg=rubber-info\ " . expand("%:t:r") . ".log"
l'alternative est de mettre makeprg
en utilisant &l:makeprg
:
autocmd FileType tex let &l:makeprg = "rubber-info " . expand("%:t:r") . ".log"
Voir :help let-&
si vous voulez plus d'informations sur les options de paramètres à l'aide de :let
.