Вопрос

Я хочу использовать expand функционировать в autocmd.В частности, я адаптирую совет Полом Биггаром, и я хотел использовать следующую автоматическую команду в моем .gvimrc:

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

– Что, конечно, не работает.Итак, что я на самом деле хочу, чтобы это означало, так это то, что при открытии tex файл, the makeprg переменная устанавливается в значение rubber-info filename.log где filename это имя файла TeX без его расширения.

Как я могу этого добиться?

Это было полезно?

Решение

Вы можете попробовать что-то вроде этого;непроверенный, возможно, не совсем правильный, но использующий exe обычно это то, как я справляюсь с такого рода проблемами.

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

Другие советы

Альтернативой является установка makeprg используя &l:makeprg:

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

Видишь :help let-& если вы хотите получить дополнительную информацию о параметрах настройки, используя :let.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top