Làm cách nào để in mã được định dạng tốt


20

Tương tự như sử dụng markdown trên Stack Overflow để tạo monospace output, làm thế nào tôi có thể làm điều đó cho các chương trình của mình.

Tôi đã thử lp filename.txt và rất vui lòng thấy rằng nó có thể sử dụng máy in mạng cục bộ và in 'như hiện tại'

Vấn đề là đầu ra không cách nhau.

Có lựa chọn nào nhanh hơn ...

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

Tôi rất thích tìm một số tùy chọn như lp filename.txt -format=mono;)


Câu trả lời:


21

Bạn có thể sử dụng trình soạn thảo vim để in các tệp tùy ý mà vim có thể đọc được. Sử dụng cách sau để tạo tệp PostScript.

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

Nếu bạn muốn một tệp PDF, thêm && ps2pdf output.psvào dòng lệnh.

Bạn cũng có thể viết một đoạn script nhỏ dán nội dung clipboard hiện tại vào một tệp tạm thời, chạy vim trên tệp, in tệp kết quả và xóa tệp tạm thời.


1
Một tùy chọn tốt cho vimrc của bạn khi bạn in mã là set printoptions=portrait:nin ở chế độ ngang.
oligofren

1
Tôi có lẽ không phải là người duy nhất ở đây muốn tắt tiêu đề trang sau khi in ấn hoạt động. Bạn có thể tắt chúng bằng cách thêm set printoptions=header:0vào vimrc.
Andy Gaskell

Đối với HTMl bạn có thể làmvim -c TOhtml -c write -c quit <input_file>
Matthew Cline

1
Rất tiếc, đó phải làvim -c 'set cmdheight=2' -c TOhtml -c write -c quit -c quit <input_file>
Matthew Cline

@AndyGaskell Tôi đã hỏi một câu hỏi, vui lòng xem liệu bạn có thể giải quyết nó không: unix.stackexchange.com/questions/315363/ Lỗi
một đề nghị không thể từ chối

12

Đường dẫn ngắn nhất ở đây có lẽ là để sử dụng a2ps, nó tạo ra các bài đăng đơn cách theo mặc định.

Bạn có thể cài đặt a2psvới brew, tức làbrew install a2ps

Tùy thuộc vào thiết lập của nó, nó sẽ gửi đầu ra trực tiếp đến thiết bị xuất chuẩn hoặc lp, ghi đè bằng -o. Ngoài ra, a2psnhận ra một số ngôn ngữ lập trình và in đẹp chúng.

a2ps -o output.ps infile.text

Sử dụng --pro=colornếu màu có sẵn:

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

Đối với đầu ra HTML Tôi có xu hướng sử dụng vimcủa 2htmltính năng.


Điều này trông thật tuyệt ... nhưng tôi không có a2ps. Bất cứ ai biết làm thế nào để cài đặt?
Michael Durrant

Điều đó phụ thuộc vào hệ điều hành bạn muốn cài đặt nó vào?
Thor

chắc chắn đó là máy mac - osx
Michael Durrant

Googling một chút có vẻ như a2ps có một số vấn đề cài đặt trên osx. Tôi không có nhiều kinh nghiệm với osx nhưng enscriptđã được đề cập như là một thay thế.
Thor

Bạn có thể cài đặt a2psbằng MacPorts ( macports.org ). Tôi không gặp vấn đề gì khi cài đặt nó (trên Lion)
Matteo

3

a2pslà câu trả lời. Tôi đã cài đặt nó với brew:

brew install a2ps

Bây giờ tôi có thể a2ps myfilenamevà nó hoạt động.

Thật không may, nó xuất hiện phong cảnh và nếu tôi cố gắng làm cho nó chân dung thì nó bị vắt sang bên trái và nhỏ xíu, chỉ chiếm 50% trang. [upate - tìm thấy sửa lỗi này với tham số -1 (đối với số trang cần tìm trên một trang - mặc định là 2)

Tuy nhiên, như phong cảnh, nó hoạt động và mã có fixed formatphong cách tôi đang tìm kiếm.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.