Отмена завершения zsh tab


10

Есть ли способ отменить завершение после его запуска? Иногда я глупо нажимаю клавишу Tab, чтобы автоматически завершать создание целей (только из-за явной лености), а затем мне приходится ждать дольше, чем если бы я только что набрал «установить» или «проверить» сам.

На странице справки zshzle я ничего не заметил, но может я что-то пропустил? Есть ли у других оболочек такая возможность?

РЕДАКТИРОВАТЬ : Тривиальный ответ. Итак, вместо этого: есть ли способ для zsh оценить, что выполнение табуляции займет относительно много времени, и вместо этого спросить, хотел бы пользователь сделать это?


2
ctrl-cне работает?
Луа

1
Черт возьми, это так! Это не произошло со мной по какой-то причине. Я думаю, я думал, что Ctrl-C сделал бы что-то более драматичное. Удалить вопрос? (Или, может быть, вам нужен представитель?)
Zorawar

1
Я не думаю, что есть способ оценить время, необходимое для завершения вкладки. Вы можете кэшировать результаты, но это, вероятно, так.
Ульрих Дангел

1
@zorawar, я просто пытаюсь помочь, а не получить высокий балл:]
llua

1
Ctrl-c не работает для всех механизмов завершения zsh. Если кто-нибудь знает другие способы остановить это. Было бы здорово иметь этот ответ здесь.
xer0x

Ответы:


7

SIGINT прерывает текущую операцию завершения и возвращает вас к редактору линии. Так что нажмите Ctrl+ C. Эффект может быть не немедленным: интерпретатор проверяет только сигналы в определенных точках во время выполнения (хотя они часты), и сигнал может занять некоторое время, если процесс zsh заблокирован в системном вызове (например, если он ожидание ответа файловой системы).

К сожалению, если вы нажмете Ctrl+ Cв неподходящее время и к моменту доставки сигнала не завершится, ваша текущая командная строка будет отменена. Это трудно исправить, не имея двух разных ключей прерывания, одного для завершения и одного для остальных, и я не уверен, поддерживает ли zsh это.

Не реально предупредить вас, если завершение может занять много времени. Скорость функции завершения часто в основном определяется скоростью, с которой некоторая информация может быть прочитана из файловой системы; Влияет ли эта информация в кэш или нет, сколько она существует и какая она файловая система (например, ramdisk, жесткий диск или монтирование NFS), имеет большое влияние.


1
Возможно, настраиваемый тайм-аут для завершения вкладки будет нормальным по умолчанию.
антидух

3

Вы можете использовать ctrl+, kчтобы отменить автозаполнение. Однако я не могу найти информацию из руководства Zsh либо, но он отменяет автозаполнение.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.