0

という楽譜作成ソフトを使っていlilypondます。独自のテキストライクな記譜マークアップ言語をさまざまな形式にコンパイルできますが、その中にはpngファイルがあります。

付属の別のコマンドは、タグを含むドキュメントをコンパイルし、その場所に次のようなコード スニペットを配置するlilypondのは、コンパニオン です。lilypond-book<lilypond>

<p>
    <a href="10/lily-9f8f7b5d.ly">
    <img align="middle" border="0" src="10/lily-9f8f7b5d.png"
    alt="[image of music]">
    </a>
</p>

だから私の願いは、 の大ファンとして、VIMフィルタリング機能を使用してこの種のジョブを自動化することです。たとえば、次のようなドキュメントにいる場合:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>html-with-notation</title>
    </head>
    <body>
        This is some text, before including lilypond notation file

        And here is the melody:
        <lilypondfile>andantino.ly</lilypondfile>/* <-- TAG THAT WILL BE RECOGNIZED BY LILYPOND-BOOK  */

        Enjoy!

    </body>
</html>

<lilypond>..そのタグを、コマンドから生成された出力に置き換えたいと思いlilypond-bookます。しかし、それはそれほど単純でlilypond-book はありません。なぜなら、 は ではなくstdoutというファイルに書き込むからstdin.htmlです。(入力がそこから来ていることを認識して、自動的にそのように名前を付けます)

したがって、これを実行している間:

:.!lilypond-book -f html - 2>/dev/null
        // ( with errors redirected to `/dev/null` to prevent polluting my buffer with messages being output.)

すべての出力がファイルに送られているため、当然のことですが、何も返されません。

の部分からすべての処理が完了した後、vim バッファー内の現在の行にそのstdin.htmlファイルを読み戻すにはどうすればよいでしょうか? lilypond-bookもちろん、手動で行う必要はありません:r stdin.html

また、おまけとして、ファイルで作業している場合に、その stdin.html をバッファに読み込む前に、それを処理して最初pandocに変換することは可能でしょうか?markdownmarkdown

4

1 に答える 1

1

あなたは言えた

:.!lilypond-book -f html - 2>/dev/null && cat stdin.html
于 2014-09-19T22:20:54.160 に答える