web-dev-qa-db-ja.com

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

オートコンプリートをよく使います。私は通常、次の方法でbashを使用していることがわかりました:./ pyenv/versions/3.5.3/lib/python3.5/weakref.pyにアクセスするには

  • 押す 。/
  • パイを押す、押す tab (ターミナルはpyenvにオートコンプリートします)
  • /を押し、vを押し、を押します tab (端末はバージョンに自動完了します)
  • ヒット 3。ヒット tab。 pyenvのバージョンがたくさんあるため、ターミナルは3.まで完了します。 5を押してから tab 再び。

目的地に着くまで、以下同様です。

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

したがって、毎回、入力内容をオートコンプリートする直接的な選択肢が存在する場合、それを自動的にコンプリートすることに失敗することはありません。

だから問題は:プレスをシミュレートする方法はありますか tab ターミナルにキーを入力するたびに?

2
a3y3

デフォルトでbashを使用するかどうかはわかりませんが、私はzshを使用しており、このzshプラグインを使用してオートコンプリート機能を使用しています: https://github.com/zsh-users/zsh-autosuggestions ==

また、コマンド履歴を使用して自動補完することで機能します。

1
juanesarango

何が欲しいかは明らかですが、いくつかの問題があります。

まず、完了をトリガーするBashメカニズムはタブによってトリガーされます。文字が押されるたびにタブに入ることができるマッピングがあるかもしれません。しかし、これは他のすべての場所でそうします。 「ハッキング」できるスクリプトについても同様です。 2番目の問題はCPU使用率です。たくさんのコマンドを入力すると、補完がトリガーされます。完了する内容によっては、すぐにハングする場合があります。

この欲求は絶対に悪い習慣です。あなたの記憶からそれを消去します。機能をより有効に活用できるように、より適切な階層を確立します。

PS私は故障を言及するのを忘れていました。 Xkコマンド、エイリアス、関数、パラメーターなど、他のすべてのものを想像してみてください。シェルがファイル名を推測しようとするたびに。動作しなくなります。あなたは自分の考えを考え抜かなかった。

0
WGRM