Jak wyczyścić / usunąć bieżącą linię w terminalu?
Jeśli używam terminala i wpisuję wiersz tekstu dla polecenia, czy istnieje skrót klawiszowy lub jakikolwiek sposób na wyczyszczenie / usunięcie tego wiersza?
Na przykład, jeśli moja bieżąca linia / polecenie jest czymś naprawdę długim jak:
> git log --graph --all --blah..uh oh i want to cancel and clear this line <cursor is here now>
Czy istnieje hotkey lub polecenie, aby przejść z powyższego do:
>
?
Zazwyczaj naciskam ↓ klucz, a jeśli moja obecna linia jest zupełnie nowa w historii, to ją wyczyści. Ale jeśli przeglądam historię moich poleceń poprzez ↑ Klawisz i zacznij edytować lub używać tych poleceń, ↓ zmieni tylko monit na następną najnowszą komendę w historii, więc nie działa tutaj, chyba że nacisnę ↓ wiele razy.
12 answers
Możesz użyć Ctrl+U , aby oczyścić się do początku.
Możesz użyć Ctrl+w aby usunąć tylko słowo.
Możesz również użyć Ctrl+C aby anulować.
Jeśli chcesz zachować historię, możesz użyć Alt+Shift+# żeby to skomentować.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-04 09:41:54
Aby podsumować wszystkie odpowiedzi
- Wyczyść linię: możesz użyć Ctrl+U , aby oczyścić się do początku.
- Wyczyść linię: Ctrl+A Ctrl+K aby wyczyścić bieżącą linię w terminalu
- Anuluj bieżącą linię poleceń: Ctrl+C .
- Przypomnij usunięte polecenie: Ctrl+Y (then Alt+Y )
- Idź na początku linii: Ctrl+A
- Idź na końcu linii: Ctrl+E
- Usuń słowa do przodu na przykład, jeśli jesteś w środku polecenia: Ctrl+K
- Usuń znaki z lewej strony, aż do początku słowa: Ctrl+W
- aby wyczyścić cały wiersz polecenia: Ctrl + L
- przełączanie między początkiem linii a bieżącą pozycją kursora: Ctrl + XX
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-14 12:19:45
Mam pełną listę skrótów:
- Ctrl+A Przesunięcie kursora na początek linii
- Ctrl+e Przesunięcie kursora na koniec linii
- Ctrl+b Przesuń o jeden znak
- Alt+b cofnij się o jedno słowo
- Ctrl+f Przesuń o jeden znak
- Alt+f Przesuń do przodu o jedno słowo
- Ctrl+D Usuń bieżący znak
- Ctrl+W Wytnij ostatnie słowo
- Ctrl+K Wytnij wszystko za kursorem
- Alt+D Wytnij słowo za kursorem
- Alt+W Wytnij słowo przed kursorem
- Ctrl+y Wklej Ostatnie usunięte polecenie
- Ctrl+_ Undo
- Ctrl+U Wytnij wszystko przed kursor
- Ctrl+xx przełączanie między pierwszą i bieżącą pozycją
- Ctrl+L Wyczyść terminal
- Ctrl+C Anuluj polecenie
- Ctrl+r polecenie wyszukiwania w historii-wpisz szukany termin
- Ctrl+j Zakończ wyszukiwanie przy wpisie bieżącej historii
- Ctrl+G Anuluj wyszukiwanie i przywróć oryginał linia
- Ctrl+N następne polecenie z historii
- Ctrl+P poprzednie polecenie z historii
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-01 17:23:21
Ctrl+A, Ctrl+K aby wyczyścić bieżącą linię w terminalu. Następnie możesz go przywołać za pomocą Ctrl+Y jeśli potrzebujesz.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-02 21:28:20
Lub jeśli używasz trybu vi, naciśnij Esc, a następnie cc
Aby odzyskać to co właśnie skasowałeś, Esc a potem p :)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-13 16:45:07
Alternatywa dla Ctrl+A, Ctrl+K jest Ctrl+E, Ctrl+U .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-02 21:30:37
Nie wiem czy ci się podoba ale używam Ctrl+A (aby przejść do początku linii) i Ctrl+K (aby usunąć linię) znałem te polecenia z Emacsa i przypadkowo je rozgryzłem.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-02 21:25:11
- Ctrl+u: przesuń do początku linii do bufora pierścienia
- Ctrl+k: przesuń do końca linii do bufora pierścienia
-
Ctrl+w: przesuń znaki i (wiele) słowa w lewo od kursora do bufora pierścienia
Ctrl+y : Wstaw ostatni wpis z bufora pierścienia, a następnie możesz użyć Alt+y aby obracać się poprzez swoje bufor pierścieniowy. Naciśnij wiele razy, aby przejść do "poprzedniego" wpisu w buforze pierścienia.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-26 07:08:57
CTRL+R {[2] } i zacznij wpisywać, aby wyszukać poprzednie polecenia w historii. Pokaże pełne linie.
CTRL+R ponownie do cyklu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-28 15:39:23
Ctrl + w wyczyści słowo po lewej stronie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-14 17:11:27
Dodaj do listy:
W trybie Emacs naciśnij Esc , a następnie R , usunie cały wiersz.
Nie wiem dlaczego, tak się składa, że go znalazłem. Może nie jest używany do delete line, ale ma taki sam efekt. Jeśli ktoś wie, proszę mi powiedzieć, dzięki:)
Działa w Bash, ale nie działa w Fish.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-05 03:00:56
Aby usunąć całą linię bez względu na to, gdzie znajduje się kursor, możesz użyć polecenia kill-whole-line
, ale domyślnie jest ono niezwiązane. Można go powiązać na przykład z Ctrl+Alt+K przez wstawienie
"\e\C-k": kill-whole-line
Do pliku Readline init (konwencjonalnie ~/.inputrc
).
Różne uwagi:
-
Aby uniknąć przypadkowego przypisania sekwencji klawiszy, która jest już używana do czegoś innego, możesz sprawdzić wszystkie wiązania za pomocą
bind -P
. Sprawdź na sugerowane wiązanie zbind -P | grep '\\e\\C-k'
- nazwa pliku INIT Readline jest pobierana ze zmiennej powłoki
INPUTRC
. Jeśli jest wyłączony, domyślną wartością jest~/.inputrc
lub (jeśli nie istnieje)/etc/inputrc
. Zauważ, że jeśli masz~/.inputrc
,/etc/inputrc
zostanie zignorowany. - aby przeładować plik Readline init, możesz użyć Ctrl+X Ctrl+R .
- linki do odpowiednich sekcji podręcznika:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-13 15:59:52