Tôi vui mừng thông báo một gói mới, e2ansi , cung cấp hỗ trợ đánh dấu cú pháp cho máy nhắn tin như more
và less
.
Gói sử dụng mẹ của tất cả các trình soạn thảo văn bản, Emacs , để thực hiện tô sáng cú pháp thực tế. Là một phần thưởng bổ sung, tất cả các chuyển đổi khác thường được thực hiện bởi Emacs - như các tệp không nén - cũng được thực hiện.
Thí dụ
Sau đây là kết quả của việc xem tệp bằng less
và
e2ansi
:
Cấu hình
Gói cung cấp một công cụ dòng lệnh e2ansi-cat
khởi động Emacs ở chế độ hàng loạt, mở tệp, cú pháp tô sáng chúng và hiển thị kết quả bằng các chuỗi ANSI.
Bạn có thể tích hợp điều này vào less
bằng cách đặt các biến sau đây, ví dụ (vị trí của tệp init của bạn có thể thay đổi):
export "LESSOPEN=||-/usr/local/emacs --batch -Q -l ~/.emacs -l bin/e2ansi-cat %s"
export "LESS=-r"
alias "more=less -X -E"
Trong cấu hình ở trên, less
khôi phục nội dung cửa sổ đầu cuối ban đầu trong khi more
chỉ cần xuất nội dung mới sau dấu nhắc.
Lưu ý: Nếu bạn sử dụng phiên bản cũ less
, nó có thể không hỗ trợ
cú pháp ||
hoặc -
cú pháp, trong trường hợp đó bạn có thể cần sử dụng đơn giản
LESSOPEN=|/usr/local/emacs ...
.
Sử dụng less
trong đường ống
Ký tự "-" LESSOPEN
chỉ ra rằng bộ lọc đầu vào cũng nên được sử dụng khi chuyển văn bản vào less
. Trong trường hợp này, Emacs chỉ có thể dựa vào chính văn bản (chứ không phải tên tệp). May mắn thay, Emacs cung cấp một hệ thống cho việc này. Ngoài ra, tệp tệp được cung cấp
e2ansi-magic.el
sẽ thiết lập các loại tệp bổ sung. Ví dụ:
Tại sao nên sử dụng Emacs?
- Emacs đã hỗ trợ hầu như tất cả các ngôn ngữ lập trình và các định dạng văn bản có cấu trúc. Trong hầu hết các trường hợp, hỗ trợ tô sáng cú pháp là tuyệt vời.
- Bạn có thể dễ dàng thêm hỗ trợ cho nhiều ngôn ngữ và định dạng hơn hoặc sửa đổi các gói hiện có cho phù hợp với nhu cầu của bạn.
- Emacs hỗ trợ chủ đề màu sắc. Khi sử dụng
e2ansi
, màu sắc trong chủ đề được giữ nguyên khi xem tệp less
. Bạn có thể chọn một chủ đề màu phù hợp từ một số nguồn hoặc thiết kế của riêng bạn.
- Nếu bạn sử dụng Emacs làm trình soạn thảo bạn chọn, bạn sẽ nhận được phần tô sáng tương tự trong trình chỉnh sửa khi bạn xem tệp bằng cách sử dụng
less
(trừ các giới hạn ở định dạng chuỗi ANSI và cửa sổ đầu cuối).
less
sẽ tận dụng các tính năng của Emacs thực hiện chuyển đổi tự động, ví dụ như giải nén các tệp. Trên thực tế, bạn có thể dạy Emacs thực hiện bất kỳ loại chuyển đổi nào như tự động chuyển đổi tệp nhị phân thành dạng có thể đọc được bằng con người bằng cách sử dụng một công cụ bên ngoài.
- Bạn có thể xem các tệp nằm trên các máy khác bằng cách sử dụng cú pháp của Emacs để truy cập từ xa như thế nào
/USER@HOST:FILENAME
.
Liên kết hữu ích
e2ansi
được phân phối trên Melpa và có thể được cài đặt bằng hệ thống gói Emacs tiêu chuẩn
e2ansi
được lưu trữ trên GitHub
- Các
e2ansi
trang trên Emacs Wiki
- Nhà của
less
.
Ghi chú hệ điều hành
Trên MS Windows, giao diện điều khiển không hỗ trợ các chuỗi ANSI. May mắn thay, less
ứng dụng có khả năng hiển thị chúng. Tôi không biết về bất kỳ phân phối nhị phân hiện đại nào less
cho MS Windows và các tệp xây dựng được cung cấp rất khó sử dụng. May mắn thay, thật dễ dàng để xây dựng less
bằng CMake , xem văn bản này để biết chi tiết.
OS X phân phối một phiên bản cổ xưa của less
. May mắn thay, thật dễ dàng để xây dựng một phiên bản hiện đại trực tiếp từ nguồn.
less ~/.zshrc
. Lỗi :src-hilite-lesspipe.sh: line 9: source-highlight: command not found
. Tôi chạy cái này trên MacOSX.