Jak mogę wydrukować z Vima na pdf?

11

Myślałem, że to dość proste, ale nie mogę tego zrobić: używam gVim i chciałbym uzyskać tekst jako plik pdf. W innych aplikacjach, takich jak Firefox, okno dialogowe drukowania pokazuje mi dostępne drukarki i mogę wybrać drukowanie bezpośrednio do pliku pdf. Jednak w Vimie nie ma takiego okna dialogowego, a plik jest po prostu wysyłany do standardowej drukarki systemu.

Próbowałem następujące:

  • Nie jestem w stanie wykonać „drukowania na pdf” w stosunku do mojego standardowego sposobu drukowania za pośrednictwem okna drukarki Ubuntu.
  • :ha > filekonwertuje mój plik do pliku .ps. To miło, ale .pdf byłby ładniejszy ...
nagietek
źródło
Nie jest to odpowiedź, ale możesz ps2pdfpóźniej użyć narzędzia wiersza polecenia, z plikiem poscript jako danymi wejściowymi.
kebs

Odpowiedzi:

21

Vimnie wyświetli się okno dialogowe drukowania. Zamiast tego możesz wydrukować do pliku PS, otworzyć go w przeglądarce PS i wydrukować stamtąd.

Aby wydrukować do pliku PS z Vim:

:hardcopy > myfile.ps

Możesz także przekonwertować psna pdfużywanie ps2pdf:

ps2pdf myfile.ps
Ron
źródło
1
Pierwsza propozycja oznacza po prostu zmianę rozszerzenia pliku ... Druga może działać w mapowaniu lub coś takiego, będę musiał zrobić więcej badań, aby to zrobić ... Dzięki do tej pory ...
Caligula
1
Jest to tak proste, jak zmiana rozszerzenia;)
Ron
1
To jest niesamowite, zdecydowanie nie wiedziałem, że to była rzecz! Czy możesz umieścić wiele plików w jednym dokumencie?
Ben Kushigian
2
(użytkownik cygwin) :ha > file.pdfnie utworzył prawidłowego pliku pdf. Połączenie tego z ps2dpfdziałaniem, ale daje mi białe tło. :TOhtml file.html
Najbardziej się
Użyłem dzisiaj wariantu tego polecenia:: 1,50 egzemplarza, nie utworzyło ono pliku, po prostu wydrukowało go z linii od 1 do 50.
Dr Beco
8

Opierając się na tym, co inni już stwierdzili ...

Aby utworzyć plik pdf, możesz użyć następującego wiersza polecenia vim:

:hardcopy > %.ps | !ps2pdf %.ps && rm %.ps

Uwaga:

  • %Jest skrótem dla bieżącego pliku, więc HelloWorld.Cbędzie drukowaćHelloWorld.C.pdf
  • Jeśli chcesz również zachować pośredni plik .ps, po prostu pomiń && rm %.ps, uzyskując: :hardcopy > %.ps | !ps2pdf %.ps

Dodatkowo, aby zmienić renderowaną czcionkę, ustaw printfont przed wykonaniem polecenia wydruku. Na przykład, aby wybrać Kuriera 8:

:set printfont=Courier:h8

Podsumowując, zdecydowałem się umieścić w moim .vimrcpliku następujące elementy, aby móc po prostu wykonać :HardcopyPdfpolecenie. To polecenie może również działać na wybranym zakresie w pliku:

set printfont=Courier:h8 "select the font to use when printing
command! -range=% HardcopyPdf <line1>,<line2> hardcopy > %.ps | !ps2pdf %.ps && rm %.ps && echo 'Created: %.pdf'
arr_sea
źródło