Após uma atualização recente do Ubuntu, o comportamento de usar o vim dentro de um terminal xfce4 mudou. As teclas de atalho "Shift+Page Up" e "Shift+Page Down" são mapeadas no terminal xfce4 para "Rolar uma página para cima" e "Rolar uma página para baixo" respectivamente, ou seja, elas emulam o comportamento que os terminais UNIX tiveram por décadas.
Infelizmente, quando inicio o vim em um terminal, parece que essas teclas não são mais manipuladas, pois ele não rola o terminal de volta para o conteúdo que estava antes de iniciar o vim. Usando o xterm em vez do xfce4-terminal, tudo funciona como esperado. Existe alguma configuração que me permita restaurar o comportamento antigo do UNIX e não fazer o terminal agir de forma diferente, dependendo do que está sendo executado no shell?
xfce4-terminal é 1.1.3, vim é 9.1.
Os terminais têm duas telas: a tela normal e a tela alternativa .
A tela normal é onde você normalmente interage com o shell, executa utilitários que não são de tela cheia. Isso tem um buffer de scrollback.
A tela alternativa é para onde os utilitários de tela cheia (por exemplo, editores de texto) normalmente, mas não necessariamente, alternam. A tela alternativa não tem um buffer de scrollback.
Uma maneira de saber que você está na tela alternativa é que, depois que você sai do seu aplicativo, o conteúdo anterior do terminal é restaurado. Isso não pode ser feito se o aplicativo permanecer na tela normal.
O VTE, o widget de emulação de terminal por trás do Xfce Terminal, tem o mesmo comportamento há pelo menos uma década, e esse comportamento não mudou recentemente: se estiver na tela normal, as teclas rolarão o buffer; se estiver na tela alternativa, o aplicativo em execução dentro dela receberá os eventos de pressionamento de tecla para fazer o que quiser.
É possível, embora eu ache extremamente improvável, que o Xfce Terminal tente de alguma forma sequestrar esse pressionamento de tecla e fazer algo inteligente, e essa lógica mudou recentemente. Acho muito mais provável que a configuração do seu Vim tenha mudado: agora ele muda para a tela alternativa, enquanto você preferiria que não mudasse. Verifique se o seu Vim realmente muda para a tela alternativa (a tela anterior do terminal é restaurada quando você sai) e desabilite isso na configuração do seu Vim se for isso que você está procurando. Há muitas correspondências de pesquisa na web para "Vim" "tela normal" "tela alternativa" ou palavras-chave nesse sentido, eu acharia inútil tentar repetir a solução aqui.
(Como observação lateral, deixe-me mencionar que pode haver pequenas diferenças entre os emuladores de terminal. Por exemplo, o Xfce Terminal (VTE), enquanto estiver na tela alternativa, não lhe dá acesso ao buffer de rolagem da tela normal. Correspondentemente, a barra de rolagem ocupa toda a altura do seu slot, como se não houvesse nada para rolar. Ao contrário disso, o Xterm permite que você role de volta para a rolagem da tela normal enquanto estiver na tela alternativa. Ele não permite que você faça isso usando as teclas de atalho mencionadas, pois elas são enviadas para o aplicativo (assim como no VTE), mas permite que você faça isso arrastando a barra de rolagem com o mouse.)
Eu me deparo com essa situação com frequência: executo um comando e ele me diz muitas "coisas".
Em vez de tentar editar naquele terminal, eu simplesmente abro um novo e edito nele.
Uma maneira é a partir de um menu. Posso abri-lo em uma variedade de locais/tamanhos. Se estiver em um local "estranho", executo um script local que chamo de 'kt' e o vinculo a gt e xt.