Anuluj zakończenie zakładki zsh

10

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ć?

Zorawar
źródło
2
ctrl-cnie działa?
llua
1
Cholera, to robi! Z jakiegoś powodu nie przyszło mi to do głowy. Chyba myślałem, że Ctrl-C zrobiłby coś bardziej dramatycznego. Usunąć pytanie? (A może chcesz przedstawiciela?)
Zorawar
1
Nie sądzę, że istnieje sposób na oszacowanie czasu potrzebnego na uzupełnienie karty. Możesz buforować wyniki, ale to chyba wszystko.
Ulrich Dangel
1
@zorawar, po prostu próbuję pomóc, ale nie uzyskać wysokiego wyniku:]
llua
1
ctrl-c nie działa dla wszystkich mechanizmów uzupełniania zsh. Jeśli ktoś zna inne sposoby na powstrzymanie tego. Byłoby wspaniale mieć tę odpowiedź tutaj.
xer0x 30.09.13

Odpowiedzi:

7

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.

Gilles „SO- przestań być zły”
źródło
1
Być może konfigurowalny limit czasu dla uzupełniania tabulatorów byłby rozsądnym ustawieniem domyślnym.
antiduh
3

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.

j_tt2011
źródło