Czy istnieje sposób na anulowanie ukończenia po jego rozpoczęciu? Czasami głupio naciskam klawisz Tab, aby autouzupełnianie robić cele (tylko z czystej lenistwa), a potem muszę czekać dłużej, niż gdybym sam napisał całe „zainstaluj” lub „sprawdź”.
Nie widziałem nic wartego uwagi na stronie podręcznika Zshzle, ale może coś przeoczyłem? Czy jakieś inne pociski mają taką możliwość?
EDYCJA : Trywialna odpowiedź. Więc zamiast tego: czy istnieje sposób, aby Zsh oszacował, że wykonanie tabulacji zajęłoby stosunkowo dużo czasu i zamiast tego zapytałby, czy użytkownik chciałby to zrobić?
zsh
autocomplete
Zorawar
źródło
źródło
ctrl-c
nie działa?Odpowiedzi:
SIGINT przerywa bieżącą operację zakończenia i powrót do edytora linii. Więc naciśnij Ctrl+ C. Efekt może nie być natychmiastowy: interpreter sprawdza sygnały tylko w pewnych punktach podczas wykonywania (choć są one częste), a sygnał może chwilę potrwać, jeśli proces Zsh zostanie zablokowany w wywołaniu systemowym (na przykład, jeśli jest to oczekiwanie na odpowiedź systemu plików).
Niestety, jeśli naciśniesz Ctrl+ Cw niewłaściwym czasie i do czasu dostarczenia sygnału nie zostanie zakończone, bieżąca linia poleceń zostanie anulowana. Trudno to naprawić bez posiadania dwóch różnych kluczy przerwań, jednego dla zakończenia i jednego dla reszty, i nie jestem pewien, czy zsh to obsługuje.
Naprawdę nie jest możliwe ostrzeżenie, jeśli ukończenie może zająć dużo czasu. Szybkość funkcji uzupełniania jest często zależna głównie od szybkości, z jaką niektóre informacje można odczytać z systemu plików; to, czy informacje te znajdują się w pamięci podręcznej, czy nie, ile to jest i jaki to system plików (np. ramdysk, dysk twardy lub podłączenie NFS) ma duży wpływ.
źródło
Możesz użyć ctrl+, kaby anulować automatyczne uzupełnianie. nie mogę jednak znaleźć żadnych informacji z przewodnika Zsh , ale anuluje to automatyczne uzupełnianie.
źródło