hiển thị màu sắc và vô hiệu hóa đường bao


13

Sử dụng trình phân trang less, bạn có thể sử dụng -rtùy chọn để hiển thị đúng màu đầu vào và -Stùy chọn để vô hiệu hóa ngắt dòng.

Tuy nhiên, khi sử dụng less -rShoặc tương đương less -r -S, màu sắc được cấp bằng nhưng các đường được bọc. Làm thế nào điều này có thể đạt được?


2
Chỉ định -Rthay vì -rcó thể làm việc cho bạn.
devnull

Câu trả lời:


15

Nếu -rtùy chọn không hoạt động, có thể -Rtùy chọn sẽ làm những gì bạn muốn:

-R hoặc - RAW-KIỂM SOÁT-CHARS

Giống như -r, nhưng chỉ các chuỗi thoát "màu" ANSI được xuất ra ở dạng "thô". Không giống như -r, giao diện màn hình được duy trì chính xác trong hầu hết các trường hợp. Các chuỗi thoát "màu" ANSI là các chuỗi có dạng:

ESC [... m

trong đó "..." là 0 hoặc nhiều ký tự đặc tả màu Với mục đích theo dõi sự xuất hiện của màn hình, các chuỗi thoát màu ANSI được giả sử là không di chuyển con trỏ. Bạn có thể nghĩ rằng các ký tự không phải là "m" có thể kết thúc các chuỗi thoát màu ANSI bằng cách đặt biến môi trường LESSANSIENDCHARS vào danh sách các ký tự có thể kết thúc chuỗi thoát màu. Và bạn có thể nghĩ rằng các ký tự khác với ký tự tiêu chuẩn có thể xuất hiện giữa ESC và m bằng cách đặt biến môi trường LESSANSIMIDCHARS thành danh sách các ký tự có thể xuất hiện.


Cảm ơn bạn! Trên thực tế đây có nghĩa là một câu hỏi tự trả lời (sau một thời gian tôi đã hiểu ra điều này và muốn chia sẻ), nhưng tôi đã có quá ít danh tiếng và sau đó để tôi viết câu trả lời - tôi nói rằng tôi nên đợi 8 giờ trước đăng ... Đừng bận tâm, câu trả lời của tôi trông giống như của bạn
Davide

1
Như một lưu ý phụ, điều này tương tự như những gì git: theo mặc định, nó sử dụng lessnhư máy nhắn tin của nó và gọi nó LESS=FRSXtrong môi trường (giống như less -FRSX)
Davide

@Davide, điều đó thật thú vị git, tôi luôn tự hỏi tại sao nó lại hành xử khác đi, không bao giờ được điều tra xung quanh. Cảm ơn.
Graeme
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.