Mapa de preferências padrão do terminal Shift - Page Up e Shift - Page Down para as seqüências de caracteres que informam programas como Vim e Emacs para rolar ( ESC [ 5 ~
e ESC [ 6 ~
).
Se você quiser que essas chaves enviem seqüências de caracteres para o terminal sem o modificador Shift , você poderá personalizar o mapa do teclado:
Terminal > Preferences > Settings > [profile] > Keyboard
Se você fizer isso, recomendo que você inverta o significado do modificador Shift para essas chaves, trocando os mapeamentos das teclas deslocadas e não-deslocadas, para que os comportamentos alternativos ainda estejam disponíveis. Além disso, consulte o menu Visualizar , que contém comandos de rolagem que usam o modificador Comando para que estejam disponíveis, independentemente do mapa do teclado do terminal.
Similarmente, Shift - Início e Shift - Fim são mapeados para mover para o início / fim de a linha atual ( ESC [ H
e ESC [ F
). Essas seqüências são entendidas pelo Bash, mas você pode ter que customizar o Vim para entendê-las, ou editar os mapeamentos especificamente para o Vim. O Vim, o Emacs e alguns outros programas enviam uma seqüência de escape para colocar o terminal em “Application Cursor Mode”, em que as teclas Home / End enviam ESC O H
e ESC O F
, mas o Terminal (a partir de 10.9) não implementa esse comportamento . Então você pode querer mudar o mapa do teclado para enviar esses outros códigos (Bash também os entende). (Em outros sistemas operacionais, Home e End são usados para o início / fim da linha, então o Terminal fornece o modificador Shift para simetria.)
Controle - Seta para a esquerda e Controle - Seta para a direita também são mapeados para "mover para o início / fim de linha "seqüências por padrão, embora sejam diferentes daquelas mapeadas para Shift - Início e Shift - Fim . Em vez disso, eles são mapeados para as seqüências compatíveis com Emacs e Bash ESC [ 5 D
e ESC [ 5 C
. Supondo que eles não estejam sendo usados pelo Vim, a abordagem mais simples seria personalizar o Vim para aceitá-los usando ~ / .vimrc.
Note que em versões mais recentes do macOS, o Terminal não possui mais mapeamentos explícitos para Início e Fim nas preferências por padrão. Em vez disso, ele tem um comportamento dinâmico em que as chaves mapeiam automaticamente para o início / fim de linha quando a tela alternativa está ativa - por exemplo, ao usar um aplicativo de tela inteira como emacs, vim, screen ou tmux. Ao usar um programa orientado a linhas como um shell na tela principal, eles continuam a rolar a visualização do terminal por padrão. O modificador Shift inverte o comportamento.