Por que a tela do GNU está interferindo no Ctrl-Pageup do Vim para alternar as guias?

3

Eu normalmente uso Ctrl + PageUp e Ctrl + PageDown para alternar as abas no Vim. Mas ao executar o Vim dentro da tela GNU, eles não alternam as guias e, em vez disso, têm o efeito de alternar entre maiúsculas e minúsculas.

Estou executando as seguintes ligações no meu .screenrc :

bindkey "^[[1;5D" prev
bindkey "^[[1;5C" next

Isso me permite mover entre screen tabs com Ctrl + e Ctrl + .

Mas desabilitar essas ligações não resolve meu problema, então não acho que elas sejam as culpadas.

Estou assumindo que há alguma interação entre meu emulador de terminal, a tela e o Vim que não entendo.

Edit: Eu encontrei através de esta resposta que iniciar o vim com a variável de ambiente TERM configurada (sobrescrita) para xterm é uma solução viável, como esta:

TERM=xterm vim

Mas acho que a questão ainda está em aberto, pois quero saber por que isso é necessário.

    
por jl6 21.02.2016 / 21:51

1 resposta

2

Normalmente, quando você executa screen , faz uma inicialização que (dependendo do terminal atual) pode alterar as seqüências de escape enviadas pelas várias teclas do teclado.

Por exemplo, posso ver que ele inicializa xterm :

  • teclas do cursor de aplicativo
  • teclado do aplicativo

No modo de aplicação, xterm (e outros terminais) mudam a maneira como as chaves especiais não modificadas enviam seqüências de escape, usando um prefixo diferente ( escape [ versus escape O ). Para chaves modificadas (como control PageUp ), o xterm não altera seu esquema. Mas o terminal que você está usando pode fazer isso.

Como nem screen nem vim presta atenção à descrição do terminal para essas chaves modificadas, elas não veriam que a descrição do terminal difere ao executar screen . Mas você pode verificar como a execução de screen altera as strings reais enviadas por essas chaves e ajusta seu .screenrc para refletir isso.

Você pode ver as strings reais usando

  • cat -v (na maioria dos sistemas) ou
  • prefixando teclas especiais com controle V

Leitura adicional:

por 21.02.2016 / 23:13