3
スペースを追加したBashのオートコンプリート-なぜ、どのように修正しますか?
文字を入力するよりもタブ補完を使用します。以前は入力rm ~/De<TAB>していたrm ~/Desktop/ので、次のレベルに進むことができるように完了していました。 最近、その動作が変更されました。完了後rm ~/Desktop<SPACE>、が得られます。つまり、続行するには、バックスペースを押してスラッシュを入力する必要があります。これは私を泣かせます。 変更はの関数_longopt()にあるように見えますが/etc/bash_completion、それは私の知る限りです。この変更は意図的なものであり、もしそうであれば、何の役に立つのでしょうか?古いコードを他のシステムからコピーするのではなく、設定オプションを使用して、古い動作に戻すことはできますか? 編集:参照用の関数。 _longopt() { local cur prev split=false _get_comp_words_by_ref -n = cur prev _split_longopt && split=true case "$prev" in --*[Dd][Ii][Rr]*) _filedir -d return 0 ;; --*[Ff][Ii][Ll][Ee]*|--*[Pp][Aa][Tt][Hh]*) _filedir return 0 ;; esac $split && return 0 if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen …
29
bash