4

expandで関数を使いたいautocmd。特に、 Paul Biggarによるヒントを採用しており、次の自動コマンドを使用したいと思いました.gvimrc

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

–もちろん機能しません。つまり、私が実際にこれを意味したいのは、texファイルを開くと、makeprg変数が次の値に設定されるということですrubber-info filename.log。ここfilenameで、はファイル拡張子なしのTeXファイルの名前です。

どうすればこれを達成できますか?

4

2 に答える 2

3

このようなことを試すことができます。テストされていない、正確に正しくないかもしれませんが、使用することexeは一般的に私がこの種の問題を回避する方法です。

autocmd FileType tex exe "set makeprg=rubber-info\\ " . expand("%:t:r") . ".log"
于 2009-11-19T20:50:46.750 に答える
2

makeprg別の方法は、以下を使用して設定すること&l:makeprgです。

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

:help let-&を使用した設定オプションの詳細が必要かどうかを確認してください:let

于 2009-11-20T00:44:14.707 に答える