Le preferenze predefinite di Terminal sono mappate Shift- Page Upe Shift- Page Downalle sequenze di caratteri che indicano ai programmi come Vim ed Emacs di scorrere ( ESC [ 5 ~
e ESC [ 6 ~
).
Se si desidera che questi tasti inviino sequenze di caratteri al terminale senza il Shiftmodificatore, è possibile personalizzare la mappa della tastiera:
Terminale> Preferenze> Impostazioni> [profilo]> Tastiera
Se lo fai, ti consiglio di invertire il significato del Shiftmodificatore per questi tasti scambiando le mappature per i tasti spostati e non spostati, in modo che i comportamenti alternativi siano ancora disponibili. Inoltre, consulta il menu Visualizza , che contiene i comandi di scorrimento che utilizzano il Commandmodificatore in modo che siano disponibili indipendentemente dalla mappa della tastiera del terminale.
Allo stesso modo, Shift- Homee Shift- Endsono mappati per spostarsi all'inizio / alla fine della riga corrente ( ESC [ H
e ESC [ F
). Queste sequenze sono comprese da Bash, ma potresti dover personalizzare Vim per capirle o modificare le mappature specificatamente per Vim. Vim, Emacs e alcuni altri programmi inviano una sequenza di escape per mettere il terminale in "Modalità cursore applicazione", dove i tasti Home / End inviano ESC O H
e ESC O F
, ma Terminale (a partire da 10.9) non implementa questo comportamento. Quindi potresti voler cambiare la mappa della tastiera per inviare questi altri codici (anche Bash li capisce). (Su altri sistemi operativi Homee Endvengono utilizzati per l'inizio / fine della linea, quindi Terminal fornisce loro il Shiftmodificatore per la simmetria.)
Control- Left Arrowe Control- Right Arrowsono inoltre mappati per impostazione predefinita sulle sequenze "sposta all'inizio / fine della linea", sebbene siano diversi da quelli associati a Shift- Homee Shift- End. Invece, sono mappati alle sequenze compatibili con Emacs e Bash ESC [ 5 D
e ESC [ 5 C
. Supponendo che questi non siano utilizzati da Vim, l'approccio più semplice sarebbe quello di personalizzare Vim per accettarli, usando ~ / .vimrc.
Si noti che nelle versioni più recenti di macOS, Terminal non ha più mappature esplicite per Homee Endnelle preferenze per impostazione predefinita. Al contrario, ha un comportamento dinamico in cui i tasti mappano automaticamente l'inizio / la fine della riga quando è attiva la schermata alternativa, ad esempio quando si utilizza un'applicazione a schermo intero come emacs, vim, screen o tmux. Quando si utilizza un programma orientato alla linea come una shell nella schermata principale, continuano a scorrere la vista del terminale per impostazione predefinita. Il Shiftmodificatore inverte il comportamento.