2012-08-14 16 views
5

Pracuję z plikami tekstowymi zawierającymi wiele znaków Unicode (≼, ⊓, ⊔, ...). Vim wyświetla je w porządku, ale po wydrukowaniu są zastępowane przez znak ogólny. Gedit drukuje je bez problemu, ale trochę trudu sprawia uruchomienie innego edytora tylko po to, by go wydrukować.Drukowanie w Unicode w vim

Czy istnieje sposób na prawidłowe drukowanie vim (na Linux/Gnome)? Próbowałem używać vim-gnome, w nadziei, że użyje tej samej infrastruktury co gedit, ale tak nie jest.

Odpowiedz

8

Vim może używać tylko 8-bitowego kodowania do drukowania. Jeśli istnieje kodowania, który obejmuje wszystkie te postacie wszystko, co potrzebne jest do korzystania

set printencoding={encoding} 

Jeśli nie ma to nie można drukować bezpośrednio z vim. Można użyć :TOhtml polecenia sugerowanego przez @DaoWen, zrobić

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

. Można również korzystać z mojego formatvim wtyczki do drukowania to PDF poprzez lateksu (nie zapomnij złożyć raporty o błędach: wyjście lateksu xcolor jest niesprawdzone):

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

(można użyć wyjścia HTML, jak również, ale że nie sprawi, żebym znał polecenie drukowania). Oczywiście można je odwzorować na pojedynczy klucz.

2

Spróbuj użyć polecenia :TOhtml, aby przekonwertować dokument na format wyjściowy bufora w formacie HTML. Powinieneś być w stanie wydrukować wynikowy plik z przeglądarki.