Configuração de tela GNU para reconhecimento de código de tecla otimizado

3

Atualmente, a tela GNU irá alterar alguns pressionamentos de tecla, por exemplo CTRL pressionado em combinação com as teclas de seta, de modo que, por exemplo, quando no modo de inserção vim, CTRL-PGUp irá Maiúscula a próxima palavra / atual (ou algo parecido). Eu gostaria que funcionasse de forma bastante transparente, de modo que a funcionalidade seja a mesma de quando não está sendo executada (com a óbvia exceção de seqüências de controle CTRL-a) ... isso é possível?

Também - e eu suspeito que isso seja mais ou menos um assunto separado - eu gostaria que a roda de rolagem rolasse de volta no log da sessão, em vez de percorrer o histórico como acontece agora. Factível? Ou talvez ele possa ser configurado para emular um tamanho de tela muito maior que o aplicativo terminal em que está sendo executado possa manter esse texto em seu log de sessão. De qualquer forma, o objetivo seria poder usar a roda do mouse e / ou a seta para cima para voltar no registro de sessão.

    
por intuited 19.12.2009 / 10:22

3 respostas

2

Você pode alterar as teclas padrão na tela, mas encontrará o mesmo tipo de problemas, apenas com outros pressionamentos de teclas. O Byobu facilita a configuração das teclas básicas para a tela. No byobu, o ciclo de volta ao log da sessão com a roda do mouse também é ativado, assim você pode usá-lo ou ver como ele está definido em /usr/share/byobu/profiles/common .

    
por 19.12.2009 / 11:20
0

Para a rolagem, você quer isso no seu ~/.screenrc :

# scrollback by inhibiting switching to terminal emulator's alternate screen
termcapinfo xterm*|rxvt*|kterm*|Eterm*|putty ti@:te@
# then turn on alternate windows within screen
altscreen on

Para o material da chave do cursor, isso depende de quão precisa é a emulação do terminal, para o tipo de terminal reivindicado na janela em que você chama a tela, para que ele possa fazer o mapeamento corretamente. Muitos emuladores de terminal afirmam, via $TERM , como "xterm". Mas eles não são e eles não imitam o suficiente para justamente reivindicar isso. Freqüentemente, desistir de reivindicar algo como vt220 tem sido suficiente para melhorar as coisas para mim, mas não me lembro da situação com a tela - eu apenas uso o próprio xterm. Existem vários testes de tortura que você pode executar para ver o quão ruim seu emulador de terminal é fingir ser xterm quando não é.

Para consertar as coisas depois do fato, use o comando bindkey screen. Está documentado na tela (1), e se você usar ^ A: (ou qualquer que seja o mapeamento da tela para escape, se não ^ A (eu uso ^])) então você pode digitar ^A:bindkey -d para ver o mapa atual.

    
por 21.12.2009 / 04:19
0

Não é o ideal, mas você pode colocar isso em .vimrc como uma correção imediata:

nmap <ESC>[5;5~ <C-PageUp>
nmap <ESC>[6;5~ <C-PageDown>

Proveniente deste relatório de erros .

Como alternativa, você pode dizer a vim para alterar seu reconhecimento de PgUp / PgDn:

set t_kN=<ESC>[6;*~
set t_kP=<ESC>[5;*~

O primeiro é melhor, de certa forma, porque significa que o seu PgUp / PgDn ainda funciona fora de screen .

    
por 09.05.2011 / 02:40

Tags