web-dev-qa-db-ja.com

ヘッドレスgvimを実行して、シンタックスハイライトされたコードをHTMLに変換するにはどうすればよいですか?

HTMLファイルをバッチで生成して、いくつかのgvimカラースキームの動作を示したいと思います。 http://code.google.com/p/vimcolorschemetest/ のスクリプトから現在のソリューションを取得しましたが、これにより、処理する各カラースキームのgvimウィンドウが開きます。

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

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

ところで、私はLinuxを使用しています。

4
Jacobo de Vera
vim -E -c "TOhtml" -c "w" -c "qa!" -- test.c >/dev/null

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

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

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

-R -c "set noreadonly"以上の-nを単独で使用して、コマンドを少し刺激します。これにより、すでにスワップファイルがあるファイルを開くときに通常の警告メッセージが表示されなくなります。書き込み不可能なファイル(たとえば、rootが所有する)を開くのに失敗するのを防ぐために特別なことは何もありません。

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

3
ofavre

あなたの問題がVimが一度に開くウィンドウが多すぎるのか、それともウィンドウを開くのか、本当にわかりません...

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

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

これにより、現在の配色を使用してファイルtest.cに基づいてtest.c.xhtmlが作成されます。次に、おそらく別の-cを使用して色を変更し、すべてをシェルスクリプトに貼り付けます...

編集:

実際にウィンドウが表示されることはありません。

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

0
R. Vestergaard