キーを押すたびにオートコンプリートを実行する方法はありますか?

キーを押すたびにオートコンプリートを実行する方法はありますか?

私はオートコンプリートをたくさん使っています。私は通常、次のようにbashを使用します。 ./pyenv/versions/3.5.3/lib/python3.5/weakref.pyにアクセスしてください。

  • によると。 /
  • pyeをクリックしてタップしますtab(ターミナルはpyenvをオートコンプリートします)。
  • /タップ、vタップ、タップtab(ターミナルオートコンプリート版)
  • 勝つ3。勝つtab3.pyenvバージョンが多いため、端末が完了しました。 5回打ってtab再び打ちました。

そして目的地に到達するまで続きます。

ただし、これは自動化できます。同じ名前の複数のバージョンがある場合、端末は何もしないので、自動的にTabキーを押すことができます。キーを押すたびに

したがって、毎回入力した内容を自動補完するための直接オプションがある場合は、自動補完に問題がないはずです。

だから質問は:tab端末にキーを入力するたびに任意のキーを押すことをシミュレートする方法はありますか?

答え1

基本的にbashの使用を好むかどうかはわかりませんが、私はzshを使用し、このzshプラグインのオートコンプリート機能を使用します。https://github.com/zsh-users/zsh-autosuggestions

オートコンプリートのためにコマンド履歴を使用して動作します。

答え2

何が欲しいのかは非常に明白ですが、いくつかの質問があります。

まず、完了をトリガーするBashのメカニズムは、タブによってトリガーされます。文字を押すたびにタブ文字を入力するマッピングがある場合があります。しかし、他の場所ではそのようなことが起こります。 「ハッキング」できるすべてのスクリプトにも同様です。 2番目の問題はCPU使用率です。コマンドをたくさん入力すると、毎回完了が実行されます。達成したい作業に応じてすばやく中断することがあります。

この願いは確かに悪い習慣です。記憶から消してみてください。機能をより活用できるように、より良い階層を構築してください。

PS:欠陥について言及するのを忘れました。 Xkコマンド、別名、関数、パラメータなど、他のすべてを想像してください。シェルは毎回ファイル名を推測しようとします。操作ができなくなります。あなたのアイデアはよく考えられませんでした。

関連情報