Zainstalowałem nowy iTerm 2. Zapytał mnie na żółtym pasku u góry, czy chciałbym włączyć funkcję myszy. Niestety nie pamiętam już dokładnego zdania.
Przez przypadek zgodziłem się. Teraz, gdy korzystam z kółka przewijania myszy w iTerm, nie przewija ono już w górę, ale zamiast tego uruchamia historię poleceń. Jakbym nacisnął kursor w górę.
Nie mogłem znaleźć odpowiednich ustawień, aby ponownie to wyłączyć. Czy ktoś wie, gdzie mogę przełączyć tę opcję?
Dzięki za pomoc!
ESC [ ? 1 0 4 9 l
alboESC [ ? 1 0 4 7 l
alboESC [ ? 47 l
( gnu.org/software/screen/manual/html_node/Control-Sequences.html )Odpowiedzi:
Kilka terminali, w tym iTerm2, mają cechę gdzie zmienić zachowanie myszy koła, gdy program pełnoekranowy, takich jak
vi
, lubscreen
czytmux
jest uruchomiony. Dzieje się tak, gdy programy te używają alternatywnego ekranu , aby zapewnić użyteczną funkcję. Zwykle podczas korzystania z alternatywnego ekranu w iTerm2 mysz kółka działa jak pasek przewijania, przewijając cały ekran w górę / w dół. Ale gdy ta funkcja jest włączona, iTerm2 wysyła klawisze kursora w górę / w dół, zmieniając historię poleceń.Jak sugerowano w innym komentarzu, wybierz menu Preferencje :
i w tym wybierz kartę Zaawansowane . Przewiń w dół do sekcji Mysz ,
i przełącz pozycję na
Kółko przewijania wysyła klawisze strzałek w trybie alternatywnego ekranu
od Tak do Nie . Będziesz musiał ponownie uruchomić iTerm2, aby zmiana zaczęła obowiązywać. (W iTerm2 v3.1.5 zmiany wchodzą w życie bez ponownego uruchamiania.)
źródło
Jeśli jesteś pułapką w trybie historii przewijania, możesz uciec, uruchamiając vi i wyjść bezpośrednio. Możesz także wybrać inny program korzystający z alternatywnego ekranu i wyjść bezpośrednio.
Przewijanie historii za pomocą kółka myszy teoretycznie nigdy nie powinno się zdarzyć. Zdarza się to w praktyce, ponieważ czasami alternatywny tryb ekranu nie jest prawidłowo przełączany z powrotem. Przyjęta odpowiedź rozwiązuje problem, dezaktywując przydatną funkcję, a mianowicie przewijanie w vi, mniej, ... za pomocą kółka myszy lub gładzika. Możesz zatrzymać tę opcję w zaawansowanych ustawieniach:
ustawione na tak. Czasami będziesz uwięziony w trybie historii przewijania. Ale jeśli wiesz, jak uciec, to nie jest problem.
źródło
[[A^
i[[B^
do wiersza poleceń zamiast przewijania okna. Wiedziałem, że to nie jest normalne zachowanie. Wcześniej pozostawiłem komputer wnano
powłoce SSH, która rozłączyła się po zamknięciu laptopa. To nagłe wyjście było oczywiście winowajcą. Po prostu otwarcie nowej karty w iTerm2 naprawiło to.screen
korzystania z tej sztuczki nie można wyjść z trybu alternatywnego ekranu. Więc jeśli używaszscreen
dużo (jak ja), całkowite wyłączenie tej funkcji jest ratowaniem życia.Prawdopodobnie musisz po prostu wyjść z alternatywnej konsoli.
Próbować:
tput rmcup
źródło
Preferencje: Zaawansowane: Mysz: kółko przewijania wysyła klawisze strzałek w trybie alternatywnym
źródło
Z iTerm2 możesz również przytrzymać Option podczas używania kółka do przewijania okna, aby wymusić przewijanie okna, w przypadku, gdy chcesz, aby kółko kontynuowało pracę w vimie.
źródło
Zachowanie, które widzisz, jest oczekiwanym (i poprawnym) zachowaniem na alternatywnym ekranie. Jedynym problemem, jaki masz, jest to, że wpadłeś na bash lub cokolwiek innego, na alternatywnym ekranie, być może podczas utraty połączenia lub z zabitego vima lub mniej. EG byłeś w środku i zostałeś
less +F /var/log/something
rozłączony.Widzisz, że ktoś już napisał, że
tput rmcup
polecenie przejdzie do ekranu głównego.Poszedłem też dalej i poszukałem znaków kontrolnych terminalu. Może to być dowolny z:
ESC [ ? 1 0 4 9 l
lubESC [ ? 1 0 4 7 l
lubESC [ ? 47 l
(gnu.org/software/screen/manual/html_node/Control-Sequences.html) z preferencją do pierwszego.Generalnie odnoszę sukcesy w iTerm2
echo -e '\e[?1049l'
, ponieważ nie znajdujęrmcup
łatwiejszego do zapamiętania, przywrócenia pamięci konsoli ?.źródło
Miałem ten sam problem i żadne z rozwiązań, które przeczytałem i wypróbowałem, nie zadziałało. Tym, co naprawiło mój problem, było wyłączenie Bezpiecznego wpisywania klawiatury, a teraz, gdy używam myszy do przewijania w ssh iw trybie terminalowym w systemie MacOS 10.13, działa tak, jak tego oczekuję!
źródło