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