bash_completionを色付け


9

入力grepしてTAB2回押すbash_completionと、現在のディレクトリ内のファイルとディレクトリが一覧表示されます。最初の文字を入力すると、ファイル名も完成します。これは非常に素晴らしいことですが、唯一の問題は、ディレクトリに多くのファイルとサブディレクトリが含まれている場合、混乱して混乱する可能性があることです。

bash_completion何をするのと同じように、少なくともディレクトリに異なる色を付けることができれば非常に役立ちますls -lA

これは可能ですか?

編集:

これは私のサンプルbash_completion設定ファイルは次のようになります:

if [[ ${cur} == -* ]] ; then
    COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
    return 0

else
    _filedir
fi

1
これが可能かどうかはわかりませんbashが、でのデフォルトの動作ですzsh
terdon

1
明白でない場合のために、私は解決策を探していますbash
Martin Vegter

どのファイルを表示していますか?
terdon

回答:


7

現在のバージョンのBashには、このようなすぐに使える機能はありません。これは、を使用して行うことができzshます。デフォルトではあります。

補完に関連するツールの1つはと呼ばれcompgenます。コマンドを正しく色分けして表示するように調整することもできますが、これはハックであり、実用的ではありません。

$ compgen -W "$(ls --color=always *)"

これにより、カラー化されたファイルが適切にリストされますが、それはからカラーを取得しているlsので、によるこのネイティブのカラーリングは考慮しませんauto_completion

参考文献


私の編集を見てください。ls私のbash_completion設定ファイルには何もありません。_filedirファイルを一覧表示する機能があるようです。
Martin Vegter 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.