Rolagem no Mac com Tmux e iTerm

16

Estou usando o iTerm 2.1.4 e o Tmux no OS X Yosemite. Gostaria de poder rolar as janelas do iTerm para cima e para baixo, mas não sei ao certo o que controla a rolagem. O tmux controla a rolagem quando o uso com o iTerm ou o iTerm ainda controla a rolagem?

Eu tentei usar as várias teclas que deveriam rolar o iTerm, mas tudo o que recebo são caracteres "~~~~~" na linha de comando. Como rolar com esta configuração?

Raio
fonte

Respostas:

31

A rolagem do Tmux é um pouco diferente do que apenas a rolagem com uma roda do mouse ou um trackpad.

No tmux, a rolagem é realizada enviando primeiro 'prefix- ['. Você verá uma pequena caixa amarela no canto superior direito da janela do seu terminal.

Nesse modo, você pode usar as teclas de seta, PageUp, PageDown, Ctrl-U, Ctrl-D, hjkl (modo vi) ou outras teclas de movimento configuráveis ​​para rolar para frente ou para trás no buffer.

Existe uma opção em compilações relativamente recentes do tmux que permite usar o mouse enquanto estiver no modo de rolagem.

adicione isso ao seu .tmux.conf

set-option -g mouse on

Além disso, se a memória servir, o tmux será incorporado ao iTerm e, portanto, recursos como a multiplexação também serão incorporados. Existe uma razão para você querer usar o tmux no iTerm? O OSX Terminal embutido é definitivamente aprimorado por um multiplexador como o tmux, mas o iTerm procura aliviar essas deficiências por ser uma solução independente.

EDIT 1: Depois de atualizar para o El Capitan, notei algum comportamento desconhecido ao usar o Terminal.app e o tmux. Isso me levou a um excelente artigo detalhando as opções que eu não conhecia e que parecem responder à sua pergunta mais detalhadamente do que eu esperava. Todas as opções são específicas do tmux, tanto quanto eu sei, e são independentes das versões do OSX; portanto, usá-las no Yosemite deve ser bom. Sua pergunta de rolagem é abordada aqui, com opções como:

bind-key -t vi-copy WheelUpPane scroll-up
bind-key -t vi-copy WheelDownPane scroll-down

Muitas opções mais úteis no artigo vinculado abaixo.

https://ryanfb.github.io/etc/2015/10/19/tmux_mouse_mode_on_el_capitan.html

notdavidcronenberg
fonte
3
O link compartilhado na parte inferior desta resposta é excelente, mas agora um pouco desatualizado. A fim de conseguir seu objetivo, você também precisará ler este: github.com/tmux/tmux/issues/754#issuecomment-297452143
John Ruiz
Não funciona para mim na serra alta
Ulysse BN
obras em iterm2 usando tmux mas mexe-se a si mesmo em terminal.app com coisas como rolagem em funcionamento parada vim e, em seguida, copiar e colar tornar-se mais estranho
Ishan Srivastava
1

Encontrei as seguintes maneiras de lidar com isso (macOS Mojave):

  • Ative o modo de rolagem tmux e pressione a tecla de seta para cima; O iTerm solicita que você defina a preferência de rolagem acima mencionada. Mas, caso você tenha esquecido / dispensado esse aviso, não será solicitado novamente, eu acho.

  • Vá para as configurações do iTerm -> "Avançado" -> "O botão de rolagem envia as teclas de seta no modo de tela alternativo" -> definido como "sim".

everyonesdesign
fonte