tmux показывает странно закодированную историю на OSX
Если я выполняю команду «history» в tmux, я получаю действительно странный результат. Кто-нибудь получил подсказку, что делать, чтобы получить нормальный вывод?
Вывод выглядит так:
477 ◆┬▒⎺▒└☃◆ 478 c▒├ ◆┬▒⎺▒└☃◆ 479 ec▒⎺ ◆┬▒⎺▒└☃◆ 48▮ ┴☃└ ·/↓├└┤│↓c⎺┼° 481 ├└┤│ 482 ┌⎽ 483 cd ┐⎺▒┼⎽/ 484 ┌e☃┼ ┐⎺▒┼⎽ ⎼┤┼ 485 ┌⎽ 486 ┌e☃┼ ▮1_e─┤▒┌☃├☃e⎽↓c┌┘ ⎼┤┼ 487 cd ↓↓ 488 ┌e☃┼ ┐⎺▒┼⎽ ⎼┤┼ 489 cd ┐⎺▒┼⎽/ 49▮ ┌e☃┼ ┐⎺▒┼ ⎼┤┼ 491 ┴☃└ ▮1_e─┤▒┌☃├☃e⎽↓c┌┘ 492 ▒☃⎽├⎺⎼≤ 493 ┌e☃┼ ┐⎺▒┼ ⎼┤┼ 494 ├└┤│ ┌⎽ 495 ├⎺⎻ 496 ▒☃⎽├⎺⎼≤ 497 e│☃├ 498 e│☃├ 499 ▒☃⎽├⎺⎼≤ S⎼e┼⎽↑M▒cB⎺⎺┐↑P⎼⎺↑2:· S⎺e⎼e┼$
Я предполагаю, что это связано с кодированием.
Я на MacBook Pro в OSX Lion 10.7.5.
Я использую приложение «Терминал», в котором (помимо прочего) включено кодирование UTF-8 и UFT-8 в разделе «Международный - Кодировка символов:».
Моя оболочка bash.
Мой tmux согласно tmux -V
tmux 1.9a.
По моему ~/.tmux.conf/
, у меня
set-option -g prefix ^Space bind-key ^Space send-prefix unbind C-b set-option -g status-fg white set-option -g default-command "reattach-to-user-namespace -l bash" set -sg escape-time 1 set -g base-index 1 setw -g pane-base-index 1 bind r source-file ~/.tmux.conf set-window-option -g utf8 on set -g utf8 set -g status-utf8 on
Мой languagesetup
английский, хотя я датский и моя раскладка клавиатуры :) Это было проблемой для меня, только когда я languagesetup
не говорил по-английски - в частности, передача с моим датским символом канала |
означала, что bash не будет распознавать команду после канала, если Я написал пробел между ним и трубой, поэтому я должен был сделать, например,
echo $PATH |less
скорее, чем
echo $PATH | less
Но, как я уже сказал, я исправил это с languagesetup
.
Я действительно хочу начать работать с tmux, поэтому я надеюсь, что кто-нибудь знает, как это исправить! :)
РЕДАКТИРОВАТЬ 1:
ПРИЧИНА:
Странный вывод произошел из-за того, что в моей истории было ^ N (вывод комбинации клавиш Ctrl + n). Странный вывод может быть преднамеренно вызван, если я нажму Ctrl + n и затем введу в tmux. Я подал заявку на страницу SourceForge на tmux на случай, если это будет ошибка: https://sourceforge.net/p/tmux/tickets/137/ Итак, нет ^ N, нет странного вывода!
РЕДАКТИРОВАТЬ 2:
Для более интересных деталей, просто посмотрите в комментариях :)
РЕДАКТИРОВАТЬ 3:
После подачи отчета об ошибке для разработчиков tmux по адресу https://sourceforge.net/p/tmux/tickets/137/ мне сказали, что эффект ^ N не является ошибкой. Это особенность старых аппаратных терминалов до 8 дней, когда разработчики использовали управляющие символы для переключения наборов символов, чтобы иметь доступ к более широкому диапазону символов. ^ N «сдвинется», ^ O «сдвинется», то есть вернется к исходному набору символов. Нажатие ^ O ничего не делает для меня ни в терминале, ни в iTerm, и это потому, что ^ O переназначается на «сброс» - это можно увидеть при запуске stty -a
. Однако, выполнив ^ N, вы можете запустить сценарий оболочки printf '\x0F'
, который вводит управляющий символ, который должен генерировать ^ O, и вывод вернется к нормальному состоянию, когда вы «переключитесь».
0 ответов на вопрос
Похожие вопросы
-
2
Как отправить escape-символ на OS X терминал?
-
1
Как разблокировать заблокированный файл псевдонимов в OS X?
-
4
Использование публичных терминалов для входа в ваши личные учетные данные
-
-
3
Какой лучший способ кодировать видео для загрузки на YouTube?
-
2
Как я могу получить OSX Terminal.app для открытия полноэкранного режима, а не каскадного?
-
3
Mac OS X: обычные места, где должны жить бинарные файлы
-
2
Mac OS X: нужен простой скрипт
-
4
Прозрачный терминал Unicode X не привязан к среде рабочего стола?
-
3
Группы окон OSX
-
1
удаление истории из панели инструментов Google для т.е.