はじめに
この記事では Ubuntu に fish shell をインストールし,快適なシェル環境を作る. Ubuntu のバージョンは 22.04 を想定しているが,他のバージョンでも動くはず.
Fish Shellとは
Fish Shell とは Mac や Linux で動作するユーザーフレンドリーでスマートなシェル環境で,特徴としてコマンドのシンタックスハイライトや強力なタブ補完機能がある.また,コマンド履歴からの補完や検索もできる.
fish はスクリプトの書きやすさなど,ユーザーフレンドリーさを重視したもので使いやすいが,その分 POSIX 非互換である. そのため,bashやshのスクリプトはそのままでは動作しない.
しかし,これらの問題は後述するユーティリティやbashの起動で解決可能なため,気にすることは少ない.
fishのインストールとデフォルトシェルの切り替え
前置きはほどほどにして実際のインストール手順に移る.
|
|
fish は apt でインストールできるため,上記のコマンドのみで簡単にインストールできる.
次にデフォルトシェルを fish に切り替える.
/etc/shells
の末尾に/usr/local/bin/fish
を追記する.そして,
|
|
このコマンドでデフォルトシェルを変更する.ターミナルを開き直せば自動的に fish で起動する.
fish の設定ファイル
bash の .bashrc に相当するファイルは,~/.config/fish/config.fish
となる.ここに環境変数などを追記する.
パスはadd_fish_path <通したいパス>
で追加できる.
fisherのインストール
プラグインを管理するためのパッケージマネージャーである fisher をインストールする.
|
|
プラグインのインストール
bobthefish
bobthefish はシェルの見た目をPowerlineみたいにいい感じにしてくれるプラグイン.fisherでインストールできる.
|
|
このプラグインを使うためには,powerline 対応のフォントを使う必要がある.
z
|
|
履歴からディレクトリを移動することができるコマンド.
z ディレクトリ名
とすることで,過去に移動したディレクトリの中から一致する名前を候補として出して移動できる.
peco
コマンドを履歴から検索できるプラグイン.はじめに apt でインストールして,fisher でプラグインも入れる.
|
|
~/.config/fish/config.fish
に以下を追記することで,ctrl + r で起動することができる.
|
|
bass
fish で bash のスクリプトを実行できるようにするためのプラグイン.
bass <bashのスクリプト>
の形式で実行できる.
bass の Github リポジトリには「単純な用途であればexec bash -c "source some-bash-setup.sh; exec fish"
で事足りる」とあるため,source setup.bash
しか実行しないなどであれば,必要ないかもしれない.
インストール方法は
|
|
終わりに
fish には他にも abbr のような便利な機能があるのでぜひ調べてみてほしい.