Correção da rolagem no nano em execução no tmux no terminal de posicionamento

3

O problema:

  • eu abro um terminal (no Linux Mint, então mate-terminal)
  • zsh é o shell
  • Então eu corro o tmux
  • Editar um arquivo com nano
  • Role para cima e para baixo no arquivo com o cursor
  • Problema: Ao rolar para baixo no nano, somente a metade inferior da janela do terminal é atualizada
  • Problema: ao rolar para cima no nano, somente a metade superior do terminal é atualizado

A exibição nano completa do arquivo não é atualizada na janela do meu terminal durante a rolagem. Alguma dica?

Edit: meu .tmux.conf

Parece que esta linha é especificamente o culpado (como comentando, resolve o problema):

set -g default-terminal "xterm-256color"

Tenho certeza de que adicionei essa linha porque tenho problemas mesmo com o nano durante uma sessão SSH.

Aqui está o arquivo completo:

set-option -g default-shell /bin/zsh

# Make sure tmux knows we're using 256 colours, for
# correct colourised output
set -g default-terminal "xterm-256color"

# The following were marked as "unknown", so
# I do know what I'm doing wrong.
#set -g mode-mouse on
#setw -g mouse-select-window on
#setw -g mouse-select-pane on

# Attempting to stop "alert" sound upon startup
# but none of these are working...
set-option bell-on-alert off
set-option bell-action none
set-option visual-bell off
    
por eoinoc 17.09.2012 / 10:02

2 respostas

7

Da FAQ do tmux:

******************************************************************************
* PLEASE NOTE: most display problems are due to incorrect TERM! Before       *
* reporting problems make SURE that TERM settings are correct inside and     *
* outside tmux.                                                              *
*                                                                            *
* Inside tmux TERM must be "screen" or similar (such as "screen-256color").  *
* Don't bother reporting problems where it isn't!                            *
*                                                                            *
* Outside, it must match your terminal: particularly, use "rxvt" for rxvt    *
* and derivatives.                                                           *
******************************************************************************

link

    
por 18.09.2012 / 23:54
-1

Eu tive um problema muito parecido, mas ao invés do nano eu estava usando o vim. Eu também compilei o tmux a partir da fonte (esse detalhe será importante). Eu tenho puxado o cabelo para fora tentando descobrir a solução e, embora eu não saiba exatamente o porquê, eu queria dar alguns passos que tentei finalmente fazer funcionar. Qual foi o meu problema (adaptado da pergunta original):

  • eu abro um terminal (no CentOS 7, então gnome-terminal)
  • zsh é o shell
  • Então eu corro o tmux
  • Edite um arquivo com vim
  • Divida a exibição em vim com :sp
  • Crie um painel dividido verticalmente em tmux
  • Volte para o arquivo, role para cima e para baixo no arquivo com o cursor
  • Problema: Ao rolar para baixo na viewport do vim, apenas a parte inferior da viewport é atualizada (apenas a linha em que o cursor está)
  • Problema: Ao rolar para cima na janela de visualização do vim, somente a parte superior da viewport é atualizada (somente a linha em que o cursor está)
  • Às vezes, no entanto, eu consegui fazer com que a viewport inferior rolasse corretamente se eu ajustasse o zoom do terminal ( Ctrl-minus ou Ctrl-Shift-+ )
  • Problema: Junto com isso, se eu acessasse o novo painel tmux e digitasse um monte de texto (com espaços), fosse para o início do comando e usasse a tecla delete para excluir alguns caracteres , o terminal imprimiria uma parte do comando na linha de cima como eu ainda estava editando . E eu não conseguiria ter uma noção exata do que realmente estava sendo digitado. Não é divertido.

Aqui está o que eu fiz para eventualmente consertar: Primeiro, eu sugeriria certificar-se de que o tmux está usando a configuração screen-256color TERM. Coloque isso no seu .tmux.conf:

set -g default-terminal "screen-256color"

Agora feche todas as suas sessões tmux . Reabra o tmux e veja se isso de alguma forma resolveu o problema:

echo $TERM

Deve dizer screen-256color . Infelizmente isso não foi o suficiente para mim, eu estava tendo os mesmos problemas.

O que finalmente corrigiu para mim foi clonar a versão mais recente do tmux (no momento da escrita, v2.8) do github, depois recompilar. Eu coloquei este novo build / binary em um diretório separado, e eis que o novo binário funcionou enquanto o antigo (versão desconhecida) ainda não funcionava. O antigo ainda era uma versão bastante recente.

Espero que isso ajude alguém.

    
por 15.09.2018 / 05:04