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".