如何執行 headless gvim 將語法突出顯示的程式碼轉換為 HTML?

如何執行 headless gvim 將語法突出顯示的程式碼轉換為 HTML?

我想批量生成 HTML 文件以顯示一些正在運行的 gvim 顏色方案。我從腳本中獲取了當前的解決方案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,它的載入速度會比gvim.您可以使用-X或 No-X 版本來加快載入時間vim

為了使其靜音,請使用>/dev/null.但這會讓vim抱怨 ( Vim: Warning: Output is not to a terminal) 並暫停一下,因此我們使用-E.

我們本來可以嘗試一下-E -s,但我不知何故無法:TOhtml正確使用,結果是無色的,而且是一行。

-R -c "set noreadonly"我透過使用或單獨使用來稍微簡化命令-n。這可以防止在開啟已有交換文件的文件時出現常見的警告訊息。沒有什麼特別的措施可以防止無法開啟不可寫檔案(例如 root 擁有的檔案)。

看我的維姆貓GitHub 上的儲存庫,了解終端機中使用的 vim 語法突出顯示的範例用法。

答案2

我真的無法判斷你的問題是 Vim 一次打開太多窗口,還是根本沒有打開任何窗口...

後一種情況我無法幫助你,但是,在任何較新的 Vim 中,你可以做這樣的事情(非常原始,可能可以做得更好):

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

這將使用目前的配色方案基於檔案 test.c 建立一個 test.c.xhtml 。然後,也許另一個 -c 來更改顏色,將其全部貼到 shell 腳本中...

編輯:

沒有實際顯示任何視窗。

是的,所以我是個白痴。請忽略此帖子。

相關內容