0.5から始める機械学習

Machine Learning, Deep Learning, Computer Vision に関する備忘録

【Ubuntu】 shellをfish + fisherman に変えた話

今までUbuntuのデフォルトシェルである"bash"に特段不満を感じた訳ではないが、より便利なものがあるというのにそれを使わないのはもったいないと感じたのでシェルを変えてみました。

あと、シェルとかCLIが得意とかこだわりがあるって言ったほうがエンジニアっぽいというのも理由ですw

fish

まず"fish"とは、"the friendly interactive shell"の略にあるようにユーザビリティを重視して作られたシェルです。

fishshell.com

f:id:nodaki:20180924204238p:plain

公式のロゴはまさにfishになっていて可愛らしいですねw

選んだ理由

fishを選んだ理由は主に以下の点です。

  • インストールが簡単
  • デフォルトの設定のままで十分高機能
  • 補完機能が優秀
  • シンタックスハイライトも優秀
  • テーマを変えることで見た目をおしゃれにできる ← 重要

コマンドラインを使いたくなくなる理由の一つとして、あの殺伐とした味気のない見た目が大きいかと思います。

後述しますが、fishではテーマを変更することができ、自分好みのカスタマイズが可能です。

例えばこんな感じにすることもできます。

f:id:nodaki:20180924205008p:plain

とまぁ、こんなメリットがあって導入しない理由もないので、さっそく導入方法(インストール、設定)について記していきます!!

導入するもの

  • 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をデフォルトのシェルに設定していきます。

テーマ変更

テーマはこちらなどを参考に好きなものを探しましょう。

github.com

今回は"agnostr"というテーマをインストールしました。

インストールには、omf/をつけて、テーマ名の前にtheme-を書きます

fisher omf/theme-agnoster

コマンドカラーの変更

fishでは設定をブラウザ経由で変更することができます。

fish_config

続いて、好きなコマンドのカラーセットを設定しましょう。

ターミナル自体の色の変更は、ターミナルの[編集] > [プロファイルの設定] > [色] から変更することができます。

上の写真のような見栄えにするには[色]から[組み込みのスキーム] > [Solarized Dark] を選択しましょう。

デフォルトのシェルに設定する

デフォルトのシェルに設定するのですが、本当に起動時からデフォルト設定にしてしまうと、今まで.bashrcなどに様々な設定を書き込んでいた場合は、その依存関係が読み込めなくなってしまいます。

そこで、bashを残しつつ、あたかもデフォルトで起動するような設定にします。

.bashrcの最終行に次の一文を追記します。

exec fish

こうすることでbashを呼び出した後でfishを呼び出すようにします。

まとめ

思いつきでfishに変えてみましたが、結果は大満足です。

見た目も使いやすさも大幅に改善したので、積極的にシェルを使っていこうという気分になりますね(使うとはいっていない)