Câu hỏi màn hình xóa lệnh 'ít' hơn khi thoát - cách tắt nó?


Cách ép buộc less chương trình để không xóa màn hình khi thoát?

Tôi muốn nó cư xử như git log chỉ huy:

  • nó rời khỏi trang vừa xem trên màn hình khi thoát
  • nó không thoát khỏi less ngay cả khi nội dung vừa với một màn hình (hãy thử git log -1)

Bất kỳ ý tưởng? Tôi đã không tìm thấy bất kỳ phù hợp less tùy chọn cũng không biến env trong một hướng dẫn sử dụng, tôi nghi ngờ nó được thiết lập thông qua một số biến env mặc dù.


69
2018-02-09 11:21


gốc


Có lẽ bạn cần khía cạnh cuộn ít hơn, vì vậy more sẽ không phù hợp? - Svend


Các câu trả lời:


Để ngăn chặn less từ thanh toán bù trừ màn hình khi thoát, sử dụng -X.

Từ manpage:

-X hoặc --no-init

Vô hiệu hóa việc gửi khởi tạo termcap và khử khởi tạo   dây đến thiết bị đầu cuối. Điều này đôi khi được mong đợi nếu   chuỗi deinitialization làm một cái gì đó không cần thiết, như thanh toán bù trừ   màn hình.

Để thoát ít hơn nếu nội dung vừa với một màn hình, đó là tùy chọn -F:

-F hoặc --quit-if-one-screen

Gây ra ít tự động thoát hơn nếu toàn bộ tệp có thể   hiển thị trên màn hình đầu tiên.

-F không phải là mặc định, vì vậy nó có thể được đặt trước ở đâu đó cho bạn. Kiểm tra env var LESS.


85
2018-02-09 11:59



Xuất sắc! -X là những gì tôi có trong đầu. - Wojciech Kaczmarek
Điều này đặc biệt khó chịu nếu bạn biết -F nhưng không -X, sau đó chuyển sang một hệ thống đặt lại màn hình trên init sẽ làm cho các tệp tin ngắn gọn không xuất hiện, không có lý do rõ ràng. Điều này bit tôi với ack khi tôi cố gắng lấy ACK_PAGER='less -RF' thiết lập cho Mac. Cảm ơn nhiều! - markpasc
@markpasc: Cảm ơn bạn đã chỉ ra điều đó. Tôi sẽ không nhận ra rằng sự kết hợp này sẽ gây ra hiệu ứng này, nhưng bây giờ nó là hiển nhiên. - sleske
Điều này đặc biệt hữu ích cho máy nhắn tin của người đàn ông, do đó các trang của người đàn ông không biến mất ngay khi bạn thoát ít hơn bằng phím 'q'. Tức là, bạn di chuyển đến vị trí trong trang người dùng mà bạn quan tâm chỉ để nó biến mất khi bạn thoát khỏi máy nhắn tin ít hơn để sử dụng thông tin. Vì vậy, tôi đã thêm: export MANPAGER='less -s -X -F' để .bashrc của tôi để giữ cho người đàn ông trang thông tin lên trên màn hình khi tôi bỏ ít hơn, để tôi thực sự có thể sử dụng nó thay vì phải ghi nhớ nó. - Michael Goldshteyn
Nó kinda sucks rằng bạn phải quyết định khi bạn bắt đầu less nó phải hoạt động như thế nào khi bạn đi ra ngoài. - Michael Burr


Nếu bạn muốn bất kỳ tùy chọn dòng lệnh nào luôn được đặt mặc định, bạn có thể thêm vào .profile hoặc .bashrc biến môi trường LESS của bạn. Ví dụ:

export LESS="-XF"

sẽ luôn áp dụng -X -F bất cứ khi nào ít được chạy từ phiên đăng nhập đó.

Đôi khi các lệnh được đặt bí danh (ngay cả theo mặc định trong các bản phân phối nhất định). Để kiểm tra điều này, hãy nhập

alias

không có đối số để xem liệu nó có được đặt bí danh với các tùy chọn mà bạn không muốn hay không. Để chạy lệnh thực tế trong $ PATH của bạn thay vì một bí danh, chỉ cần mở đầu nó bằng dấu gạch chéo ngược:

\less

Để xem nếu biến môi trường LESS được đặt trong môi trường của bạn và ảnh hưởng đến hành vi:

echo $LESS

13
2017-07-11 19:11



Trong thực tế, tôi thêm export LESS="-XFR" để màu sắc thể hiện qua lesscũng. - dotancohen
Cảm ơn vì điều đó! -XF ngày của riêng nó đã phá vỡ đầu ra của git diffvà -XFR trở thành người giỏi nhất của cả hai thế giới - không có màn hình thanh toán bù trừ, nhưng có màu git diff đầu ra. - Giles Thomas