2

Если я выполняю команду "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