หน้าจอการล้างคำสั่ง 'น้อย' เมื่อออก - จะปิดได้อย่างไร?


79

วิธีการบังคับให้lessโปรแกรมไม่ล้างหน้าจอเมื่อออกจากระบบ?

ฉันต้องการให้มันทำงานเหมือนgit logคำสั่ง:

  • มันออกจากหน้าเว็บที่เพิ่งเห็นบนหน้าจอเมื่อออก
  • มันไม่ได้ออกจากlessแม้ว่าเนื้อหาที่เหมาะกับหน้าจอเดียว (ลองgit log -1)

ความคิดใด ๆ ฉันไม่พบlessตัวเลือกที่เหมาะสมหรือตัวแปร env ในคู่มือฉันคิดว่ามันตั้งค่าผ่านตัวแปร env บางอย่าง


สมมุติว่าคุณต้องการมุมมองการเลื่อนน้อยกว่าดังนั้นmoreจะไม่เหมาะหรือไม่
Svend

คำตอบ:


95

เพื่อป้องกันไม่ให้จากการล้างหน้าจอเมื่อออกใช้less-X

จาก manpage:

-X หรือ - no-init

ปิดใช้งานการส่งการกำหนดค่าเริ่มต้น termcap และสตริง deinitialization ไปยังเทอร์มินัล บางครั้งสิ่งนี้เป็นที่น่าพอใจถ้าสตริง deinitialization ทำสิ่งที่ไม่จำเป็นเช่นการล้างหน้าจอ

เพื่อเป็นการออกให้น้อยลงหากเนื้อหาเหมาะสมกับหน้าจอเดียวนั่นคือตัวเลือก-F:

-F หรือ - ถ้าไม่มีหน้าจอเดียว

ทำให้น้อยกว่าที่จะออกโดยอัตโนมัติหากไฟล์ทั้งหมดสามารถแสดงบนหน้าจอแรก

-Fไม่ได้เป็นค่าเริ่มต้นดังนั้นจึงเป็นไปได้ที่จะตั้งไว้ล่วงหน้าสำหรับคุณ ตรวจสอบ env var LESS.


ยอดเยี่ยม! -X คือสิ่งที่ฉันมีอยู่ในใจ
วอย Kaczmarek

7
สิ่งนี้น่ารำคาญเป็นพิเศษหากคุณรู้-Fแต่ไม่-Xย้ายแล้วไปที่ระบบที่รีเซ็ตหน้าจอใน init จะทำให้ไฟล์สั้น ๆ ไม่ปรากฏขึ้นโดยไม่มีเหตุผลชัดเจน บิตนี้กับackฉันเมื่อฉันพยายามที่จะใช้ACK_PAGER='less -RF'การตั้งค่าของฉันกับ Mac ขอบคุณมัด!
markpasc

@markpasc: ขอบคุณที่ชี้ให้เห็น ฉันจะไม่ได้ตระหนักว่าการรวมกันนี้จะทำให้เกิดผลกระทบนี้ แต่ตอนนี้มันชัดเจน
sleske

7
สิ่งนี้มีประโยชน์อย่างยิ่งสำหรับเพจเจอร์ของผู้ชายดังนั้นเพจของผู้ชายจะไม่หายไปทันทีที่คุณออกจากปุ่ม 'q' น้อยลง นั่นคือคุณเลื่อนไปที่ตำแหน่งในหน้าคนที่คุณสนใจเท่านั้นที่จะหายไปเมื่อคุณออกจากเพจเจอร์น้อยเพื่อใช้ข้อมูล ดังนั้นฉันจึงเพิ่ม: ลงexport MANPAGER='less -s -X -F'ใน. bashrc ของฉันเพื่อเก็บข้อมูลหน้าคนบนหน้าจอเมื่อฉันเลิกให้น้อยลงเพื่อที่ฉันจะสามารถใช้งานได้จริงแทนที่จะต้องจดจำ
Michael Goldshteyn

2
มันแย่มากที่คุณต้องตัดสินใจเมื่อคุณเริ่มต้นlessว่ามันจะต้องทำงานอย่างไรเมื่อคุณกำลังจะออก
Michael Burr

17

หากคุณต้องการให้ตัวเลือกบรรทัดคำสั่งใด ๆ เป็นค่าเริ่มต้นคุณสามารถเพิ่มลงใน. profile หรือ. bashrc ของตัวแปรสภาพแวดล้อม LESS ตัวอย่างเช่น:

export LESS="-XF"

จะใช้ -X -F ทุกครั้งที่มีการเรียกใช้น้อยจากเซสชันการเข้าสู่ระบบนั้น

บางครั้งคำสั่งจะใช้นามแฝง (แม้โดยค่าเริ่มต้นในการแจกแจงบางอย่าง) หากต้องการตรวจสอบสิ่งนี้ให้พิมพ์

alias

ไม่มีข้อโต้แย้งเพื่อดูว่าได้รับสมนามด้วยตัวเลือกที่คุณไม่ต้องการหรือไม่ หากต้องการเรียกใช้คำสั่งจริงใน $ PATH แทนที่จะเป็นนามแฝงเพียงแค่นำหน้าด้วยเครื่องหมายแบ็กสแลช:

\less

หากต้องการดูว่ามีการตั้งค่าตัวแปรสภาพแวดล้อม LESS ในสภาพแวดล้อมของคุณและมีผลกระทบต่อพฤติกรรมหรือไม่:

echo $LESS

2
อันที่จริงฉันเพิ่มexport LESS="-XFR"เพื่อให้สีแสดงผ่านlessเช่นกัน
dotancohen

2
ขอบคุณสำหรับสิ่งนั้น! -XFด้วยตัวของมันเองได้ทำลายเอาท์พุทของgit diffและ-XFRได้รับที่ดีที่สุดของโลกทั้งสอง - ไม่มีการล้างหน้าจอ แต่git diffเอาท์พุทสี
ไจล์สโทมัส

1

หรือเพียงแค่ตั้งค่าในการตั้งค่า git ทั่วโลกของคุณ:

git config --global core.pager 'less -FX'

วิธีนี้เครื่องมืออื่นไม่ได้รับผลกระทบ (ซึ่งฉันชอบ)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.