
我想批量生成 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 腳本中...
編輯:
沒有實際顯示任何視窗。
是的,所以我是個白痴。請忽略此帖子。