Pergunta

Eu quero usar o expand função em um autocmd. Em particular, estou adaptando um gorjeta por Paul Biggar e eu queríamos usar o seguinte comando automático no meu .gvimrc:

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

- O que obviamente não funciona. Então, o que eu realmente quero que isso signifique é que, ao abrir um tex arquivo, o makeprg A variável é definida para o valor de rubber-info filename.log Onde filename é o nome do arquivo tex sem sua extensão de arquivo.

Como posso fazer isso?

Foi útil?

Solução

Você pode tentar algo assim; não testado, pode não estar exatamente certo, mas usando exe Geralmente é assim que eu contorno esse tipo de problema.

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

Outras dicas

A alternativa é definir makeprg usando &l:makeprg:

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

Ver :help let-& Se você quiser mais informações sobre as opções de configurações usando :let.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top