はじめに
- Bash をはじめ多くのシェルでは Tab で引数補完ができ、多くの補完候補が複数ある場合はその候補が表示される
- Zsh ではその表示される補完候補の内、マッチしている部分と残りの部分の色を指定できるらしいが、Bash にはそれ専用の設定方法がない
- ただ、ネットにも情報が少ないものの、Bash でも他の要素に対する設定を使い回せる
確認環境
Bash
bash --version
GNU bash, version 5.2.37(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
readline
dpkg -s libreadline-dev | grep Version
Version: 8.3-3
dircolors
dircolors --version
dircolors (uutils coreutils) 0.2.2
ターミナル
ターミナルは次の 3 つで確認
ptyxis --version
Ptyxis 49.1
GTK: 4.20.1 (Compiled against 4.20.1)
VTE: 0.80.3 (Compiled against 0.80.3)
Copyright 2020-2024 Christian Hergert, et al.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
wezterm --version
wezterm 20260108-132011-3715c874
tilda --version
Tilda 2.0.0
Copyright (c) 2012-2020 Sebastian Geiger (lanoxx@gmx.net)
Copyright (c) 2005-2009 Tristan Sloughter (sloutri@iit.edu)
Copyright (c) 2005-2009 Ira W. Snyder (tilda@irasnyder.com)
General Information: https://github.com/lanoxx/tilda
Bug Reports: https://github.com/lanoxx/tilda/issues?state=open
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details.
設定方法
注意点
- 先に書いたとおり、補完候補の色専用の指定はなく、使い回しになるので、他の要素の色も変わる
- ターミナルのカラー・パレット (ANSI カラー・コード) を指定するので、実際の色は使用ターミナルの設定により変わる
設定手順
~/.inputrc の編集
~/.inputrc に次を追加
set colored-completion-prefix on
set colored-stats on
カラー・コードの指定
LS_COLORS で直接設定しても良いが、dircolors を使ったほうが設定しやすい
dircolors の設定
- まだ dircolors を使っていない場合
- dircolors -p > ~/.config/dircolorsでデフォルト設定をファイル出力
- ~/.bashrc で次のように追記し、設定するファイルを読み込むように変更する
if [ -x /usr/bin/dircolors ]; then if [ -r "$HOME/.config/dircolors" ]; then eval "$(dircolors -b "$HOME/.config/dircolors")" else eval "$(dircolors -b)" fi fi
- ~/.config/dircolors 等 dircolors の読み込みファイルの編集
-
- SOCK
- 補完候補中の補完にマッチした範囲
- MISSING
- 補完候補中の補完にマッチしていない残りの範囲
- 上記キーワードが無ければ単純に追記すれば良い
- 本来はそれぞれソケットとリンク切れのシンボリック・リンクのリンク先
- 設定例は次の通り
SOCK 01;30;103 MISSING 01;30;43
- パスの補完の場合のマッチしていない残りの部分は、MISSING ではなく他のファイル・タイプによる設定が使われる
; で区切られた数字が ANSI カラー・コードで使用頻度の高い数値は下記の表のとおりだが
- 指定は一つだけでも良い
- 複数指定は順不同
- 補完中の点滅は見にくくなるので使わないほうが良い
- 「明るい系統」の色は、上記の画像のように実際のターミナル・パレットのテーマでは暗色や別色が設定されている場合も多い
色指定 色 標準 明るい系統 文字色 背景色 文字色 背景色 黒 30 40 90 100 赤 31 41 91 101 緑 32 42 92 102 黃 33 43 93 103 青 34 44 94 104 マゼンタ 35 45 95 105 シアン 36 46 96 106 白 37 47 97 107 修飾部分 数字 意味 00 標準 01 太字 04 下線 05 点滅 07 反転
-