バッシュタブ補完停止検索


8

bashに入力しているときに「tab」キーを押してオートコンプリートすると、かなり時間がかかることがあります。たとえば、ディレクトリを読み取るためのファイルIOは5秒以上かかるため、入力を続ける前にIOが完了するのを待っています。イライラし、Ctrl-Cを押して、入力した内容をやり直すことができます。

Ctrl-Cは残念です。すべてを再入力する必要があります。オートコンプリートリクエストの実行をやめるようにbashに指示するにはどうすればよいですか。

$ /long/path/to/some/d     # once I've typed this, I press <TAB>. I now will be
                           # stuck waiting for perhaps 10 seconds. The only thing I
                           # know to do is Ctrl-C. When I press Ctrl-C, I am forced
                           # to retype the original command string.
$

これを調べてみてください。ubuntuforums.org/showthread.php?t=1865538
Ramesh

回答:


1

私はここでこれを見つけまし

を使用しCtrl+\ます。完了を停止し、現在のコマンドを失うことなくコマンドラインに戻ります。


残念ながら、これはUbuntuでは機能しませんでした
josh

0

タブ補完なしで同様の問題が発生する可能性があります。これは技術的な違いをもたらしません。つまり、同じソリューションが適用されます。

1つの可能性は、バックグラウンドで検索を開始し、結果をFIFOに書き込むことです。その後、タイムアウトでFIFOから読み取ることができます(read -t 0.3 ...)。

最近、FIFOよりも簡単な解決策を見たと思いますが、現在は覚えていません。read -tはパイプラインでも機能しますが、の終了によってreadパイプラインの以前の部分が終了することはなく、パイプラインはすべての部分が終了した後でのみ戻ります。


これは質問とどのように関連していますか?
lensovet

@lensovet要求された方法で問題を解決する方法がない(つまり、検索を中止する)場合は、問題を(少なくとも部分的に)回避するためのヒントが私にとって非常に役立つようです。
Hauke Laging 2017年

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