タブのオートコンプリートは、オプションの「内部」コマンドでは機能しません。
たとえば、コマンドmousepad
のヘルプファイルを考えてみます。
lucho@lucho-XPS15:~$ mousepad --help
Usage:
mousepad [OPTION…] [FILES...]
Help Options:
-h, --help Show help options
--help-all Show all help options
--help-gtk Show GTK+ Options
Application Options:
--disable-server Do not register with the D-BUS session message bus
-q, --quit Quit a running Mousepad instance
-v, --version Print version information and exit
--display=DISPLAY X display to use
「mousepad --disable
」と入力してオートコンプリートを押しても何も起こりません。
これはなぜですか?この「拡張」タブのオートコンプリートを有効にする方法はありますか?
これはなぜですか?
通常、bash補完関数は引数を補完に含めません。
この「拡張」タブのオートコンプリートを有効にする方法はありますか?
これから &L投稿 :
一部のコマンドでは、bashは引数
--help
を使用してコマンドを呼び出し、出力を解析します。このようなコマンドは、完全な組み込みで登録できます。complete -F _longopt ls
。_longopt
は、実際には完了生成関数であり、固定リストを使用するのではなく、コマンドの出力を解析します。 (コマンドの出力を解析して可能な補完を生成する、より専門的な補完関数が他にもあります。例については/etc/bash_completion.d/*
を参照してください。)
そう:
$ complete -F _longopt mousepad
$ mousepad --
--disable-server --display= --help --help-all --help-gtk --quit --version