Macのターミナル環境をfish shellにしたらいろいろ捗ったのでご紹介。
fish shellの大きなメリット
fish shellはいろいろbashと違うところがありますが、乗り換えた大きな理由として下記があります。
- ディレクトリやコマンドを自動でサジェストしてくれる
- 環境変数の追加削除が簡単
公式サイト:fish shell
日本語訳:全訳!fishシェル普及計画
fish shellのインストール
インストール方法は公式にもあるように、幾つかの方法がありますがここではHomebrewを使ってインストール
$ brew install fish
シェルを一時的にfishに変更
普段はbashをデフォルトで使用したい場合などはwhich
で一時的にシェルを変更できる。
$ which fish
ターミナルのデフォルトをfishに変更
ターミナルで使うシェルをいちいちfishに変更するのが面倒な場合は、最初からターミナルをfishで起動することができる。
$ chsh -s /usr/local/bin/fish
もし変更できない場合は/etc/shells
にfish
が追加されていないので、ファイル末尾に/usr/local/bin/fish
を追記して再度コマンドを実行。
ターミナルを再起動するとfishが使えます。
環境変数の追加
すでにbashなどでNode.jsなどをインストールしている場合はfishに環境変数のパスが設定されていない可能性があるので、その場合はfishで環境変数を追加。
$ set -U fish_user_paths $fish_user_paths 環境変数のパス
追加した環境変数は$fish_user_paths
や$PATH
で確認できます。
$ echo $fish_user_paths
複数存在する場合は配列として格納されているので添字で抜き出すことができます。
※ただし、プログラムとちがって添字は1
からスタートする
環境変数の削除
利用しなくなった環境変数は削除することができる。
$ set -e -U fish_user_paths[x]
消したい配列番号を指定すればよい。
fishermanの導入
fishのパッケージ管理としてoh-my-fishやfishermanなどがありますが、最近はfishermanがいいとのことなのでfishermanを導入。
$ curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisher
プラグインの追加はコマンドか/path/to/.config/fish/fishfile
に追加してコマンドを叩く。
コマンドでの追加方法
$ fisher パッケージ名
fishfileに追加した場合
$ fisher
パッケージの削除方法
$ fisher uninstall パッケージ名
テーマの変更
テーマはoh-my-fishのテーマを導入することができる。
参考画像で使っているのはagnosterというテーマ。
ただし、Powerline Fontが必要なのであらかじめインストールすること。
# powerline fontのインストール
$ git clone https://github.com/powerline/fonts.git
$ cd fonts
$ ./install.sh
$ cd ..
$ rm -rf fonts/
インストールしたらターミナルの環境設定を開き、フォントをSource Code Pro Powerline
を指定。
その後、テーマをインストール
$ fisher omf/agnoster
これで参考画面のようなテーマになる。
プラグインなどはまた後日。