szpachlówka i ekran oraz bufor przewijania [zamknięty]

38

Kiedy używam screena w sesji kitu, nie mogę użyć bufora przewijania kitu, aby spojrzeć na wszystko, co właśnie przewinęło się z ekranu. Zamiast tego po prostu widzę, co działo się podczas sesji szpachlowania tuż przed ekranem do biegania.

Czego tu brakuje? Lubię przewijać wstecz i nie chcę używać funkcji ekranu do przeglądania bufora z przeszłości; kółko przewijania mojej myszy nie ma zaczepów na ekranie i nie oczekuję, że kiedykolwiek.

Dzięki!

Chris
źródło

Odpowiedzi:

40

Możesz także zapoznać się z często zadawanymi pytaniami dotyczącymi ekranu, które pozwalają na zachowanie hybrydowe:

Podsumowanie: dodaj linię do pliku .screenrc:

termcapinfo xterm ti @: te @

Referencje ( Putty FAQ )

Emulator terminala PuTTY zawsze miał zasadę, że gdy używany jest „ekran alternatywny”, nic nie jest dodawane do przewijania. Wynika to z faktu, że typowymi programami korzystającymi z alternatywnego ekranu są edytory tekstu, które często przewijają się do przodu i do tyłu w tym samym dokumencie; więc (a) wypełnią przewijany tekst dużą ilością nieporządnie nieuporządkowanego tekstu, i (b) zawierają własną metodę umożliwiającą użytkownikowi przewinięcie z powrotem do interesującego go fragmentu. Ogólnie rzecz biorąc, stwierdziliśmy, że taka zasada Właściwa Rzecz w prawie wszystkich sytuacjach.

Niestety, screen jest jednym wyjątkiem: korzysta z alternatywnego ekranu, ale nadal zwykle pomocne jest kontynuowanie działania przewijania PuTTY. Najprostszym rozwiązaniem jest przejście do panelu sterowania Funkcje i zaznaczenie „Wyłącz przełączanie na alternatywny ekran terminala”. (Aby uzyskać więcej informacji, zobacz rozdział 4.6.4.) Alternatywnie możesz powiedzieć samemu screenowi, aby nie używał alternatywnego ekranu: FAQ ekranowe sugeruje dodanie wiersza „termcapinfo xterm ti @: te @” do pliku .screenrc.

KnipSter
źródło
O wiele lepszy zestaw rozwiązań.
Zanchey
16

Aby przewinąć do tyłu, naciśnij ^A( Ctrl-Alub dowolną sekwencję sterowania ekranem, jeśli ją odwzorowałeś), a następnie Esc. Umożliwi to przesuwanie kursora w górę i w dół. PgUp/ PgDnumożliwia przewijanie w górę i w dół ekranu.

Powodem tego jest sposób, w jaki ekran obsługuje bufor przewijania. Screen zawsze rysuje pełny obszar tekstu i ma swój backbuffer, którym musisz sterować za pomocą screena. Jest to podobne do korzystania z programów, takich jak vi lub Joe, które zajmują cały obszar tekstowy i zapewniają własny bufor: przewijanie w górę w emulatorze terminali po prostu daje śmieci, ale przewijanie w górę w tych programach daje zamierzony efekt.

Andrew Scagnelli
źródło
Więc jedynym sposobem, w jaki mógłbym użyć kółka przewijania na mojej myszy (okej, jestem taki leniwy!) Jest, jeśli zmienię mapowanie, aby w jakiś sposób wysłać [klawisz Escape na ekranie], a następnie ESC, a następnie w górę i w dół? Ugh, to za dużo pracy ...
Chris
@chris: Jeśli używasz szpachli, powinieneś już mieć ręce na klawiaturze. Jeśli masz laptopa, spróbuj sprawdzić, czy możesz ponownie przypisać klucze, których nie używasz tak często, do PgUp / PgDn.
Andrew Scagnelli
wiele razy patrzysz na długi wynik polecenia w szpachli i wygodniej jest przewijać w przód iw tył za pomocą koła niż klawiatury.
Elazar Leibovich
2

To dlatego, że działa ekran. Screen dokonuje dynamicznej aktualizacji całego obszaru tekstowego, zamiast wypychać nowe linie na dole ekranu, co z kolei przesuwa górną linię do obszaru przewijania do tyłu. Gdy pojawia się nowa linia, przerysowuje cały ekran, co zapobiega przewijaniu większej ilości danych. Ten sam problem występuje w „mniej”, gdy nie używa się ekranu.

sysadmin1138
źródło
Nie mogę powiedzieć, że kiedykolwiek zauważyłem mniej, ale to prawdopodobnie dlatego, że zawsze jestem na ekranie od samego początku. Dzięki za szczegóły jak i dlaczego!
Chris
1

Ekran z przewijaniem Putty działa automatycznie w Solarisie 10. Wygląda na to, że domyślnie robi to, co powiedział KnipSter, mimo że nie mam pliku .screenrc. Problem z tym podejściem polega na tym, że jeśli odłączysz i ponownie załączysz, w Putty nie ma bufora przewijania i musisz skorzystać z przewijania ekranu, jak opisano w Scagnelli.


źródło
Czy ekran ma teraz Solaris 10? Czy jest to wersja masowana słońcem, czy to wszystko, co otrzymujesz od GNU? To naprawdę interesujące, że działa w ten sposób w tym konkretnym przypadku. Dzięki za informację!
Chris