Zenn
💻

【完全版】fish shell ~スーパーコマンドライン~

に公開
3
1

fish shell完全ガイド

この記事では、fish shellの設定、テーマ、プラグインまでハンズオンで設定していく

さあ、あなたもfishを使おう!

<完成後サンプル>

altテキスト

そもそもfishとは

まずはterminalかiTerm2で以下のコマンドを実行してほしい

$ echo $PATH

おそらくzshやbashがでるのではないだろうか
これがshell(シェル)である!
shellとは、osのカーネルとユーザー間の架け橋となるツールである
bash、zsh、などさまざまなシェルがあるが、今回はfishを使っていく

fishとは、シェルの一種なんだ!という理解で十分

install & fishに切り替える

1. fish shellをhomebrewでインストール

homebrewについて不安な方は、この記事を見てみてください!
https://zenn.dev/sawao/articles/e7e90d43f2c7f9

2. fish shellにシェルを切り替える

$ brew install fish
$ sudo vi /etc/shells   #  末尾に /usr/local/bin/fish を追加
$ chsh -s /usr/local/bin/fish  # デフォルトシェルを fish に変更

fisher install

1. パッケージマネージャー fisherをインストール

$ curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish

install oh-my-fish/bobthefish

1. 画期的な見た目を自動で生成してくれるプラグインをインストール

2. 文字化けするので、Powerlineフォントをインストール

$ fisher install oh-my-fish/theme-bobthefish
$ git clone https://github.com/powerline/fonts.git
$ cd fonts
$ ./install.sh
$ rm -rf ./fonts

powerlineフォントをインストールしたら、terminal or iTerm2 のフォントをfor powerlineがつくものに選択

(自分は Source Code Pro for Powerline & font sizeは18)

コラム fish_config

$ fish_config と打って実行すると web ブラウザが立ち上がり、GUI で設定ができる

altテキスト

ここからでもいろいろな設定ができる

テーマをカスタマイズしたら忘れずに SetTheme を押そう!

設定ファイル

1. ログイン時に実行されるファイル

~/.config/fish/functions/fish_greeting.fish


function fish_greeting
  set_color $fish_color_autosuggestion
  echo "Hello, your name is Yuta. Now, Let's programming!!"
  set_color normal
end

2. ほとんどの設定をここに書く

~/.config/fish/config.fish


#view
set -g theme_display_date yes
set -g theme_date_format "+%F %H:%M"
set -g theme_display_git_default_branch yes
set -g theme_color_scheme dark

#path
set -x PATH $HOME/.nodebrew/current/bin $PATH

set -x PYENV_ROOT $HOME/.pyenv
set -x PATH  $PYENV_ROOT/bin $PATH
pyenv init - | source

#peco setting
set fish_plugins theme peco

function fish_user_key_bindings
  bind \cw peco_select_history
end

# view の設定を説明

- set -g theme_display_date yes → 日付表示します

- set -g theme_date_format "+%F %H:%M" → 日付のフォーマット指定

set -g theme_display_git_default_branch yes → git のブランチ master と main も表示

set -g theme_color_scheme dark → bobthefish のテーマが選べる デフォルトは dark

#path のところに, node や pyenv の記述をしているが、使わない人は書かなくて良い

プラグイン

様々な便利なプラグインがあるが特におすすめな 4 つをインストールする

1. z


ディレクトリを自由に移動できるプラグイン

install & setting

$ brew install z
$ fisher install jethrokuan/z

使い方

$ z hoge
// 過去に移動したディレクトリからhogeディレクトリを見つけて移動

リファレンス(README) => https://github.com/jethrokuan/z/blob/master/man/man1/z.md

2. peco


コマンドを履歴から検索できるプラグイン

install & setting

$ brew install peco
$ fisher install oh-my-fish/plugin-peco

使い方

先程 ~/.config/fish/config.fish ファイルで設定を記入したため、Ctrl+w で使用できる

3. fish-bd


ディレクトリを上に遡れるプラグイン

install & setting

$ fisher install 0rax/fish-bd

使い方

$ bd <ディレクトリ名>

4. fzf


コマンドやファイルの検索

install & setting

$ brew install fzf
$ fisher install jethrokuan/fzf

使い方

altテキスト

おまけ


遊びで、fish のロゴを出力するプラグイン

install

$ fisher install laughedelic/fish_logo

使い方

$ fish_logo
# デフォルト

<出力>

$ fish_logo blue cyan green
# 色をカスタマイズ

<出力>

詳しい使い方 公式ドキュメント

終わりに

fish のいいところ (個人的)

1. 見た目がかっこいい

altテキスト

2. 補完が優秀

altテキスト

fish 使ってこーぜ!!

1

Discussion

ずんたずんた

有益な記事をありがとうございます。
質問があります。

設定ファイルで、
config.fishに書き込むとありますが
どのように書き込んでいらっしゃいますか?

あまりコマンドに慣れていないものでして、
config.fishのファイルは作れたのですが、追記の方法がわかりません。

Sawao CEO at Deepreneur(ディープレナー)Sawao CEO at Deepreneur(ディープレナー)

記事を読んで頂きありがとうございます!
config.fishへの書き込み方について返答いたします。
基本的にファイルに追記をしたり、ファイルの中身を変更したりする時は、エディタと呼ばれるアプリケーションを使用します。エディタという編集ソフトでファイルを開いて、そこに変更したい内容を書き込みます。
エディタにはいろいろな種類があり、好き嫌いは人それぞれですので、お好きなものをインストールしていただければと思います!(macにはデフォルトで"テキストエディタ"というエディタが入っています。)
ちなみに自分はvimというコマンドベースのエディタと、vscodeというマウスで操作するようなエディタを使い分けています。
(今回のconfig.fishを編集する時はvimを使用しました!具体的なコマンドは "$ vim ファイル名"でファイルを開き、"i"を押して編集モードに入ります。それからコードを追加し、編集し終えたら"esc"キーを押し、コマンドモードに入ります。それから"w"と"q"を順番に押し、Enterキーを押すと無事ファイルに変更が反映されているかと思います!)

bobonbabobonba

まずはterminalかiTerm2で以下のコマンドを実行してほしい

$ echo $PATH

おそらくzshやbashがでるのではないだろうか

↑ ここって、もしかして$ echo $SHELL のつもりで書いたのではないですか?

ログインするとコメントできます