2012-08-14 85 views
5

我正在處理包含許多Unicode字符(≼,⊓,⊔,...)的文本文件。 Vim很好地顯示它們,但是當我打印時,它們被一個通用字符替換。 Gedit在沒有問題的情況下打印出來,但啓動另一個編輯器只是爲了打印,這有點痛苦。vim中的Unicode打印

有沒有辦法讓vim(在Linux/Gnome上)正確打印?我嘗試使用vim-gnome,希望它會使用與gedit相同的基礎結構,但它不會。

回答

8

Vim只能使用8位編碼進行打印。如果有包含所有這些字符的編碼,則只需使用

set printencoding={encoding} 

如果沒有,則無法直接從vim打印。您可以使用:TOhtml命令由@DaoWen建議,做

:TOhtml 
:w /tmp/print.html 
:!command-that-makes-browser-print-a-file(I-do-not-know-one) /tmp/print.html 
:!rm /tmp/print.html 

。您也可以使用我的formatvim插件來打印此通過乳膠PDF格式(不要忘記提交錯誤報告:乳膠xcolor輸出是未經測試):

:Format format latex-xcolor to /tmp/print.tex 
:!pdflatex /tmp/print.tex && lp /tmp/print.pdf && rm /tmp/print.* 

(你可以使用HTML輸出爲好,但不會讓我知道打印它的命令)。當然,你可以將這些映射到一個單一的鍵。

2

嘗試使用:TOhtml命令將文檔轉換爲以HTML格式輸出緩衝區。您應該能夠從瀏覽器打印結果文件。