Skrót klawiaturowy do zapisywania wpisanych poleceń i czyszczenia linii


12

Znasz sytuację: Jesteś w połowie pisania długiej komendy (na przykład komunikat zatwierdzenia) i zdajesz sobie sprawę, że zapomniałeś wykonać pewne wstępne polecenie, którego nie można dodać &&. Zwykle, gdy mi się to przydarza, wybieram to, co wpisałem za pomocą myszy, kopiuję do schowka, wciskam Ctrl-U, aby wyczyścić linię, uruchamiam polecenie wstępne i wklejam ze schowka. Ale może istnieje lepszy sposób, najlepiej bez konieczności używania myszy? Szukam rozwiązań dla bash i / lub zsh.

Odpowiedzi:


20

Po użyciu CTRL-U możesz użyć CTRL-Y, aby wkleić z powrotem to, co skasowałeś. Działa po skasowaniu słowa lub kilku słów za pomocą CTRL-W.

Zauważ, że w ten sposób tak naprawdę nie musisz kopiować niczego do schowka lub wybierać go myszką - CTRL-U faktycznie szarpie linię do osobnego schowka, że ​​tak powiem.


5

Dodaj „#” na początku bieżącej linii. Naciśnij Enter, aby dodać komentarz do swojej historii. Wykonaj polecenie wymagania wstępnego. Przejdź do poprzedniego polecenia i usuń #.


5

To było ostatnio zadawane i omawiane na stronie Unix i Linux SE. Moja odpowiedź wyjaśniła, że jeśli używasz zsh jako powłoki, możesz użyć funkcji wypychania, aby ukryć trwające polecenie, uruchomić coś innego, a następnie wróci twoje pierwsze polecenie i możesz je zakończyć. W .zshrc:

bindkey '^L' push-line

Następnie użyj Ctrl+, Laby zawiesić bieżące polecenie i powrócić do niego po uruchomieniu czegoś innego.

Podano kilka innych odpowiedzi, w tym ustawienia, jak zrobić coś podobnego w bash i niektóre spersonalizowane wersje tego wbudowanego w Zsh.


0

Możesz zrobić, Shift-Alt-3aby skomentować bieżącą linię i przejść do następnej. Następnie po naciśnięciu up, Ctrl-e, Deli tadam!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.