Bash完了結果の色を変更する方法

Bash完了結果の色を変更する方法

Bashでオートコンプリートサブコマンドを実行するときに完成色を変更する方法は?ここに画像の説明を入力してください

不明な理由から、bashは完了結果を壊れたシンボリックリンクとして扱うようです。本当に不安そうです。

システムメッセージ:

  • Bash バージョン: 4.4.23(1) - リリース
  • オペレーティングシステム: Manjaro Linux

編集:私が知っている限り、colored-statsGNU Readlineオプションで色を設定すると~/.inputrc完全に消えます。

set colored-stats off

ただし、これにより、ディレクトリの色付けなどのオートコンプリート時に他の色付けも無効になります。

家のManjaro Linuxボックスでは、壊れたシンボリックリンクの同様の色が発生しますが、私が作業しているArch Linuxボックスでは発生しないので、これは奇妙だと思いました。両方に同じbashrc合計が適用されますinputrc。しかし、まだ確認していない他の潜在的な違いがあります。


再編集:~/.inputrc参照用に自分のコンテンツを貼り付けます。

$include /etc/inputrc
$if mode=emacs
# cycle through possible completions
TAB: menu-complete
# complete until the end of common prefix before cycling through possible completions
set menu-complete-display-prefix on
# show possible completions if more than one completions are possible
set show-all-if-ambiguous on
set show-all-if-unmodified on
# do not duplicate characters after the cursor if they consist partially of possbile completion
set skip-completed-text on
# display colors when doing completion as `ls` does
set colored-stats on
# color tab-completion matched prefix part
set colored-completion-prefix on
# fuck off stty key bindings. (stty -a)
set bind-tty-special-chars off
"\C-w": unix-word-rubout
"\eh": kill-region
"\eH": copy-region-as-kill
"\C-x\'": "\'\'\C-b"
"\C-x`": "``\C-b"
"\C-x\"": "\"\"\C-b"
"\C-x{": "{}\C-b"
"\C-x[": "[]\C-b"
"\C-x(": "()\C-b"
"\C-x0": vi-eWord
"\eF": "\C-x0\C-f"
"\eB": vi-bWord
"\eD": "\e \eF\eh"
$endif 

答え1

前述のように、GNU Readlineの完成色はcolored-statsinで有効になります.inputrc

色はによって決定され、を$LS_COLORS使用して作成できますdircolors

完成提案は、MISSINGその項目のソース属性から~/.dircolors。アノテーション(または05;点滅を無効にするために削除するなど、邪魔にならないものに変更)すると、提案はデフォルトの色で印刷されます。の対応する項目$LS_COLORSは次のとおりです(ANSIの色との例...:mi=03;31:...)。0331

同様の議論:
https://bugzilla.redhat.com/show_bug.cgi?id=1648170

引用:
https://wiki.archlinux.org/index.php/Readline#Colorized_completion
https://wiki.archlinux.org/index.php/Color_output_in_console#ls
dircolors:カラー設定を完全に変更します。
https://askubuntu.com/questions/466198/how-do-i-change-the-color-for-directories-with-ls-in-the-console

関連情報