Rufen Sie eine Funktion in Vims `autocmd` Befehl
Frage
Ich mag die expand
Funktion in einem autocmd
verwenden. Insbesondere ist mir Anpassung eine Spitze von Paul Biggar und ich wollte den folgenden Auto Befehl in meinem .gvimrc
zu verwenden:
autocmd FileType tex set makeprg=rubber-info\ expand("%:t:r").log
- was natürlich nicht funktioniert. Also, was ich eigentlich ist das bedeuten soll, dass eine tex
Datei beim Öffnen des makeprg
Variable auf den Wert von rubber-info filename.log
gesetzt, wo filename
ist der Name der TeX-Datei ohne die Dateierweiterung.
Wie kann ich das erreichen?
Lösung
Sie können so etwas wie dies versuchen; ungetestet, möglicherweise nicht genau richtig, aber exe
verwendet, ist im Allgemeinen, wie ich diese Art von Problem zu umgehen.
autocmd FileType tex exe "set makeprg=rubber-info\\ " . expand("%:t:r") . ".log"
Andere Tipps
Die Alternative ist, zu Satz makeprg
mit &l:makeprg
:
autocmd FileType tex let &l:makeprg = "rubber-info " . expand("%:t:r") . ".log"
Siehe :help let-&
, wenn Sie weitere Informationen zu den Einstellungen Einstellungen :let
mögen.