Domanda

Voglio usare la funzione expand in un autocmd. In particolare, sto adattando un punta da Paul Biggar e volevo utilizzare il seguente comando automatico nel mio .gvimrc:

autocmd FileType tex set makeprg=rubber-info\ expand("%:t:r").log

- Che ovviamente non funziona. Quindi quello che in realtà voglio che questo significa è che dopo l'apertura di un file tex, la variabile makeprg è impostata al valore della rubber-info filename.log dove filename è il nome del file di TeX senza la sua estensione.

Come posso fare questo?

È stato utile?

Soluzione

Si può provare qualcosa di simile; non testata, potrebbe non essere esattamente a destra, ma utilizzando exe è generalmente come ottenere intorno a questo tipo di problema.

autocmd FileType tex exe "set makeprg=rubber-info\\ " . expand("%:t:r") . ".log"

Altri suggerimenti

L'alternativa è quella di impostare makeprg utilizzando &l:makeprg:

autocmd FileType tex let &l:makeprg = "rubber-info " . expand("%:t:r") . ".log"

Vedere :help let-& se volete maggiori informazioni sulle opzioni di impostazione che utilizzano :let.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top