Linuxで「java」コマンドのタブを完了する

Linuxで「java」コマンドのタブを完了する

端末では、Linuxオペレーティングシステムでvimを使用してJavaプログラムを作成しました。 vimを使用してファイル名の先頭を入力し、を押して
プログラム名を完成させることができます。 (=>)しかし、コマンドを使用してプログラムを実行すると、ファイル名のタブが完成しません。を入力して押すことはできますが、何も起こりません。完全なファイル名を書き留めてください。それでは、コマンドでタブを使用したりファイル名を完成したりするのはうまくいきますが、コマンドを使用すると機能しないのはなぜですか?コマンドのタブ補完を有効にする方法はありますか?vimvim hetabvim helloworld.java

java
java hellowtab

vimmvcdjava
java

答え1

使用するシェルによって異なります。

すべてのコマンドにはbash完了仕様(compspec)が必要です。

以下を使用して、コマンド名の現在のcompspecを表示できます。

complete -p java
bash: complete: java: no completion specification

簡単な方法(他のファイルに入れたり、~/.bashrc別のファイルに入れることができます/etc/bash_completion.d/)は次のとおりです。

complete -o default java

または、次のようなものを使用して、可能な結果の範囲を絞り込むことができます。

complete -G "*.jar" java

答え2

コマンドに補完機能を追加するのは良い考えですが、Esc /基本的な状況に合った補完機能を使用する代わりに、bashにファイル名の完成を強制することができます。tab

関連情報