สี emacs ขึ้นอยู่กับตัวแปรสภาพแวดล้อม $ TERM


9

ฉันต้องการที่จะรู้ว่ามันเป็นไปได้ที่จะทำให้ emacs เมื่อทำงานในหน้าจอ GNU หรือเซสชั่น tmux TERM=xtermใช้สีเดียวกับเมื่อ ในหน้าจอ GNU หรือเซสชั่น tmux, TERM=screenและ emacs TERM=xtermใช้ชุดที่แตกต่างกันของสีเมื่อเทียบกับเมื่อ

ตัวอย่างเช่นเมื่อTERM=xterm-256colorสีพื้นหน้าของfont-lock-comment-faceคือ 'Firebrick' แต่เมื่อTERM=screen-256colorตั้งค่าเป็น 'chocolate1'

เพื่อให้ tmux ทำงานอย่างถูกต้องจะต้องตั้งค่าตัวแปร TERM เป็นหน้าจอหรืออนุพันธ์บางส่วนดังนั้นการรีเซ็ต TERM จึงไม่ใช่ตัวเลือกสำหรับฉัน


(หวังว่าฉันจะแสดงความคิดเห็น ... ) มันไม่ชัดเจนสำหรับฉันถ้าคุณได้ลองใช้ emacs เป็น: TERM=xterm emacsเพื่อบังคับให้การTERMตั้งค่าตัวแปรสำหรับ emacs จะเกิดอะไรขึ้นเมื่อคุณทำเช่นนั้น?
verdammelt

ฉันกำลังทดลองกับสิ่งนั้นในขณะนี้ ฉันยังไม่ได้ตรวจพบสิ่งเลวร้ายใด ๆ ที่เกิดขึ้น ดูเหมือนว่า tmux สามารถกำหนดค่าให้ปล่อยลำดับคีย์ xterm (แม้ว่า TERM = xterm ยังไม่ได้รับการสนับสนุน) จากคำถามที่พบบ่อยของ tmux นั้น tmux อาจรองรับ xterm ในอนาคตแทนที่จะเป็นหน้าจอเดียว
ALiX

คำตอบ:


3

ความหมายของการfont-lock-comment-faceมีหลายสายพันธุ์สำหรับกรณีของการสนับสนุนสีแม่เหล็ก

  • chocolate1ตัวแปรที่จะใช้เมื่อมีอย่างน้อย 88 สีที่มีอยู่และ“พื้นหลัง” คือ“ความมืด”
  • Firebrickตัวแปรที่จะใช้เมื่อมีอย่างน้อย 88 สีที่มีอยู่และ“พื้นหลัง” เป็น“ไฟ”

ความแตกต่างที่เกิดจากรหัสบางอย่างที่จะช่วยให้ความหมายพิเศษกับค่าระยะที่เริ่มต้นด้วยxterm, rxvt, dttermและeterm: มันคิดว่าพวกเขาจะมีพื้นหลังเป็น“ไฟ”

คุณควรปรับแต่งframe-background-mode*เป็นlightค่าเพื่อใช้ชุดรูปแบบสี“ แสง” เสมอ

หาก Emacs ของคุณไม่ใหม่พอที่จะมีของตัวเองterm/screen.elคุณจะต้องปรับเปลี่ยนด้วยตัวคุณเองเพื่อทำการปรับแต่งสีที่เหมาะสม คุณอาจใช้หนึ่งจากEmacs ลำต้นหรือฉันมีสรุปสาระสำคัญที่มี.emacs.d/lisp/term/screen.el(กับบิตพิเศษบางอย่างที่จะรับรู้ลำดับปรับปรุง + ลูกศร / Home / End ให้โดยtmux ‘s xterm-keysตัวเลือก) และ.emacsการปรับเปลี่ยนที่จำเป็นในการปล่อยให้โหลดโดยอัตโนมัติ .

แน่นอนว่ายังมีบิตของรหัสอื่น ๆ ที่ตรวจสอบค่า TERM โดยตรงและทำสิ่งที่แตกต่างกันสำหรับscreen- และxtermค่าที่เหมือนกัน ...

* Mx ปรับแต่งตัวแปรเฟรมพื้นหลังโหมด

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