การเปลี่ยนแปลงล่าสุดในเอกสารอธิบายถึงวิธีที่แตกต่างกันในการลบตัวเลือกเริ่มต้นสำหรับless("ตัวเลือกเริ่มต้น" FRSX)
สำหรับคำถามนี้จะเป็น (git 1.8+)
git config --global --replace-all core.pager 'less -+F -+X'
ตัวอย่างเช่นDirk Besterแนะนำในความคิดเห็น :
export LESS="$LESS -FRXK"
เพื่อที่ฉันจะได้รับสีต่างกับเลิกจากCtrl-Cless
Wilson Fกล่าวถึงในความคิดเห็นและในคำถามของเขาว่า:
สนับสนุนการเลื่อนในแนวนอนน้อยลงดังนั้นเมื่อมีการตัดเส้นบรรทัดปิดการใช้งาน exit-if-one-screen เพื่อให้ผู้ใช้ยังสามารถเลื่อนข้อความไปทางซ้ายเพื่อดูสิ่งที่ถูกตัดออก
การแก้ไขเหล่านั้นสามารถมองเห็นได้ใน git 1.8.x ดังแสดงใน " ใช้เพจเจอร์สำหรับgit diff " (ดูความคิดเห็น) แต่เอกสารเพิ่งได้รับการป้อนข้อมูลใหม่ ( สำหรับ git 1.8.5 หรือ 1.9, Q4 2013 )
โปรแกรมดูข้อความสำหรับใช้งานโดยคำสั่ง Git (เช่น 'น้อยกว่า')
ค่าถูกแปลความหมายโดยเชลล์
ลำดับของการตั้งค่าคือ:
$GIT_PAGERตัวแปรสภาพแวดล้อม
- จากนั้น
core.pagerกำหนดค่า
- แล้ว
$PAGER,
- จากนั้นค่าเริ่มต้นที่เลือกไว้ในเวลารวบรวม (มักจะ 'น้อยกว่า')
เมื่อLESSไม่ได้ตั้งค่าตัวแปรสภาพแวดล้อม Git จะตั้งค่าเป็นFRSX
(หากLESSตั้งค่าตัวแปรสภาพแวดล้อม Git จะไม่เปลี่ยนแปลงเลย)
ถ้าคุณต้องการที่จะเลือกแทนที่การตั้งค่าเริ่มต้น Git สำหรับLESSคุณสามารถตั้งค่าcore.pagerless -+Sการเช่น
นี้จะถูกส่งผ่านไปยังเปลือกโดย Git LESS=FRSX less -+Sซึ่งจะแปลคำสั่งสุดท้ายที่จะ สภาพแวดล้อมจะบอกให้คำสั่งตั้งค่าSตัวเลือกให้ตัดส่วนที่เป็นเส้นยาว แต่บรรทัดคำสั่งจะรีเซ็ตเป็นค่าเริ่มต้นเพื่อย่อบรรทัดที่มีความยาว
ดูการยอมรับ 97d01f2aสำหรับเหตุผลที่อยู่เบื้องหลังถ้อยคำเอกสารใหม่:
config: เขียนcore.pagerเอกสารใหม่
ข้อความกล่าวถึงcore.pagerและGIT_PAGERไม่ให้ภาพรวมของความสำคัญ ยืมคำอธิบายที่ดีขึ้นจากgit var(1)เอกสาร
การใช้กลไกเพื่ออนุญาตไฟล์คอนฟิกูเรชันทั้งระบบโกลบอลและที่เก็บต่อที่เก็บไม่ จำกัด เฉพาะตัวแปรนี้ ลบออกเพื่อชี้แจงย่อหน้า
เขียนซ้ำส่วนที่อธิบายถึงวิธีการLESSตั้งค่าตัวแปรสภาพแวดล้อมเป็นค่าเริ่มต้นของ Git และวิธีเลือกกำหนดเอง
หมายเหตุ: ส่งb327583 ( Matthieu Moymoy , เมษายน 2014, สำหรับ git 2.0.x / 2.1, Q3 2014) จะลบ S ตามค่าเริ่มต้น:
เพจเจอร์: ลบ 'S' จาก $ LESS โดยค่าเริ่มต้น
โดยค่าเริ่มต้น Git ใช้ในการตั้ง$LESSไป-FRSXถ้า$LESSไม่ได้ถูกกำหนดโดยผู้ใช้ ธงจริงทำให้รู้สึกสำหรับ Git ( และเพราะบางครั้งการส่งออกท่อ Git น้อยเป็นระยะสั้นและเพราะท่อ Git สีเอาท์พุท)
ในทางกลับกันสถานะ (chop long lines) ไม่เกี่ยวข้องกับ Git และเป็นเรื่องของการตั้งค่าของผู้ใช้ Git ไม่ควรตัดสินใจสำหรับผู้ใช้เพื่อการเปลี่ยนแปลงของค่าเริ่มต้น
FRXFXR
SLESS
โดยเฉพาะอย่างยิ่งการSตั้งค่าสถานะเป็นอันตรายต่อผู้ใช้ที่ตรวจสอบรหัสที่ไม่น่าเชื่อถือภายในเพจเจอร์เนื่องจากแพทช์มีลักษณะดังนี้:
-old code;
+new good code; [... lots of tabs ...] malicious code;
จะปรากฏเหมือนกับ:
-old code;
+new good code;
ผู้ใช้ที่ชอบพฤติกรรมเก่ายังสามารถตั้งค่าตัวแปรสภาพแวดล้อม $ LESS ให้-FRSXชัดเจนหรือตั้งค่า core.pager เป็น ' less -S'
เอกสารจะอ่าน:
สภาพแวดล้อมไม่ได้ตั้งค่าSตัวเลือก แต่บรรทัดคำสั่งจะสั่งให้น้อยลงเพื่อตัดทอนบรรทัดที่ยาว
ในทำนองเดียวกันการตั้งค่าcore.pagerการless -+Fจะยกเลิกการใช้งานFตัวเลือกที่ระบุโดยสิ่งแวดล้อมจากบรรทัดคำสั่งปิดใช้งาน "ที่quit if one screen" lessพฤติกรรมของ
หนึ่งโดยเฉพาะสามารถเปิดใช้งานธงบางอย่างสำหรับคำสั่งเฉพาะ: ยกตัวอย่างเช่นการตั้งค่าpager.blameที่จะช่วยให้การตัดสายเฉพาะสำหรับless -Sgit blame
core.pager 'less -+F -+X'จะเป็นวิธีที่ใหม่กว่าในการลบตัวเลือกเหล่านั้น ดูคำตอบของฉันด้านล่าง