อักขระ UTF-8 แสดงไม่ถูกต้องใน tmux


19

ฉันใช้ตัวละครในzshธีมของฉันเพื่อแจ้งให้ทราบ แต่ใน tmux พรอมต์ของฉันทำงานผิดปกติโดยแสดงช่องว่างเพิ่มเติมเช่นนี้

♪ ~   I can type from here
♪ ~ Instead of here like in zsh, and sometimes when I do stuff like cd
♪ ~   cd ~
♪ ~ cdcd /
♪ ~ ^^These 2 chars just show up but are not actually part of command and not delete-able

ฉันเพิ่งพบว่าฉันสามารถตั้งค่าการเข้ารหัสเพื่อ tmux utf8 set-window-option -g utf8 onโดย การทำเช่นนั้นปัญหาพื้นที่ก็หายไป แต่ตัวละครที่เปลี่ยนไป _ฉันจะกลับเข้ามาได้tmuxอย่างไร?

ธีม zsh ของฉัน:

PROMPT='%{$fg_bold[cyan]%} ♪ %{$fg[blue]%}%c%{$fg_bold[blue]%}$(git_prompt_info)$(git_remote_status)%{$fg_bold[blue]%} % %{$reset_color%}'

ฉันไม่set-window-optionสามารถทำงานให้ฉันnot found cmdได้ กรุณาสามารถเขียนขั้นตอนที่แน่นอนในการทำซ้ำ
user.dz

ฉันใช้ tmux conf ที่นี่ (มันใช้ที่นี่ด้วย ) ดูเหมือนว่า tmux จะแปลงตัวละครทุกตัวที่ไม่ได้เป็น ASCII _เมื่อฉันตั้งค่าตัวเลือกนั้น
Sourabh

คำตอบ:


29

การเริ่มต้น tmux ด้วยuแฟลกแก้ไขปัญหานี้

tmux -u

ฉันได้สร้างนามแฝงของ tmux ใน zshrc ของฉัน

alias tmux='tmux -u'

1
ขอบคุณสำหรับธง! มันน่าหงุดหงิดกับคำพูดไร้สาระทั้งหมดเมื่อใช้ tmux และ nvim จะบ้าไปกับ powerline! วิธีนี้แก้ไขปัญหาได้! ขอบคุณอีกครั้ง.
เดฟอามิท

สำหรับผู้ที่สิ่งที่จะรู้ว่าทำไมตรวจสอบที่นี่ ,-u flag explicitly informs tmux that UTF-8 is supported
shellbye

1
น่าสนใจ ผมคิดว่าการตั้งค่าset -g utf8 onในการ~/.tmux.confจะแก้ปัญหานี้ แต่เห็นได้ชัดว่ามันไม่ได้ การใช้การตั้งค่าสถานะอย่างชัดเจนเมื่อการโทรtmuxทำงานได้ ขอบคุณมากคุณช่วยฉันให้ยุ่งยากมากมาย!
ทิม Visee

สำหรับสิ่งที่คุ้มค่าเมื่อไม่นานมานี้ฉันก็รู้ว่ามันเป็นเพราะฉันเพิ่ม LC_ALL = C ไปที่ config ของฉันซึ่งบังคับให้เข้ารหัส ASCII
Ehsan Kia
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.