9
私は、データベースから可能な変形を取得し、TABでそれらを完了するために、Bash補完 - 不必要なタブ・プレスを取り除く方法は?
cur="${COMP_WORDS[COMP_CWORD]}"
opts=`sqlite3 test.db "${QUERY[COMP_CWORD]}"`
SAVEIFS="$IFS"
IFS=$'\n'
COMPREPLY=($(compgen -S"'" -P"'" -W "${opts}" $cur))
IFS="$SAVEIFS"
を使用しています。限り、これらの変異体は、スペースを含む可能性があるので、私が得る、私は、B、TABを押し、ときにAB
接頭辞を持つ唯一のバリアントがあり、接頭辞と接尾辞として'
を使用してそれらをautoquoteするとても便利です'ABC DEF'
のようなものです。
しかし、問題は、多くの変異体が存在する場合、その後後、B、TAB私はその後、私は再びTABを押すと、それが唯一の第三で、NOPである、'AB
取得TAB私は可能な補完を得る。
縮退する方法はありますかTABプレッシングを1つまたは少なくとも2つに設定しますか?
bind 'set show-all-if-ambiguous on'
man bash
から:あなたが試すことができ
完璧なソリューションです。これにより、TAB押下が1つに減少します。 – sknaumov
明白でない場合は、これを自動的に行うには、 'set show-all-if-ambiguous on'を〜/ .inputrcに追加してください。 –