Если я выполняю команду "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, и вывод вернется к нормальному состоянию, когда вы "переключитесь".