ฉันจะพิมพ์จาก Vim เป็น pdf ได้อย่างไร


11

ฉันคิดว่ามันค่อนข้างง่าย แต่ฉันไม่ได้ทำ: ฉันใช้ gVim และต้องการให้ข้อความเป็นไฟล์ pdf ในแอปพลิเคชั่นอื่นเช่น Firefox กล่องโต้ตอบการพิมพ์จะแสดงเครื่องพิมพ์ที่มีให้ฉันและฉันสามารถเลือกพิมพ์โดยตรงไปยังไฟล์ PDF ได้ อย่างไรก็ตามใน Vim จะไม่มีการโต้ตอบดังกล่าวและไฟล์จะถูกส่งไปยังเครื่องพิมพ์มาตรฐานของระบบ

ฉันพยายามต่อไปนี้:

  • ฉันไม่สามารถทำ "print-to-pdf" - วิธีการพิมพ์มาตรฐานของฉันผ่านหน้าต่างเครื่องพิมพ์ของ Ubuntu
  • :ha > fileแปลงไฟล์ของฉันเป็น. ps-file เยี่ยมมาก แต่. pdf จะดีกว่า ...

ไม่ใช่คำตอบ แต่คุณสามารถใช้ps2pdfเครื่องมือบรรทัดคำสั่งหลังจากนั้นโดยใช้ไฟล์ poscript เป็นอินพุต
kebs

คำตอบ:


22

Vimจะไม่แสดงกล่องโต้ตอบการพิมพ์ แต่คุณสามารถพิมพ์ไฟล์ PS เปิดในโปรแกรมดู PS และพิมพ์จากที่นั่น

หากต้องการพิมพ์ไปยังไฟล์ PS จากVim:

:hardcopy > myfile.ps

นอกจากนี้คุณยังสามารถแปลงpsไปpdfใช้ps2pdf:

ps2pdf myfile.ps

1
ข้อเสนอแรกหมายถึงเพียงแค่เปลี่ยนนามสกุลไฟล์ ... ส่วนที่สองอาจทำงานในการแมปหรืออะไรทำนองนั้นฉันจะต้องทำการวิจัยเพิ่มเติมเพื่อที่จะทำสิ่งนั้น ... ขอบคุณจนถึงตอนนี้ ...
caligula

1
มันง่ายเหมือนการเปลี่ยนนามสกุล;)
Ron

1
มันสุดยอดมากไม่รู้ว่านี่เป็นเรื่องจริง! คุณสามารถรับหลายไฟล์ในเอกสารเดียวได้หรือไม่?
Ben Kushigian

2
(ผู้ใช้ cygwin) :ha > file.pdfไม่ได้สร้างไฟล์ pdf ที่ถูกต้อง เมื่อรวมกับการps2dpfทำงาน แต่ให้พื้นหลังสีขาวแก่ฉัน ฉันมีความสุขที่สุด:TOhtml file.htmlจากนั้นจึงพิมพ์ไฟล์ html นี้เป็น pdf
lucidbrot

ฉันใช้รูปแบบของคำสั่งนี้วันนี้: 1,50 hardcopy มันไม่ได้สร้างไฟล์พิมพ์จากบรรทัดที่ 1 ถึง 50
Dr Beco

9

การสร้างสิ่งที่คนอื่นได้กล่าวไว้แล้ว ...

คุณสามารถใช้คำสั่ง vim บรรทัดเดียวต่อไปนี้เพื่อสร้างไฟล์. pdf:

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

บันทึก:

  • การ%จดชวเลขสำหรับชื่อไฟล์ปัจจุบันดังนั้นHelloWorld.Cจะพิมพ์ไปที่HelloWorld.C.pdf
  • หากคุณต้องการเก็บไฟล์. ps ระดับกลางเอาไว้อย่าลืม&& rm %.ps: :hardcopy > %.ps | !ps2pdf %.ps

นอกจากนี้หากต้องการเปลี่ยนฟอนต์ที่เรนเดอร์ให้ตั้งค่า printfont ก่อนเรียกใช้งานคำสั่ง hardcopy ตัวอย่างเช่นหากต้องการเลือก Courier 8:

:set printfont=Courier:h8

เมื่อรวมเข้าด้วยกันฉันเลือกที่จะใส่สิ่งต่อไปนี้ใน.vimrcไฟล์ของฉันเพื่อที่ฉันจะสามารถเรียกใช้:HardcopyPdfคำสั่งได้ คำสั่งนี้ยังสามารถทำงานในช่วงที่เลือกภายในไฟล์:

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'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.