Vincular chaves para rolagem de páginas no modo de cópia no tmux

6

Eu gostaria de poder mapear chaves do emacs (como C-v / M-v ) para rolar no tmux em vez do padrão PgUp / PgDown , isso é possível? Não é possível ver isso no manual no momento (desculpas se estiver lá, parece uma coisa tão natural, considerando o resto das ligações de teclas de navegação semelhantes ao emacs que o tmux usa)

    
por Evgeniy Dolzhenko 02.03.2012 / 15:38

1 resposta

10

Por padrão, a tabela de ligação de chave emacs-copy tem Cv, Page Down ( NPage ) e Space ligados a page-down , além de Mv e Page Up ( PPage ) ligados a page-up .

Você pode verificar suas ligações com tmux list-keys -t emacs-copy | grep -i page .

Se essas ligações estiverem faltando, você poderá restabelecê-las manualmente (por exemplo, em seu ~/.tmux.conf ):

bind-key -t emacs-copy C-v page-down
bind-key -t emacs-copy M-v page-up

Mas como esses são os padrões, você precisará rastrear onde eles estão sendo alterados / removidos antes de saber onde colocar os comandos acima para torná-los efetivos (eles precisarão vir depois do que estiver modificando as ligações ).

Tem certeza de que sua opção mode-keys está definida como emacs ? Ele padrão para emacs , mas tmux definirá como vi (juntamente com status-keys ) se você tiver a variável de ambiente VISUAL definida e seu valor tiver vi , ou se você não tiver o VISUAL definido, mas tiver o EDITOR configurado e seu valor tiver vi .

Você pode verificar seu valor global mode-keys com tmux show-options -g -w | grep mode-keys . Você também pode ter um valor mode-keys por janela (omitir o -g para verificar seu valor; você pode usar -t para atingir outra janela se não puder executar o comando na própria janela).

Se você quiser substituir a "detecção automática" e sempre usar as tabelas de vinculação emacs , poderá inserir essas linhas em ~/.tmux.conf :

set-option -g status-keys emacs
set-option -gw mode-keys emacs

O teste “tem vi ” é na verdade mais como “ vi ocorre após o último / (ou em qualquer lugar se houver / não ocorre no valor ) ”. Isso significa que um valor como /opt/vital/bin/emacs não contará como vi (apesar do vi em vital ).

    
por 03.03.2012 / 09:22