As preferências padrão do terminal são mapeadas Shift- Page Upe Shift- Page Downpara as seqüências de caracteres que informam a programas como Vim e Emacs para rolar ( ESC [ 5 ~
e ESC [ 6 ~
).
Se você deseja que essas teclas enviem sequências de caracteres para o terminal sem o Shiftmodificador, você pode personalizar o mapa do teclado:
Terminal> Preferências> Configurações> [perfil]> Teclado
Se você fizer isso, recomendo que você inverta o significado do Shiftmodificador para essas chaves trocando os mapeamentos pelas chaves com e sem deslocamento, para que os comportamentos alternativos ainda estejam disponíveis. Além disso, consulte o menu Exibir , que contém comandos de rolagem que usam o Commandmodificador para que estejam disponíveis, independentemente do mapa do teclado do terminal.
Da mesma forma, Shift- Homee Shift- Endsão mapeados para ir para o início / fim da linha atual ( ESC [ H
e ESC [ F
). Essas sequências são entendidas pelo Bash, mas você pode precisar personalizar o Vim para entendê-las ou editar os mapeamentos especificamente para o Vim. O Vim, o Emacs e alguns outros programas enviam uma sequência de escape para colocar o terminal no "Modo Cursor do Aplicativo", onde as teclas Home / End enviam ESC O H
e ESC O F
, mas o Terminal (a partir do 10.9) não implementa esse comportamento. Portanto, você pode alterar o mapa do teclado para enviar esses outros códigos (o Bash também os entende). (Em outros sistemas operacionais, Homee Endsão usados para o início / fim da linha, o Terminal fornece o Shiftmodificador para simetria.)
Control- Left Arrowe Control- Right Arrowtambém são mapeados para "mover para o início / fim de linha" por padrão, embora sejam diferentes dos mapeados para Shift- Homee Shift- End. Em vez disso, eles são mapeados para as sequências compatíveis com Emacs e Bash ESC [ 5 D
e ESC [ 5 C
. Supondo que eles não estejam em uso pelo Vim, a abordagem mais simples seria personalizar o Vim para aceitá-los, usando ~ / .vimrc.
Observe que nas versões mais recentes do macOS, o Terminal não possui mais mapeamentos explícitos para Homee Endnas preferências por padrão. Em vez disso, possui um comportamento dinâmico em que as teclas são mapeadas automaticamente para o início / fim de linha quando a tela alternativa está ativa - por exemplo, ao usar um aplicativo de tela cheia como emacs, vim, screen ou tmux. Ao usar um programa orientado a linhas como um shell na tela principal, eles continuam a rolar a exibição do terminal por padrão. O Shiftmodificador inverte o comportamento.