Znak UTF-8 nie wyświetla się poprawnie w tmux


19

Używam ♪znaku w moim zshmotywie do szybkiego. Ale w tmuxie mój monit zachowywał się dziwnie, pokazując dodatkowe spacje, takie jak to:

♪ ~   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

Niedawno odkryłem, że mogę ustawić kodowanie tmux na utf8 przez set-window-option -g utf8 on. W ten sposób problem przestrzeni zniknął, ale ♪postać zmieniła się na _. Jak mogę się ♪odzyskać tmux?

Mój motyw Zsh:

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

Nie mogłem set-window-optiondla mnie pracować not found cmd. Proszę, mógłbym napisać dokładne kroki, aby to odtworzyć.
— user.dz

Użyłem tu tmux conf (jest również tutaj używany ). Wygląda na to, że tmux konwertuje każdy znak, który nie jest ASCII _, kiedy ustawię tę opcję.
— Sourabh

Odpowiedzi:


29

Uruchomienie tmux z uflagą rozwiązuje ten problem

tmux -u

W moim zshrc utworzyłem alias tmux

alias tmux='tmux -u'

1
Dzięki za flagę! To było tak frustrujące z całym bełkotem, gdy używanie tmux i nvim oszalało na punkcie powerline! To rozwiązało problem! Dzięki jeszcze raz.
— Dave Amit

Dla tych, którzy co wiem dlaczego, sprawdzić tutaj ,-u flag explicitly informs tmux that UTF-8 is supported
— shellbye

1
Ciekawy. Myślałem, że ustawienie set -g utf8 onw ~/.tmux.confrozwiąże ten problem, ale najwyraźniej nie. tmuxJednak jawne używanie flagi podczas dzwonienia działa. Wielkie dzięki, uratowałeś mi wiele kłopotów!
— Tim Visee

O ile jest to warte, to niedawno się dla mnie zepsuło, okazało się, że było to spowodowane tym, że dodałem LC_ALL = C do mojej konfiguracji, co wymusiło kodowanie ascii.
— Ehsan Kia,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.