Bagaimana saya bisa mencetak dari Vim ke pdf?

11

Saya akan berpikir ini agak sederhana, tetapi saya tidak menyelesaikannya: Saya menggunakan gVim dan ingin mendapatkan teks sebagai file pdf. Dalam aplikasi lain seperti Firefox dialog-cetak menunjukkan kepada saya printer yang tersedia dan saya dapat memilih untuk mencetak langsung ke file pdf. Namun dalam Vim tidak ada dialog seperti itu dan file hanya dikirim ke printer standar sistem.

Saya mencoba yang berikut ini:

  • Saya tidak dapat membuat "print-to-pdf" -sesuai dengan cara pencetakan standar saya melalui jendela printer Ubuntu.
  • :ha > filemengkonversi file saya menjadi file .ps. Itu bagus, tetapi .pdf akan lebih baik ...
caligula
sumber
Bukan jawaban, tetapi Anda dapat menggunakan ps2pdfalat baris perintah sesudahnya, dengan file poscript sebagai input.
kebs

Jawaban:

21

Vimtidak akan menampilkan kotak dialog cetak kepada Anda. Sebagai gantinya, Anda dapat mencetak ke file PS, membukanya di PS viewer dan mencetak dari sana.

Untuk mencetak ke file PS dari Vim:

:hardcopy > myfile.ps

Anda juga dapat mengonversi psuntuk pdfmenggunakan ps2pdf:

ps2pdf myfile.ps
Ron
sumber
1
Proposal pertama berarti hanya mengubah ekstensi file ... Yang kedua mungkin bekerja dalam pemetaan atau semacamnya, saya harus melakukan penelitian lebih lanjut untuk menyelesaikannya ... Terima kasih sejauh ini ...
caligula
1
Semudah mengubah ekstensi;)
Ron
1
Ini luar biasa, pasti tidak tahu ini hal! Bisakah Anda memasukkan banyak file ke dalam satu dokumen?
Ben Kushigian
2
(pengguna cygwin) :ha > file.pdftidak membuat file pdf yang valid. Menggabungkannya dengan ps2dpfberhasil tetapi memberi saya latar belakang putih. Saya paling bahagia dengan :TOhtml file.htmldan kemudian mencetak file html ini ke pdf
lucidbrot
Saya menggunakan variasi dari perintah ini hari ini:: 1,50 hardcopy, itu tidak membuat file, hanya dicetak dari baris 1 sampai 50.
Dr Beco
8

Membangun dari apa yang telah dinyatakan orang lain ...

Anda dapat menggunakan perintah vim single-line berikut untuk membuat file .pdf:

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

catatan:

  • Ini %adalah singkatan untuk nama file saat ini, sehingga HelloWorld.Cakan dicetak keHelloWorld.C.pdf
  • Jika Anda juga ingin mempertahankan file .ps perantara, cukup hapus && rm %.ps, dapatkan: :hardcopy > %.ps | !ps2pdf %.ps

Selain itu, untuk mengubah font yang diberikan, atur printfont sebelum menjalankan perintah hardcopy. Misalnya, untuk memilih Kurir 8:

:set printfont=Courier:h8

Menyatukan semuanya, saya memilih untuk memasukkan yang berikut ini di .vimrcfile saya sehingga saya bisa menjalankan :HardcopyPdfperintah. Perintah ini juga dapat beroperasi pada rentang yang dipilih dalam file:

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
sumber