Como posso subir ou descer a página no tmux com o Terminal.app?

62

Quando estou em tmuxapenas uma parte do texto aparece. Se eu tentar rolar para cima ou para baixo, o console rola para cima, mas não o texto real . Se eu pressionar CTRL + b seguido de [, vejo na barra de status *tmuxe, se eu pressionar a seta para cima ou para baixo, posso subir / descer na linha de texto linha por linha . Quando pressiono q, vejo na linha de status bash.

Quando CTRL+bsigo Page UPou Pageo console sobe ou desce, mas não o texto.

Como posso rolar para cima ou para baixo no texto em mais de uma linha por vez?

Jim
fonte
O que me surpreendeu, mas o que parece funcionar de imediato, é rolar com o mouse do meio enquanto usa o tmux no terminal gnome.
Anthon

Respostas:

89

Se você estiver usando o Terminal.app do OS X, ele capturará as Page up/downteclas pressionadas e apenas rolará o conteúdo da janela, como se você tivesse usado a barra de rolagem. Você pode usar Shift+ Page up/downpara enviá-los para o aplicativo dentro do terminal.

Com isso, você poderá rolar uma página por vez usando:

  1. Control+B
  2. [
  3. Teclas de setas ou Shift+Page up/down
  4. Control+ Cquando terminar com a rolagem

Se você quiser alterar isso para se comportar como qualquer outro aplicativo de terminal em qualquer outra plataforma, acesse Terminal -> Preferências, Configurações, escolha seu perfil e vá para Teclado e troque as ligações por "page down / page up" e "deslocar página para baixo / deslocar página para cima":

Captura de tela das configurações do teclado Terminal.app

mrb
fonte
Um +1, embora eu não possa testá-lo, mas parece ser uma resposta vencedora.Eu lembro de tentar CMDcom flechas, mas não lembro de tentar SHIFT. Também swap the bindings for "page down/page up" and "shift page down/shift page upcomo assim? Não estou certo do que fazer. Eu realmente espero que isso funciona porque os meus nervos estão completamente destruído por estes
Jim
@ Jim Dê uma olhada na captura de tela. Se você abrir as configurações do seu computador, verá que as teclas "page up / down" e "shift page up / down" têm ações diferentes das que eu tenho (estas são as ligações: qual chave executa qual ação). Se você trocá-los, poderá alterar o que acontece quando você está segurando o turno ou não. (Se você estiver editando-los, você pode inserir \033pressionando escape)
mrb
Eu não tenho o meu macdisponível para verificar isso agora, mas na sua captura de tela shift page down, há um texto ou seja scroll to next page in buffer. Este é um texto especial que faz exatamente o que diz? Ou seja, define algum mapeamento? Também existe um bom livro sobre isso no mac? Porque eu tenho enlouquecido com o teclado nas últimas semanas
Jim
@ Jim Eu não conheço nenhum livro; Estou cercado por pessoas criadas em Macs. Quanto às configurações principais, fará mais sentido quando você realmente estiver fazendo isso. :)
mrb
Está bem. Vou tentar isso o mais cedo possível. Obrigado pela sua resposta. Sinto-me positivo que você tem dado o meu a solução para o meu problema !!! aceitará este assim que eu testar isso
Jim
31

Eu uso a combinação padrão no MacBook Pro anterior ao Yosemite: fn+ + ou fn+ + .

Edição: Eu encontrei em um MBP executando Yosemite fn+ ou fn+ deve funcionar por padrão.

Na documentação, é frequentemente mostrado como ⇞ ou ⇟

Daniël W. Crompton
fonte
11
Isso funciona para mim em um novo Air com 10.9.4 sem alterar nenhuma preferência ou arquivo de configuração ou executar nenhum comando.
Paul Um Jungwirth
8

Edite o arquivo ~ / .tmux.conf, insira a configuração 'mouse' e origine o arquivo, ou seja:

###Find tmux version first:
tmux -V
> 1.8 

###For tmux version 1.8;
vim ~/.tmux.conf ### file
set -g mode-mouse on  ### Edit the .tmux.conf file with this setting
tmux source-file ~/.tmux.conf

###For tmux 2.1 version on:
vim ~/.tmux.conf ### file
set -g mouse on ### Edit the .tmux.conf file with this setting
tmux source-file ~/.tmux.conf
Surya
fonte
Isso funciona perfeitamente!
Sibbs Gambling
7

Uma atualização dos comandos de ligação na resposta de Rob e em resposta aos comentários de Alex:

Também encontrei page-upe page-downnão sou um comando tmux (v1.8) válido, uma maneira correta de atualizar o seu ~/.tmux.confé:

bind-key -t (emacs|vi)-copy j page-up
bind-key -t (emacs|vi)-copy ; page-down

Escolha o emacs ou vi, dependendo do estilo que o tmux usa, consulte mode-keysno manual do tmux

Depois disso, você pode fazer a paginação e a redução com je ;no modo de cópia

Ronnie
fonte
11
Link rápido sobre como colocar o tmux no modo vi blog.sanctum.geek.nz/vi-mode-in-tmux
JiminyCricket 19/03/15
Se você ler o artigo publicado por JiminyCricket com atenção, será explicado que a sintaxe acima é apenas para o tmux versão 2.3 e inferior. Se você possui uma versão mais recente, depois de ativar o modo vi, o comando list-keys -T copy-mode-vimostrará as ligações de teclas na nova sintaxe (bons exemplos a seguir). Se você deseja criar uma ligação de page-up, por exemplo, use a linhabind-key -T copy-mode-vi j send-keys -X page-up
mareoraft
3

De https://wiki.archlinux.org/index.php/Tmux

Se você tiver problemas ao rolar com Shift-PageUp / Shift-PageDown em seu terminal, tente o seguinte:

set -g terminal-overrides 'xterm *: smcup @: rmcup @'

Também pode ser uma coisa de emulação de terminal, tente um dos seguintes.

export TERM=vt100
export TERM=ansi
export TERM=xterm

talvez um deles fizesse isso.

Há também chave de ligação, em ~/.tmux.conf

bind-key j page-up
bind-key ; page-down

ligaria je ;ao anterior e ao próximo.

Rob Bos
fonte
11
page-upe page-downnão são comandos tmux (v1.8) válidos, portanto, esses dois últimos comandos apresentam um erro: #Unknown command: page-(up|down)
Alex Leach
Veja a resposta de Ronnie abaixo para obter o page-up e o page-down funcionando.
Silfheed
1

Verifique se você está usando as ligações de teclas tmux adequadas (vi vs emacs), tentando os dois conjuntos: https://superuser.com/questions/196060/selecting-text-tmux-copy-mode

Eu tive um problema semelhante, onde eu podia mover o cursor com as teclas de seta, mas não conseguia subir ou descer a página usando Control+ U/ De não podia selecionar e copiar usando Spacee Enter. Acontece que o tmux estava no modo emacs no meu Mac e no modo vi no Linux, embora eu nunca o tenha definido explicitamente para o sistema operacional.

Wei
fonte
0

Se você é novo no OS X e conhece os atalhos de teclado do Windows e Linux, provavelmente terá o hábito de usá-lo CTRLpara muitas coisas. No OS X, a tecla Command (também conhecida como Apple) é frequentemente usada no lugar da CTRLchave.

Além disso, em vez das teclas Page, tente usar Command + Up(ou as outras teclas direcionais) para mover o cursor ou a tela.

SunSparc
fonte