Bashでオートコンプリートサブコマンドを実行するときに完成色を変更する方法は?
不明な理由から、bashは完了結果を壊れたシンボリックリンクとして扱うようです。本当に不安そうです。
システムメッセージ:
- Bash バージョン: 4.4.23(1) - リリース
- オペレーティングシステム: Manjaro Linux
編集:私が知っている限り、colored-stats
GNU 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-stats
inで有効になります.inputrc
。
色はによって決定され、を$LS_COLORS
使用して作成できますdircolors
。
完成提案は、MISSING
その項目のソース属性から~/.dircolors
。アノテーション(または05;
点滅を無効にするために削除するなど、邪魔にならないものに変更)すると、提案はデフォルトの色で印刷されます。の対応する項目$LS_COLORS
は次のとおりです(ANSIの色との例...:mi=03;31:...
)。03
31
同様の議論:
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