3

これは、Paul Biggarによって書かれたここで受け入れられた回答を参照しています。

これらすべてのオプションをしばらく検討した後、次の解決策に落ち着きました。

ログ ファイルからエラーと警告を取得するには、rubber-info を使用します。上記のスクリプトは、ログ ファイルを t.log に保存します。ヴィムで:

 autocmd FileType tex set makeprg=rubber-info\ t.log
 autocmd FileType tex set errorformat=%f:%l:\ %m

「[LaTeXファイル]を継続的にビルドし、pdfを更新する」ために、彼のgithubスクリプトを実行したいと思います。彼が実行方法を正確に説明していないことを考えると、これはかなり簡単な手順だと思います。しかし、私は vim の初心者であり、プログラミングや github 全般についてほとんど知らないため、どのように始めればよいかまったくわかりません。

私は高低を検索しましたが、進歩はありませんでした。コードが Python でコンパイルされ、スクリプトとして実行されるか、または同様のものとして実行されるかどうかはわかりません。私はあなたの助けに感謝します!

編集:コメントの議論に従って、スクリプトを実行可能にしました。しかし、私はまだそれを実行する方法がわかりません..?

4

1 に答える 1

1

The

#!/usr/bin/env python

スクリプトの上部にある状態とimport vim、本文にないことは、シェルから(またはvimから)実行する必要があることを明確に示しています。

chmod +x /path/to/texbuild # Needed only once
/path/to/texbuild {script-args}

。さらに詳しく調べてみると、最初で唯一の引数として1つのtexファイルが必要であることがわかります(sys.argv言及されている唯一の場所は48行目です)。したがって、次を使用して実行する必要があります。

augroup AutorunTexbuild
    autocmd!
    autocmd FileType tex :if !exists('b:runtexbuild') | call system('/path/to/texbuild '.shellescape(@%)) | let b:runtexbuild=1 | endif
    autocmd VimLeave * :call system('killall -TERM texbuild')
augroup END

。これは、一度に1つのvimインスタンスでのみtexファイルを編集することを前提としています。著者は、そのスクリプトを手動で実行することを期待していたようです。

于 2012-10-17T15:12:26.827 に答える