Wyczyść terminal za pomocą skrótu klawiaturowego

58

Byłem ciekawy, czy istnieje sposób na wyczyszczenie bufora / wyjścia terminala za pomocą skrótu klawiaturowego. Używam Ubuntu. jestem świadomy że

Ctrl + L

usuwa terminal, ale nadal możesz przewinąć do tyłu, aby zobaczyć stary tekst. Szukam czegoś podobnego do czego

reset 

polecenie robi. Na Macu

apple + k

wydaje się załatwić sprawę.

Waseem
źródło
Możesz wpisać „wyczyść”.
Darren

Odpowiedzi:

43

W terminalu gnome możesz edytować skróty klawiszowe. Edit -> Reset Shortcuts... Następnie możesz zmapować polecenie „Resetuj i wyczyść”, co wydaje się robić to, czego szukasz.

Alternatywnie możesz ograniczyć historię przewijania do małej liczby (powiedzmy 0), a Ctrl + L będzie bliżej tego, czego szukasz.

joeslice
źródło
2
Mogło się to zmienić w nowszych wersjach gnome i terminalu gnome. Dla mnie to Edit -> Preferences -> Shortcuts(używam GNOME Terminal v3.16.2)
Chris Sprague,
2
„Resetuj i wyczyść” było tym, czego szukałem, z tym wyjątkiem, że nie udało się zachować monitu. Natychmiastowe użycie Ctrl + L przywraca monit. Więc z Reset i Wyczyść związanymi z Ctrl + K, mogę nacisnąć Ctrl + K, Ctrl + L, aby wyczyścić przewijanie i zostawić gotowy monit.
Trevor Dixon,
29
  • CTRL+ uczyści od kursora do początku linii

  • CTRL+ kczyści od kursora do końca linii

  • CTRL+ dusuwa jeden znak z prawej strony kursora

  • Esc+ Backspaceusuwa jedno słowo po lewej stronie kursora

  • Esc+ dusuwa jedno słowo po prawej stronie kursora

  • Alt+ left/rightprzeskakuje na początek poprzedniego / następnego słowa

Aby wyczyścić cały ekran, dodaj do swojego ~/.bashrcpliku następujący alias :

alias cls="echo -ne '\033c'"

Teraz w nowym terminalu pisanie clsspowoduje wyczyszczenie wszystkiego, łącznie z buforem przewijania. Działa znacznie szybciej niż resetponieważ niczego nie resetuje.

W rzeczywistości resetjest potrzebny tylko wtedy, gdy chcesz naprawić uszkodzony terminal, np. Po uruchomieniu catna pliku binarnym.

Jeśli korzystasz z OSX, Command ( ) + kwyczyści terminal ( i konsolę devtools chrome 😉) .

ccpizza
źródło
A jak dodać skrót, aby to zrobić bez wpisywania cls?
FloatingRock
2
@ FloatingRock: będzie to zależeć od środowiska pulpitu i ewentualnie terminala, jeśli terminal nie ma sposobu na dołączenie polecenia do skrótu, jedyną szansą jest ustawienie globalnego skrótu systemowego, który jest zależny od DE. Na przykład w XFCE, które byłyby Ustawienia> Klawiatura> Skróty, nie pamiętam dla innych powłok.
ccpizza
Szukałem czegoś takiego od miesięcy ...
aggregate1166877
3

Ctrl + L przerysowuje terminal; to nie usuwa. Jeśli korzystasz z aplikacji pełnoekranowej, takiej jak less lub vim, polecenie Ctrl-L służy do przerysowywania uszkodzonego ekranu. Na przykład w vimie z podświetlaniem składni kolorów możesz użyć ctrl_l, aby zaktualizować kolory, jeśli przewiniesz dużą odległość, a vim zostanie pomieszany przez dopasowanie cudzysłowów, nawiasów lub podobnego.

Tylko w celach informacyjnych, jeśli ktoś szuka i znajdzie to ... Jeśli chcesz wyczyścić bufor przewijania, ustaw bufor na 0 linii lub zamknij okno i otwórz je ponownie. Lub „while true; do print; done”, a następnie przerwij kombinację klawiszy ctrl + c, gdy wypiszesz wystarczającą liczbę wierszy, aby zniszczyć bufor. Bufor przewijania jest zależny od aplikacji, więc chociaż dane rozwiązanie działa dla terminala Gnome, tak naprawdę nie będzie działać na żadnym innym urządzeniu końcowym.

dannysauer
źródło
To „wydmuchanie bufora” nie będzie działać w trybie nieograniczonego przewijania.
Ruslan
@ Ruslan Chcę jedną z tych nieskończonych maszyn pamięci. ;)
dannysauer,
1

Używam Konsoli. W przeszłości zawsze używałem Ctrl+ Shift+ Xdo usuwania wszystkiego, w tym przewijania. Jest teraz nowy i lepszy sposób: Ctrl+ Shift+ Ki Googling „Skróty klawiaturowe konsoli w konsoli Wyczyść historię” nie prowadzą cię tam bardzo łatwo, ale prowadzą cię tutaj.

Bruce
źródło
0

Cmd+ Ctrl+ Lwykonuje clearpolecenie w systemie Mac.

Gokul
źródło