【Ubuntu】 shellをfish + fisherman に変えた話
今までUbuntuのデフォルトシェルである"bash"に特段不満を感じた訳ではないが、より便利なものがあるというのにそれを使わないのはもったいないと感じたのでシェルを変えてみました。
あと、シェルとかCLIが得意とかこだわりがあるって言ったほうがエンジニアっぽいというのも理由ですw
fish
まず"fish"とは、"the friendly interactive shell"の略にあるようにユーザビリティを重視して作られたシェルです。
公式のロゴはまさにfishになっていて可愛らしいですねw
選んだ理由
fishを選んだ理由は主に以下の点です。
- インストールが簡単
- デフォルトの設定のままで十分高機能
- 補完機能が優秀
- シンタックスハイライトも優秀
- テーマを変えることで見た目をおしゃれにできる ← 重要
コマンドラインを使いたくなくなる理由の一つとして、あの殺伐とした味気のない見た目が大きいかと思います。
後述しますが、fishではテーマを変更することができ、自分好みのカスタマイズが可能です。
例えばこんな感じにすることもできます。
とまぁ、こんなメリットがあって導入しない理由もないので、さっそく導入方法(インストール、設定)について記していきます!!
導入するもの
- fish
- fisherman
fishと同時にプラグインマネージャーであるfishermanも導入します。
fishermanはプラグインの管理や先ほどのテーマの管理にも使用します。
ちなみにUbuntuのバージョンは16.04LTSになります。
Installation
1. fishのインストール
まず本体のインストールは公式の通りにしましょう。
sudo apt-add-repository ppa:fish-shell/release-2
sudo apt-get update
sudo apt-get install fish
2. fishermanのインストール
こちらも公式を参考にして。
curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs https://git.io/fisher
3. フォントのインストール
powerlineフォントもインストールしておきましょう。
sudo apt-get install fonts-powerline
以上で必要なもののインストールは完了です。
Settings
インストールが完了したら、テーマの変更とfishをデフォルトのシェルに設定していきます。
テーマ変更
テーマはこちらなどを参考に好きなものを探しましょう。
今回は"agnostr"というテーマをインストールしました。
インストールには、omf/
をつけて、テーマ名の前にtheme-
を書きます
fisher omf/theme-agnoster
コマンドカラーの変更
fishでは設定をブラウザ経由で変更することができます。
fish_config
続いて、好きなコマンドのカラーセットを設定しましょう。
ターミナル自体の色の変更は、ターミナルの[編集] > [プロファイルの設定] > [色] から変更することができます。
上の写真のような見栄えにするには[色]から[組み込みのスキーム] > [Solarized Dark] を選択しましょう。
デフォルトのシェルに設定する
デフォルトのシェルに設定するのですが、本当に起動時からデフォルト設定にしてしまうと、今まで.bashrcなどに様々な設定を書き込んでいた場合は、その依存関係が読み込めなくなってしまいます。
そこで、bashを残しつつ、あたかもデフォルトで起動するような設定にします。
.bashrcの最終行に次の一文を追記します。
exec fish
こうすることでbashを呼び出した後でfishを呼び出すようにします。
まとめ
思いつきでfishに変えてみましたが、結果は大満足です。
見た目も使いやすさも大幅に改善したので、積極的にシェルを使っていこうという気分になりますね(使うとはいっていない)