TAB他のbash環境(他のインストール)の場合。これはどこで処理されますか?
具体的な例:
私はcmake
次のように実行します-D
- パラメータ:
cmake -DCMAKE_TOOLCHAIN_FILE=~/x-too<TAB>
何もしません。そして(=
間のスペースに注意してください。~
cmake -DCMAKE_TOOLCHAIN_FILE= ~/x-too<TAB>
完了
cmake -DCMAKE_TOOLCHAIN_FILE= ~/x-tools
他のシステムでは、=と~の間にスペースを入れずに動作します。
関連する設定ファイルと値はどこにありますか?
答え1
Linuxのオートコンプリートはcomplete
。
]➬complete -p cmake
complete -F _cmake cmake
だから_cmakeが責任を負います。
]➬type _cmake > cmake.sh
今すぐ表示/デバッグするだけです。たとえば、_cmake_mineを変更して次のように呼び出してテストできます。
. cmake.sh
complete -F _cmake_mine cmake
助けを求めるすべての組み込みバッシュコマンド:
help complete
help [[
help for
答え2
最初から始める必要があります/etc/profile
。このソースから別のファイルを表示します(.
おそらくコマンドを使用して)。
たとえば、私のUbuntuシステムでは、
/etc/profile
すべての* .shファイルソース/etc/profile.d/
/etc/profile.d/bash_completion.sh
源泉/usr/share/bash-completion/bash_completion
- 文書:
- 検索完了ローダー機能を設定します。
/usr/share/bash-completion/completions/
- とソース
~/.bash_completion
- 検索完了ローダー機能を設定します。
さまざまなシステムでこのパスに従う必要があります。たぶん、cmake
/usr/share/bash-completion/completions/にそのうちの1つのファイルがないかもしれません。