ฉันจะพิมพ์รหัสในรูปแบบที่ดีได้อย่างไร


20

เช่นเดียวกับการใช้ markdown บน Stack Overflow เพื่อสร้างmonospace outputฉันจะทำอย่างไรกับโปรแกรมของฉัน

ฉันลอง lp filename.txt และรู้สึกยินดีอย่างยิ่งที่พบว่ามันสามารถใช้เครื่องพิมพ์เครือข่ายท้องถิ่นและพิมพ์ 'ตามที่เป็น'

ปัญหาคือการส่งออกไม่เว้นระยะโมโน

มีตัวเลือกที่เร็วกว่า ...

1) copy the text
2) paste into a text doc
3) format the document as mono
4) print it 

ฉันชอบที่จะหาตัวเลือกเช่นlp filename.txt -format=mono;)


คำตอบ:


21

คุณสามารถใช้โปรแกรมแก้ไข vim เพื่อพิมพ์ไฟล์ตามต้องการได้ ใช้สิ่งต่อไปนี้เพื่อสร้างไฟล์ PostScript

vim \
  -c 'hardcopy > output.ps' \
  -c quit <input_file>

หากคุณต้องการไฟล์ PDF ให้เพิ่ม&& ps2pdf output.psในบรรทัดคำสั่ง

นอกจากนี้คุณยังสามารถเขียนสคริปต์ขนาดเล็กที่วางเนื้อหาคลิปบอร์ดปัจจุบันลงในไฟล์ชั่วคราวเรียกใช้กลุ่มบนไฟล์พิมพ์ไฟล์ผลลัพธ์และลบไฟล์ชั่วคราว


1
ตัวเลือกที่ดีสำหรับ vimrc ของคุณเมื่อคุณพิมพ์รหัสคือset printoptions=portrait:nการพิมพ์ในโหมดแนวนอน
oligofren

1
ฉันอาจไม่ใช่คนเดียวที่นี่ที่ต้องการปิดส่วนหัวของหน้าเมื่อพิมพ์ได้ผล คุณสามารถปิดได้โดยเพิ่มset printoptions=header:0ใน vimrc
Andy Gaskell

สำหรับ HTMl คุณสามารถทำได้vim -c TOhtml -c write -c quit <input_file>
Matthew Cline

1
อ๊ะน่าจะเป็นvim -c 'set cmdheight=2' -c TOhtml -c write -c quit -c quit <input_file>
Matthew Cline

@AndyGaskell ฉันได้ถามคำถามโปรดดูว่าคุณสามารถแก้ไขได้หรือไม่: unix.stackexchange.com/questions/315363/…
ข้อเสนอไม่สามารถปฏิเสธ

12

เส้นทางที่สั้นที่สุดที่นี่น่าจะใช้a2psมันสร้าง postscript แบบ monospaced โดยค่าเริ่มต้น

คุณสามารถติดตั้งa2psด้วยการชงเช่นbrew install a2ps

ทั้งนี้ขึ้นอยู่กับการตั้งค่าของมันก็จะส่งออกไปโดยตรงไปยัง stdout -oหรือแผ่นเสียงแทนที่ด้วย นอกจากนี้ยังa2psจดจำภาษาการเขียนโปรแกรมหลายภาษาและพิมพ์ออกมาสวย

a2ps -o output.ps infile.text

ใช้--pro=colorถ้ามีสี:

a2ps --pro=color -o output.ps infile.text

สำหรับการส่งออก HTML ฉันมักจะใช้vim's 2htmlคุณลักษณะ


สิ่งนี้ดูดีมาก ... แต่ฉันไม่มี a2ps ใครรู้วิธีติดตั้ง?
Michael Durrant

ขึ้นอยู่กับระบบปฏิบัติการใดที่คุณต้องการติดตั้ง
ธ.ค.

แน่นอนว่าเป็น mac - osx
Michael Durrant

Googling เล็กน้อยดูเหมือนว่า a2ps มีปัญหาการติดตั้งบน osx ฉันไม่ได้มีประสบการณ์มากกับ osx แต่enscriptถูกกล่าวถึงว่าเป็นทางเลือก
ธ อร์

คุณสามารถติดตั้งa2psโดยใช้ MacPorts ( macports.org ) ฉันไม่มีปัญหาในการติดตั้ง (บน Lion)
Matteo

3

a2psคือคำตอบ ฉันติดตั้งกับชง:

brew install a2ps

ตอนนี้ฉันสามารถa2ps myfilenameและใช้งานได้

น่าเสียดายที่มันออกมาเป็นแนวนอนและถ้าฉันพยายามที่จะทำให้มันเป็นแนวมันจะถูกบีบไปทางซ้ายและเล็ก ๆ เพียง 50% ของหน้ากระดาษ [upate - พบการแก้ไขสิ่งนี้พร้อมพารามิเตอร์ -1 (สำหรับจำนวนหน้าเพื่อค้นหาในหนึ่งแผ่น - ค่าเริ่มต้นคือ 2)

อย่างไรก็ตามมันทำงานได้ดีและรหัสมีfixed formatสไตล์ที่ฉันกำลังมองหา

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