fishを数年前から利用しており,色々と補完が強力だったり便利なので使い続けています.
設定作業を毎回忘れるので記録しておきます.
環境
- Ubuntu 24.04.1 LTS
他にも12のディストリビューション用にリポジトリが用意されているみたいです.
WindowsではCygwinやWSLなどの仮想Linux上での利用になりますね.
fishのインストール
リポジトリの準備&インストール
基本的にはこのページに記載されている通りに作業しています.
sudo add-apt-repository ppa:fish-shell/release-4
sudo apt update
sudo apt install fish
fish -v
fish, version 4.0.2
fish ver. 4.0.2 をインストールすることができました.
デフォルトシェルに設定
このシェルを使おうと決めたらデフォルトのシェルを指定しますよね.
決めた割にはコロコロと変わっていますが...
chsh -s $(which fish)
再ログインすればfishに置き換わっているはずです.
fish専用パッケージマネージャをインストール
fishには便利なパッケージが多様にあり,それらパッケージを管理するためのツールfisherがあります.
fisherのGitHubに記述されている通りインストール作業をします.
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
(awesome-fish)[https://github.com/jorgebucaran/awsm.fish#readme]リポジトリに秀逸なパッケージが列挙されています.
fishのプロンプトをカスタマイズ
こういう系は色々手を加える時間の余裕がないのでプラグインに頼ります!
私が利用させていただいているパッケージはtideです.
対話形式でプロンプトの設定を変更してくれるので簡単にベースのレイアウトは整います.
インストールはバージョンが更新されている可能性があるのでリポジトリを参照してください.
fisher install IlanCosman/tide@v6
fisher install version 4.4.5
Fetching https://api.github.com/repos/ilancosman/tide/tarball/v6
Installing ilancosman/tide@v6
~/.config/fish/functions/_tide_1_line_prompt.fish
:
~/.config/fish/completions/tide.fish
Configure tide prompt? [Y/n]
こういった形でインストール後すぐに設定するかどうか聞かれるので続行しましょう.
設定項目は下記の通りでした.
- Prompt Style: Classic (2)
- Prompt Colors: True color (1)
- Prompt Color: Dark (3)
- Show current time?: 24-hour format (2)
- Prompt Separators: Angled (1)
- Prompt Heads: Sharp (1)
- Prompt Tails: Flat (1)
- Powerline Prompt Style: Two lines, character (2)
- Prompt Connection: Solid (3)
- Right Prompt Frame: No (1)
- Connection & Frame Color: Darkest (4)
- Prompt Spacing: Sparse (2)
- Icons: Many icons (2)
- Enable transient prompt?: (2)
- Finish: Overwrite your current tide config (y)
括弧内の文字を入力すれば私の選択を再現できますが,"Icons" の設定に関してはNerd Font対応のフォントに設定しているターミナルを使わないと化けまくります.
まとめ
ひとまずfishをインストールし,プロンプトをモダンなレイアウトにする流れを記載しました.
VSCodeやCursorなどのGUIエディタが普及している昨今ですが,ターミナル上での作業は依然として多く,エディタ上でシェルを扱う機会も少なくありません.こうした状況を踏まえると,強力なシェルに変更しておいて損はないでしょう!