推しメン(Fish shell)のお話
琉大 Advent Calendar 2019 5日目
はじめに
技術系のブログ(というかブログ)を書くのはこれが初めてなので拙いところが多々あると思いますが、暖かい目で見守ってくれると助かります。
また、アドバイスなどがあれば、コメントやTwitterで教えてくれると凄く嬉しいです。
それでは早速本題へ!
使用環境
macOS Mojave 10.14.5
Homebrew 2.2.0
Fishを使うと何が嬉しいか?
雑にまとめるとこんな感じ
- デフォルトで色々いい感じなので、ほぼ設定いらず
- シンタックスハイライトの機能がすごい
- コマンドやオプションが合っているか、ひと目でわかる
- コマンド入力中に補完が見える
- ブラウザで直感的に設定をいじれる
- カラフルでわかりやすい
詳しく知りたい方は公式サイトへ
とりあえずFishをインストール
brew install fish
念の為確認
fish -v
//fish, version 3.0.2
shellをFishに変更
まずはfishのパスを確認
which fish
/usr/local/bin/fish
次にfishを使えるshell一覧に追加します。
sudo -e /etc/shells
を実行するとPasswordを求められると思うので、自分のMacのPasswordをうち込んでください。すると以下の画面に移動するので
1番下に先ほどのパスを追加します。追加したら変更を保存します。
次に下のコマンドを実行するとPasswordを求められるので先程と同様にPasswordを打ち込みます。
chsh -s /usr/local/bin/fish
最後にターミナルを再起動、もしくは以下のコマンドをうち込んで新規タブorウィンドウを開くとfishになっています。
exec $SHELL -l
prompt変わってるし、上にfishって書いているのでfishになったっぽい。
設定
ターミナルで
fish_config
とうつと以下のようなWebページが出てくるので、ここで見た目をいじりましょう。 一応configファイルを作っても弄れますが、こっちの方が直感的でいじりやすい(と思う)のでオススメです!
Fishermanを導入
curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs https://git.io/fisher
Fishermanの使い方
fisher -h
でサブコマンドの一覧を見ることができます。基本的には
fisher add user/foo
でGitHubで公開されているプラグインをインストールすることができます。 削除するときは以下のコマンドで削除できます。
fisher rm foo
インストール済みのプラグインの一覧は
fisher ls
で見ることが出来ます。
オススメのプラグイン
オススメのプラグインと言うか、僕が入れているプラグインはこれだけです。
➜ ~ fisher ls
jethrokuan/fzf
jethrokuan/z
rafaelrinaldi/pure
jethrokuan/fzf
fisher add jethrokuan/fzf
Ctrl+oでファイルの曖昧検索
Ctrl+rでコマンド履歴の曖昧検索ができます。
詳しい説明や使い方はjethrokuan/fzfのREADMEに書いてあります。
jethrokuan/z
fisher add jethrokuan/z
簡単に言うと、すべてのディレクトリへ直接移動できるプラグインです。以下は実際にzコマンドを利用して移動する例です。
rafaelrinaldi/pure
fisher add rafaelrinaldi/pure
prompt次第ではgitのbranchがこんな感じで1目で分かるようにるっぽい?見れないpromptもあったけどあまりよく分かってないです。とりあえず見れるpromptを使えばいいと思います(適当)。
最後に
全く設定ファイルをいじる事なく(1回も触ってない...?)数少ないプラグインで、ここまで色々なことが出来るfishどうでしょうか?
見た目も簡単に変更することができ、またこの記事を読みながら手を動かしていた方なら分かってくださると思うのですが、補完やシンタックスハイライト、とても魅力的ですよね!
初心者でも使いやすいshellだと思うので、この記事を読んで使ってみようかな?と思ってくれた方是非使ってみてください!