zshタブ補完をキャンセル


10

完了した完了をキャンセルする方法はありますか?時々愚かにタブを押してターゲットをオートコンプリートし(純粋な怠惰からのみ)、自分で「インストール」または「チェックアウト」の全体を入力した場合よりも長い時間待つ必要があります。

zshzleのmanページに注目すべき点は何もありませんでしたが、何かを見落としましたか?他のシェルにこの機能はありますか?

編集:ささいな答え。したがって、代わりに:zshがタブの完了に実行に比較的長い時間がかかると推定し、代わりにユーザーがこれを実行するかどうかを尋ねる方法はありますか?


2
ctrl-c動作しませんか?
llua

1
くそー、それはします!どういうわけか私には起こりませんでした。Ctrl-Cでもっと劇的なことができると思いました。質問を削除しますか?(または、担当者が必要かもしれませんか?)
Zorawar

1
タブの完成にかかる時間を見積もる方法はないと思います。結果をキャッシュすることはできますが、それだけです。
Ulrich Dangel

1
@ゾラワル、私はハイスコアを取得するのではなく、ただ助けようとしています:]
llua

1
ctrl-cは、すべてのzshの完了メカニズムに対して機能するわけではありません。誰かがこれを止める他の方法を知っているなら。ここにその答えがあればすばらしいでしょう。
xer0x 2013

回答:


7

A SIGINTは、現在完了の動作を中断し、バックラインエディタにあなたをもたらします。Ctrl+を押しCます。効果はすぐには反映されない可能性があります。インタープリターは実行中の特定のポイントでシグナルをチェックするだけです(ただし頻繁に発生します)。zshプロセスがシステムコールでブロックされている場合(たとえば、ファイルシステムが応答するのを待っています)。

残念ながら、間違った時間にCtrl+ を押しC、信号が配信されるまでに進行中の完了がない場合、現在のコマンドラインはキャンセルされます。2つの異なる割り込みキー(1つは完了用、残りは残り)がないと、これを修正するのは難しく、zshがこれをサポートしているかどうかはわかりません。

完了に長い時間がかかる可能性がある場合は、警告することは現実的ではありません。完了関数の速度は、多くの場合、ファイルシステムから情報を読み取ることができる速度によって主に決まります。この情報がキャッシュにあるかどうか、どのくらいあるか、どのようなファイルシステムであるか(RAMディスク、ハードディスク、NFSマウントなど)は、大きな影響を与えます。


1
おそらく、タブ補完の設定可能なタイムアウトは、正気なデフォルトでしょう。
antiduh 2013年

3

ctrl+ kを使用して自動補完をキャンセルできます。ただし、zshガイドから情報を見つけることはできませんが、自動補完はキャンセルされます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.