syntax_highlight <source_file> | LPR


10

ไม่มีใครรู้วิธีง่ายๆในการสร้าง PostScript ที่สอดคล้องกับเวอร์ชันที่เน้นไวยากรณ์ของไฟล์ต้นฉบับที่สามารถไพพ์โดยตรงกับเครื่องพิมพ์ PostScript

ตามถ้อยคำของคำถามข้างต้นอาจแนะนำฉันกำลังมองหาสิ่งที่ฉันสามารถเรียกใช้จากบรรทัดคำสั่ง ฉันคิดว่าการโต้ตอบเช่น:

% syntax_highlight <SOURCE_FILE> | lp

... พร้อมสวิตช์บรรทัดคำสั่งตามต้องการ ฯลฯ

สิ่งที่ดีที่สุดที่ฉันเคยพบคือยูทิลิตี้ Unix ชื่อhighlightแต่มันมีปัญหา สิ่งที่ร้ายแรงที่สุดคือไม่มีตัวเลือกในการแสดงผล PostScript โดยตรง (ตั้งแต่highlightรองรับเอาต์พุต LaTeX ฉันพยายามแก้ไขสคริปต์ที่จะทำให้กระบวนการสร้างไฟล์ PostScript โดยอัตโนมัติผ่าน * .tex => * .dvi => * .ps แต่ภาพที่ปรากฏของผลลัพธ์สุดท้ายนั้นแย่มาก เลวร้ายยิ่งกว่าไฟล์ HTML ที่highlightสร้างขึ้นสำหรับการป้อนรหัสต้นฉบับเดียวกัน)

ขอบคุณ!

คำตอบ:


13

คุณสามารถใช้เป็นกลุ่ม

vim -c hardcopy -c quit /path/to/file

นี่จะพิมพ์ไฟล์และออกทันที โดยค่าเริ่มต้นกลุ่มจะพิมพ์ด้วยการเน้นไวยากรณ์

หากคุณต้องการพิมพ์จาก stdout ของคำสั่งบางอย่างคุณสามารถทำได้:

cat some_file.c | vim -c hardcopy -c 'quit!' -

หากคุณต้องการบันทึก. pps ไว้ในภายหลังคุณสามารถทำได้โดยเพิ่มการเปลี่ยนเส้นทางไปยังคำสั่ง hardcopy เช่น:

vim -c 'hardcopy > /path/to/saved.ps' -c 'quit' /path/to/file

Vim ให้คุณตั้งค่าตัวเลือกที่เกี่ยวข้องกับการพิมพ์จำนวนมากดังนั้นคุณอาจต้องการดูเอกสารหากคุณต้องการปรับแต่ง แน่นอนว่ายังมีตัวเลือกการเน้นไวยากรณ์อีกมากมาย


5

มีหลายโปรแกรมที่พิมพ์ภาษาการเขียนโปรแกรมต่าง ๆ ไปยัง Postscript ซึ่งไม่ต้องการให้ซอฟต์แวร์ของ บริษัท อื่นทำงาน:

หากคุณยินดีที่จะไปผ่าน LaTeX คุณมีตัวเลือกเพิ่มเติม การใช้ LaTeX นั้นมีประโยชน์มากที่สุดหากคุณต้องการใส่รหัสและสิ่งอื่นในเอกสารเดียวกัน มิฉะนั้นมันจะเกินความจริง


3

ใน Gedit เครื่องมือแก้ไขมาตรฐานสำหรับ gnome คุณสามารถพิมพ์ไปที่ไฟล์เลือก Postscript (PDF มาตรฐาน) และทำเครื่องหมายบนแท็บที่สามเพื่อใช้การไฮไลต์ซึ่งปิดเป็นค่าเริ่มต้นซึ่งสร้างไฟล์ ps ที่ดีสำหรับฉัน

และ Gedit มีไฟล์ไวยากรณ์จำนวนมากเพื่อรองรับภาษาการเขียนโปรแกรมมากมาย, HTML, SQL, XML, rc-files คุณตั้งชื่อมัน


ทำงานได้ยกเว้นว่าสำหรับฉัน (gedit 3.10.4 บน Ubuntu 14.04.4) PDF ที่สร้างขึ้นนั้นเป็นสีเทาไม่ใช่สี ยังพิมพ์ผลลัพธ์โดยตรงในระดับสีเทา
MarnixKlooster ReinstateMonica

0

การขยายคำตอบของ Shawn J. Goff:

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

:hardcopy > %.ps

หากคุณต้องการไฟล์. pdf คุณสามารถทำสิ่งต่อไปนี้

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

บันทึก:

  • การ%จดชวเลขสำหรับชื่อไฟล์ปัจจุบันดังนั้นHelloWorld.Cจะพิมพ์ไปที่HelloWorld.C.psหรือHelloWorld.C.pdf

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

:set printerfont=Courier:h8

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

set printfont=Courier:h8 "select the font to use when printing
command! -range=% HardcopyPs <line1>,<line2> hardcopy > %.ps && echo 'Created: %.ps'
command! -range=% HardcopyPdf <line1>,<line2> hardcopy > %.ps | !ps2pdf %.ps && rm %.ps && echo 'Created: %.pdf'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.