いくつかのgit
コマンドには多くのオプションがあり、必要なオプションを検索するのが便利なことがよくあります。しかし、TABメディアの幅を制御するオプションを探しているだけですgit-gui
。完成品は約200個ですgit config
。確実な解決策は、すべての完成した項目をエディタにコピーして検索することです。
[something] | grep tab
man
または のinfo
ページcompgen
もなく、help compgen
説明するオプションもなく、オートコンプリート機能もありませんcompgen
(ねじれは?)。
添付:compgen -A
動作しません。
git-gui
調達庁:これは-に関する質問ではありません。タブ幅の問題に対する解決策他の場所。
購買力の評価: これであるいいえオートコンプリートコマンドのみコマンドパラメータ。
ベストアンサー1
sudo
オートコンプリートと同じ方法で完成リストを生成する次の関数を使用できます。
comp() {
local COMP_LINE="$*"
local COMP_WORDS=("$@")
local COMP_CWORD=${#COMP_WORDS[@]}
((COMP_CWORD--))
local COMP_POINT=${#COMP_LINE}
local COMP_WORDBREAKS='"'"'><=;|&(:"
# Don't really thing any real autocompletion script will rely on
# the following 2 vars, but on principle they could ~~~ LOL.
local COMP_TYPE=9
local COMP_KEY=9
_command_offset 0
echo ${COMPREPLY[@]}
}
comp git config ''
これは_command_offset
bash-completion(パッケージ)で定義されています。
注:この関数は対話型シェルで実行する必要があります(つまり、ファイル内にある場合は実行するのではなくファイルをインポートする必要があります)。それ以外の場合、必要な完了ルール/関数は定義されません。
PS。compgen -A
組み込みタスクでのみ機能し、試す必要があります(ただし動作しない)ことはcompgen -F
(または実際にはcompgen -o bashdefault -o default -o nospace -F _git
)です。これがうまくいかない理由(そしてcompgen / completeを含むbash組み込みコマンドのドキュメント)は、以下にあります。大きな打撃(1)。