Jak łatwo skopiować bufor przewijania ekranu GNU do pliku? Tzn. Mocniejsza wersja polecenia „wydruk”?
Na ekranie GNU mogę użyć „ Ctrl+ A Esc”, aby przejść do bufora przewijania. Mógłbym wtedy zaznaczyć cały bufor i użyć „ Ctrl+ A Ctrl+ ]”, aby wkleić go do bufora Emacsa , a tym samym zapisać go do pliku.
Jest to jednak żmudne. Czy istnieje polecenie Screen, które po prostu skopiuje bufor przewijania do pliku, podobnie jak „wydruk” dla widocznej części ekranu?
źródło
screen -r
aby ponownie połączyć się z istniejącą sesją, kopia nie zostanie zapisana w aktywnym katalogu wewnątrz ekranu lub w tej, w której byłeś przed użyciemscreen -r
. Myślę, że zostanie zapisany w katalogu, w którym byłeś, kiedy pierwszy raz zacząłeś sesję ekranową. Możesz to zmienić za pomocą polecenia hardcopydir .Naciśnij Ctrl+ A : bufferfile /tmp/somefile.txt ENTER , a następnie Ctrl+A >
Spowoduje to zapisanie bieżącej zawartości bufora do nazwanego pliku.
źródło
TL; DR:
^A:writebuf <filename>
Wydaje się, że OP chce sposobu na użycie wybranej części bufora, który otrzymujesz, wykonując ^ A [, zaznaczając tekst za pomocą spacji jako początku i końca, a następnie zamiast wkleić ^ A], zapisz wynikową wybraną część bufora do pliku.
To działało:
^A:writebuf <filename>
Uwaga: jeden „f” w writebuf
źródło
Spróbuj
hardcopy -h
uwzględnić cały bufor.źródło
hardcopy -h
piszehardcopy.N
, gdzieN
jest bieżący numer okna.To działało dla mnie:
Wejdź do trybu edycji (
~
) i wpisz:Stworzył ogromny plik, z którego 98% było puste, ale moje logi były w pełni obecne w pozostałych 2%.
źródło
Ctrl+ A,: i wydaj polecenie „zaloguj się”.
Lub ustaw go jako domyślny w pliku .screenrc jako „defloguj”.
źródło
Do Ctrl+ A, H.
Które zapisuje bieżący ekran w pliku kopii dysku, np hardcopy.0 na ekranie 0. To wydaje się być szybszy sposób niż dzieje Ctrl+ A, :a wpisując drukowanej polecenie.
źródło