ปุ่มลัดจะไม่ทำงานใน zsh เมื่อ $ TERM ถูกตั้งค่าเป็นหน้าจอ 256 สี


0

เป็นต่อการอภิปรายอื่น ๆ อีกมากมายที่ฉันผูกพันopt+ <-ไป0x1b 0x62และopt+ เพื่อ-> 0x1b 0x66มันใช้งานได้ดีใน zsh แต่ไม่ใช่ใน tmux

ใน tmux opt+ <-กระโดดข้ามคำต่อคำ แต่ดูเหมือนว่าจะทำการปรับเปลี่ยนโหมดบางอย่าง ... เมื่อพิมพ์sหลังจากนั้นตัวละครที่อยู่ใต้เคอร์เซอร์จะถูกลบ

ฉันยังมีปัญหากับcmd+ ->( 0x05) และcmd+ <-( 0x01) - ใน zsh ปุ่มเหล่านั้นนำทางไปยังจุดสิ้นสุดและจุดเริ่มต้นของบรรทัด แต่มันไม่ทำงานเลยใน tmux

ฉันไม่คิดว่าจะมีการโยงคีย์สำหรับรหัสฐานสิบหกเหล่านี้ดังนั้นฉันจึงคิดว่ามีบางอย่างหลงทางจาก iTerm2 ถึง tmux ... การโทรreadใน zsh โดยตรงและใน tmux เอาท์พุทรหัสเดียวกันสำหรับการoptผูกที่กล่าวถึงข้างต้น เอาท์พุทอะไรก็ได้สำหรับการcmdผูกใน tmux

แก้ไข:

ฉันทดลองเพิ่มอีกเล็กน้อยและพบว่าการผูกทำงานได้ดีเมื่อใช้ / bin / bash ใน tmux และหยุดเมื่อใช้ zsh ใน tmux เท่านั้น ฉันยังทดสอบ / bin / zsh โดยไม่โหลด. zshrc เพื่อตรวจสอบว่ามีอะไรผิดปกติกับ homebrews zsh หรือไม่ แต่การเชื่อมโยงนั้นแตกเกินไป ดูเหมือนว่านี่เป็นปัญหาของ zsh

แก้ไข:

ทดลองเพิ่มเติม! ดูเหมือนว่าจะเชื่อมต่อกับตัวแปรสภาพแวดล้อม $ TERM ที่ตั้งค่าเป็น "screen-256color" โดย. tmux.conf ของฉัน - นี่ดูเหมือนจะถูกต้องเพื่อให้สีทำงานได้ แต่ทันทีที่ zsh ทำงานกับตัวแปรสภาพแวดล้อมนี้ การนำทางหยุดทำงาน การTERM=screen-256color zshทำซ้ำของปัญหา


คุณใช้bindkey -eหลังจากเริ่ม zsh โดยไม่ใช้. zshrc หรือไม่ มิฉะนั้นจะใช้งานไม่ได้แม้ในสถานีปกติ
SilverWolf

คำตอบ:


1

ดูเหมือนว่าในที่สุดฉันก็พบคำตอบ! หรือเป็นการแก้ปัญหาเนื่องจากฉันยังไม่แน่ใจว่าเกิดอะไรขึ้น

การกำหนดค่าคีย์ binds สำหรับการนำทางอย่างชัดเจนแก้ไขปัญหาให้ฉัน:

bindkey "^[f" forward-word
bindkey "^[b" backward-word

บางที zsh กำลังใช้การโยงคีย์ที่แตกต่างกันตาม $ TERM

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