ヘッドレス gvim を実行して、構文が強調表示されたコードを HTML に変換するにはどうすればよいですか?

ヘッドレス gvim を実行して、構文が強調表示されたコードを HTML に変換するにはどうすればよいですか?

gvimのカラースキームを実際に動作させるために、HTMLファイルをバッチで生成したい。現在の解決策は、次のスクリプトから得た。http://code.google.com/p/vimcolorschemetest/ただし、これにより、処理したいカラースキームごとに gvim ウィンドウが開きます。

これまでのところ、毎秒ポップアップ表示される煩わしい新しいウィンドウを回避する唯一の方法は、VNCserver を起動し、DISPLAY環境変数を VNCserver の環境変数に設定して、すべての gvim ウィンドウが VNC セッション内のディスプレイに送信されるようにすることです。

ただし、VNC セットアップ全体を回避し、実際にウィンドウが表示されることなく、変換を実行して終了するヘッドレス gvim インスタンスを実行する方法があるかどうかを知りたいです。

ちなみに私は Linux を使っています。

答え1

vim -E -c "TOhtml" -c "w" -c "qa!" -- test.c >/dev/null

を使用するとvim、 よりも速く読み込まれます。 、または の No-X バージョンをgvim使用すると、読み込み時間を少し短縮できます。-Xvim

これを無音にするには、 を使用します>/dev/null。ただし、これにより、vimcomplain( Vim: Warning: Output is not to a terminal) が発生し、少し一時停止するため、 を使用します-E

を試すこともできました-E -sが、どういうわけか適切に使用できず:TOhtml、結果は色付けされず、1 本の線だけになります。

-R -c "set noreadonly"私は、or betterだけを使用してコマンドを少し改良しました-n。これにより、すでにスワップファイルがあるファイルを開くときに通常の警告メッセージが表示されなくなります。書き込み不可のファイル (例: root が所有) を開くときに失敗することを防ぐための特別な方法はありません。

私のヴィムキャットターミナルで使用される vim 構文強調表示の使用例については、GitHub のリポジトリを参照してください。

答え2

問題は、Vim が一度に多くのウィンドウを開きすぎることなのか、それともウィンドウがまったく開かないことなのか、私にはよくわかりません...

後者の場合、私はあなたを助けることはできませんが、新しい Vim では、次のようなことができます (非常に原始的ですが、おそらくもっとうまくできます)。

# gvim -c TOhtml -c w -c q -c q test.c

これにより、現在のカラー スキームを使用して、ファイル test.c に基づいて test.c.xhtml が作成されます。次に、色を変更するために別の -c を使用し、すべてをシェル スクリプトに貼り付けます...

編集:

実際にはウィンドウは表示されません。

そうです、私はバカです。この投稿は無視してください。

関連情報