fishシェルの表示をカスタマイズする
(そのうち画像貼るかも)
fish shellを使用した時にシェルに出る
<username>@<hostname> <pwd>>
例:mijinko@myPC ~>
は実はカスタマイズできる。
メリット
シェルの見た目をより自分好みにすれば心の安寧を得られる
時刻や現在のディレクトリのサイズなどを常時表示して、より作業効率を向上させることができる
やり方
1. 以下のファイルを新規作成して開く
$HOME/.config/fish/functions/fish_prompt.fish
2. 以下のような文字列を書き込む
code:fish_prompt.fish(sh)
function fish_prompt
echo -n "customized!"
echo -n "> "
end
※echoではなくprintfでもOK
3. ファイルを保存する
4. fish shellを既に開いていたらfishコマンドで開き直す
5. シェルの文字列が変更されたら成功
参考
https://fishshell.com/docs/current/cmds/fish_prompt.html
既定の表示をベースに変更する
既定の表示は次のコードをfish_prompt.fishに書き込むことで再現できる。
※既定の表示とは以下の要素があるものを指す。
ユーザー名
ホスト名
カレントディレクトリ
カレントブランチ
code:fish_prompt_default.fish(sh)
function fish_prompt
# username@hostname
printf '%s%s%s@%s' \
(set_color $fish_color_cwd) $USER (set_color normal) \
$hostname
# current working directory
printf ' %s%s%s' \
(set_color $fish_color_cwd) (prompt_pwd) (set_color normal)
# git branch name
printf '%s' (__fish_git_prompt)
set_color normal
# '>'
printf '> '
end
色を変える
set_colorをfunction内に入れることで変更できる。
set_color <color>
変更できる色は名前もしくは16進数で指定できる
変更可能な色の名前は以下のコマンドで確認できる
fish -c "set_color --print-colors"
16進数で色を指定する場合は以下の形式でコマンドを記述する
set_color <RRGGBB>
set_color <RGB>
色の代わりに変数を記述することで、テーマカラーを参照することができる
例:set_color $fish_color_end
変数の一覧は以下のサイトを参照
fish shell configuration
元の色に戻す際は以下のコマンドを記述する
set_color normal
参考
set_color - set the terminal color — fish-shell 4.1.1 documentation