Символ 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?

Моя зш-тема:

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 _, когда я установил эту опцию.
Сураб

Ответы:


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 в мой конфиг, что вызвало кодирование ascii.
Эхсан Киа
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.