cú pháp_highlight <source_file> | lpr


10

Có ai biết một cách đơn giản để tạo PostScript tương ứng với phiên bản được tô sáng theo cú pháp của tệp nguồn có thể được dẫn trực tiếp đến máy in PostScript không?

Như từ ngữ của câu hỏi trên có lẽ gợi ý, tôi đang tìm kiếm thứ gì đó mà tôi có thể chạy từ dòng lệnh. Tôi đang nghĩ về một tương tác như:

% syntax_highlight <SOURCE_FILE> | lp

... với các công tắc dòng lệnh khi cần thiết, v.v.

Điều tốt nhất tôi tìm thấy cho đến nay là một tiện ích Unix được gọi highlight, nhưng nó có vấn đề. Điều nghiêm trọng nhất là nó không có tùy chọn để xuất PostScript trực tiếp. (Kể từ khi highlightthực hiện đầu ra hỗ trợ LaTeX, tôi đã cố gắng để vá lại với nhau một kịch bản đó sẽ tự động quá trình tạo ra các tập tin PostScript qua * .tex => * .dvi => * .ps, nhưng sự xuất hiện hình ảnh của kết quả cuối cùng là khủng khiếp, tệ hơn nhiều so với tệp HTML highlighttạo ra cho cùng một mã nguồn.)

Cảm ơn!

Câu trả lời:


13

Bạn có thể sử dụng vim.

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

Điều này sẽ in các tập tin và thoát ngay lập tức. Theo mặc định, vim in với cú pháp tô sáng.

Nếu bạn cần in từ thiết bị xuất chuẩn của một số lệnh, bạn có thể thực hiện việc này:

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

Nếu bạn muốn lưu .ps cho lần sau, bạn có thể làm điều đó bằng cách thêm chuyển hướng vào lệnh hardcopy, như vậy:

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

Vim cho phép bạn đặt nhiều tùy chọn liên quan đến in, vì vậy bạn có thể muốn xem tài liệu nếu bạn muốn điều chỉnh nó. Tất nhiên, có rất nhiều tùy chọn đánh dấu cú pháp là tốt.


5

Có một số chương trình in nhiều ngôn ngữ lập trình khác nhau sang Postcript, không yêu cầu bất kỳ phần mềm bên thứ ba nào chạy:

Nếu bạn sẵn sàng đi qua LaTeX, bạn có nhiều lựa chọn hơn. Đi qua LaTeX chủ yếu là hữu ích nếu bạn muốn bao gồm mã và một cái gì đó khác trong cùng một tài liệu; nếu không thì quá mức.


3

Trong Gedit, trình chỉnh sửa tiêu chuẩn cho gnome, bạn có thể in thành tệp, chọn Postcript (PDF mặc định) và đánh dấu trên tab thứ ba, để sử dụng tô sáng, tắt như mặc định, tạo ra tệp ps đẹp cho tôi.

Và Gedit có rất nhiều tệp cú pháp, để phục vụ nhiều ngôn ngữ lập trình, HTML, SQL, XML, tệp RC, bạn đặt tên cho nó.


Điều này hoạt động, ngoại trừ đối với tôi (gedit 3.10.4 trên Ubuntu 14.04.4), tệp PDF được tạo ở dạng thang độ xám, không phải màu. Cũng in trực tiếp kết quả trong thang độ xám.
MarnixKlooster RebstateMonica

0

Mở rộng câu trả lời của Shawn J. Goff:

Bạn có thể sử dụng lệnh vim một dòng sau đây để tạo tệp .ps từ bên trong vim:

:hardcopy > %.ps

Nếu bạn thích tệp .pdf, thì bạn có thể làm:

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

Ghi chú:

  • Viết %tắt cho tên tệp hiện tại, vì vậy HelloWorld.Csẽ in ra HelloWorld.C.pshoặcHelloWorld.C.pdf

Ngoài ra, để thay đổi phông chữ được hiển thị, hãy đặt máy in trước khi thực hiện lệnh hardcopy. Ví dụ: để chọn Chuyển phát nhanh 8:

:set printerfont=Courier:h8

Đặt tất cả lại với nhau, tôi đã chọn đặt phần sau vào tệp .vimrc của mình để tôi có thể thực hiện lệnh :HardcopyPshoặc :HardcopyPdflệnh đơn giản (cũng có thể hoạt động trên một phạm vi đã chọn trong một tệp):

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'
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.