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.