ฉันทำวิจัย
การกำหนดค่าcore.whitespace
ไม่เกี่ยวข้องกับวิธีแสดงแท็บ มันจะใช้สำหรับ git ที่จะรับรู้ข้อผิดพลาดของช่องว่างที่เกี่ยวข้องกับแท็บ ตัวอย่างเช่น: เมื่อindent-with-non-tab
เปิดใช้งานและcore.whitespace
ตั้งค่าเป็นtabwidth=4
และมีการเยื้องบรรทัดโดยใช้ช่องว่าง 4 ช่องขึ้นไป git จะรายงานข้อผิดพลาด
สำหรับ git นอกเหนือจากแท็บที่เกี่ยวข้องกับคุณสมบัติการตรวจจับข้อผิดพลาดของช่องว่างอักขระแท็บคืออักขระเหมือนอักขระอื่น ๆ มันจะถูกเปรียบเทียบและมันจะถูกเททิ้งไปยังเครื่องมือใดก็ตามที่ใช้แสดงตัวละคร ซึ่งหมายความว่าในการกำหนดค่าความกว้างแท็บที่แสดงคุณต้องกำหนดค่า "ส่วนหน้า" ของ git ในกรณีgit diff
ที่เป็น "น้อยกว่า" (เครื่องมือ unix "น้อยกว่า") ในกรณีgit gui
ที่จะเป็น git-gui เอง
การกำหนดค่าน้อยเป็นเรื่องง่าย คุณสามารถตั้งค่าการกำหนดค่า git core.pager
เพื่อตั้งค่าให้น้อยลงเพื่อแสดงแท็บโดยใช้ช่องว่าง 4 ตัว (น้อยกว่ามีพารามิเตอร์-xn
ในการตั้งค่าแบนด์วิดท์เป็นn
)
การกำหนดค่า git-gui กลายเป็นเรื่องยากมาก Git-gui เขียนเป็น Tcl / Tk ฉันพบตัวเลือก Tcl / Tk เพื่อกำหนดความกว้างแท็บในวิดเจ็ตข้อความ ฉันยังพบบรรทัดgit-gui.sh
ที่ดูเหมือนว่าวิดเจ็ตข้อความกำลังถูกกำหนดค่าเริ่มต้น
นี่คือบรรทัด 3346 ของไฟล์git-gui.sh
ใน git รุ่น 1.7.5:
catch {$ui_diff configure -tabstyle wordprocessor}
ฉันเปลี่ยนสิ่งนั้นตามคู่มือ Tcl / Tk เป็น:
catch {$ui_diff configure -tabs "[expr {4 * [font measure $font 0]}]" -tabstyle wordprocessor}
ดูเหมือนจะไม่มีผลอะไรเลย ฉันพยายามที่แตกต่างกันสำหรับค่า-tabs
และพวกเขาก็มีบางส่วนผลกระทบต่อความกว้างของแท็บแสดงดังนั้นจึงน่าจะเป็นสายที่ถูกต้องในการปรับเปลี่ยน
น่าเสียดายที่ Tcl / Tk ดูเหมือนจะไม่มีความคิดของความกว้างแท็บในแง่ของตัวอักษรแทนความกว้างของแท็บจะต้องตั้งค่าเป็นพิกเซลหรือเซนติเมตร
โปรดทราบว่าฉันไม่มีประสบการณ์ใน Tcl / TK ใด ๆ ดังนั้นบางทีฉันแค่มองสิ่งที่ง่ายที่นี่
อย่างไรก็ตามตอนนี้คุณรู้แล้วว่าจะเริ่มขุดได้ที่ไหน อย่าลืมรายงานกลับมาที่นี่หากคุณมีวิธีแก้ปัญหาที่ใช้งานได้ โชคดี.