Domyślne preferencje terminala mapują Shift- Page Upi Shift- Page Downna sekwencje znaków, które każą programom takim jak Vim i Emacs przewijać ( ESC [ 5 ~
i ESC [ 6 ~
).
Jeśli chcesz, aby te klawisze wysyłały sekwencje znaków do terminala bez Shiftmodyfikatora, możesz dostosować mapę klawiatury:
Terminal> Preferencje> Ustawienia> [profil]> Klawiatura
Jeśli to zrobisz, zalecam odwrócenie znaczenia Shiftmodyfikatora dla tych kluczy poprzez zamianę mapowań dla klawiszy przesuniętych i nieprzesuniętych, aby alternatywne zachowania były nadal dostępne. Zobacz także Zobacz menu, które zawiera przewijania komend, które używają Commandmodyfikatora więc są one dostępne niezależnie od klawiatury mapie terminala.
Podobnie Shift- HomeiShift - Endsą mapowane, aby przejść na początek / koniec bieżącej linii ( ESC [ H
i ESC [ F
). Sekwencje te są zrozumiałe dla Basha, ale może być konieczne dostosowanie Vima, aby je zrozumieć, lub edycja mapowań specjalnie dla Vima. Vim, Emacs i niektóre inne programy wysyłają sekwencję ucieczki, aby wprowadzić terminal do „Trybu kursora aplikacji”, w którym wysyłane są klawisze Home / End ESC O H
i ESC O F
, ale Terminal (od 10.9) nie implementuje tego zachowania. Możesz więc zmienić mapę klawiatury, aby zamiast tego wysłać te inne kody (Bash również je rozumie). (W przypadku innych systemów operacyjnych, Homei Endsą stosowane do startu / końca linii, więc terminal zapewnia im Shiftmodyfikator symetrii).
Control- Left ArrowiControl - Right Arrowsą również domyślnie odwzorowane na sekwencje „przenieś na początek / koniec linii”, chociaż różnią się one od sekwencji zamapowanych na Shift- Homei Shift- End. Zamiast tego są odwzorowane na sekwencje kompatybilne z Emacsem i Bash ESC [ 5 D
oraz ESC [ 5 C
. Zakładając, że nie są one używane przez Vima, najprostszym podejściem byłoby dostosowanie Vima do akceptowania ich przy użyciu ~ / .vimrc.
Pamiętaj, że w nowszych wersjach systemu macOS Terminal nie ma już wyraźnych mapowań dla HomeEnd domyślnego preferencji i preferencji. Zamiast tego zachowuje się dynamicznie, gdy klawisze automatycznie odwzorowują początek / koniec linii, gdy aktywny jest ekran alternatywny - np. Podczas korzystania z aplikacji pełnoekranowej, takiej jak emacs, vim, screen lub tmux. Podczas używania programu zorientowanego liniowo, takiego jak powłoka na ekranie głównym, domyślnie kontynuują przewijanie widoku terminala. ShiftModyfikator odwraca zachowanie.