tmux mostra uma história estranhamente codificada no OSX

2

Se eu fizer o comando "history" no tmux, obtenho um resultado muito estranho. Alguém tem uma dica sobre o que fazer para obter saída normal?

A saída é assim:

  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┼$ 

Acho que tem a ver com codificação.

Estou em um MacBook Pro no OSX Lion 10.7.5.

Estou usando o aplicativo Terminal que tem (entre outras) a codificação UTF-8 ativada e o UFT-8 em "Internacional - Codificação de caracteres:".

Meu shell é bash.

Meu tmux como por tmux -V é tmux 1.9a.

No meu ~/.tmux.conf/ , tenho

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

Meu languagesetup é inglês, embora eu seja dinamarquês e meu layout de teclado também :) Isso só foi um problema para mim quando languagesetup não era inglês - especificamente, canalizando com meu caractere de duto dinamarquês | significava que bash não reconheceria o comando após o pipe se eu escrevesse um espaço entre ele e o pipe, então eu tive que fazer por exemplo

echo $PATH |less

em vez de

echo $PATH | less

Mas, como eu disse, corrigi isso com languagesetup .

Estou ansioso para começar o tmux, então espero que alguém saiba como consertar isso! :)

EDIT 1:

CAUSA:

A saída estranha foi porque eu tinha ^ N (a saída da combinação de teclas Ctrl + n) na minha história. A saída estranha pode ser forçada intencionalmente se eu pressionar Ctrl + n seguido de entrar no tmux. Arquivei um ticket na página do SourceForge do tmux, caso fosse um bug: link Então, não ^ N, nenhuma saída estranha!

EDIT 2:

Para detalhes mais interessantes, basta olhar nos comentários:)

EDIT 3:

Depois de preencher um relatório de bug para os desenvolvedores do tmux no link , me disseram que o efeito de ^ N não é um bug. É um recurso dos antigos pré-utf-8 dias de terminais de hardware, onde os desenvolvedores usavam caracteres de controle para alternar conjuntos de caracteres, a fim de ter acesso a uma variedade maior de caracteres. ^ N "mudaria", ^ O "mudaria", isto é, voltaria ao conjunto de caracteres original. Pressionar ^ O não faz nada para mim no Terminal nem no iTerm, e isso ocorre porque ^ O é remapeado para "descartar" - isso pode ser visto executando stty -a . No entanto, depois de ter feito ^ N, você pode executar um script de shell printf '\x0F' , que insere o caractere de controle que ^ O deve produzir, e a saída retornará ao normal, conforme você "troca".

    
por Reefersleep 22.06.2014 / 15:41

0 respostas