fishシェルに乗り換えてみた🔫
🦑 まえがき
社内で、シェルは何を使っているのか、
framework 的なものはどういったものを使っているのかとか話して「 fish
いいよ〜」という話になったので、使い始めてみました。
ぼくは、 zsh をずっと使っていて、
や
sorin-ionescu/prezto: The configuration framework for Zsh
を導入していました。
なので、 zsh -> fish という感じです。
🐶 fishをインストールする
$ brew install fish
$ fish -v
🍔 シェルを変更する
最後の行に追加します。
$ sudo vi /etc/shells
$ /usr/local/bin/fish
ログインシェルを fish に変更します。
$ chsh -s /usr/local/bin/fish
🔫 fisherをインストールする
パッケージマネージャーをインストールします。
jorgebucaran/fisher: A package manager for the fish shell.
$ curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish
🪓 テーマを変更する
$ fisher add oh-my-fish/theme-bobthefish
🏋🏻♂️ Powerlineフォントをインストールする
$ git clone https://github.com/powerline/fonts.git
$ cd fonts
$ ./install.sh
$ cd ../
$ rm -rf fonts
iTerm2 の Profiles -> Text で
Source Code Pro for Powerline を選び、 Bold にしました。
ぼくの環境では、 Bold をつけないと、 Powerline の矢印がズレてしまったので、これで対応しています。
🧛♂️ Draculaのテーマをインストールする
$ git clone https://github.com/dracula/iterm.git
$ cd iterm
$ open ./Dracula.itermcolors
🤼♀️ jethrokuan/zをインストールする
jethrokuan/z: Pure-fish z directory jumping
z は過去に訪れたディレクトリの履歴検索ツールです。
$ fisher add jethrokuan/z
使い方は、
“z” + スペースを押して、行きたいディレクトリ名を入力し、タブで保管されます。
👮♀️ fzfをインストールする
z と少し被りますが、 fzf はコマンドを含め履歴検索できるツールです。
$ brew install fzf
$ fisher add jethrokuan/fzf
$ touch ~/.config/fish/config.fish
$ vim ~/.config/fish/config.fish
$ set -U FZF_LEGACY_KEYBINDINGS 0
$ set -U FZF_REVERSE_ISEARCH_OPTS "--reverse --height=100%"
“FZF_LEGACY_KEYBINDINGS”はfishの過去バージョンとコンフリクトが発生していたため、
新しいキーバインドを使用するのに必要だからです。
“FZF_REVERSE_ISEARCH_OPTS”は履歴のフィルタリング時に入力欄をターミナル上部に表示するための”–reverse”オプションと、
フルスクリーンで表示するための”–height”オプションを設定しています。
【Mac】fish + fisher + peco + fzfで快適なターミナル環境を構築 Public Constructor
🥦 展開されるalias - abbrのすごさよ
zsh だと zshrc にこんな感じでエイリアスを定義して使うんですが、
alias gst='git status -sb'
fish の abbr は
abbr -a gst git git status -sb
これで、 gst
で git status -sb
が展開されます。
展開されるところがわかりやすくていいですねー
[fish] 展開されるalias - abbr - Qiita
細かい使い方は以下を。
abbr:fish流別名!入力後に展開される短縮コマンドを定義
🍜 雑感
たまに自分のシェル環境を見直すと、いろいろ発見もあり、よりシンプルになるとうれしくなります。
毎日触るものなので、良くしていきたいですね!
それでは良いシェルライフを🎅🎄!
🧙 参考記事
fish shell のインストールと初期設定 - Qiita
fish shell を使いたい人生だった | Developers.IO
macOSをCatalinaにしたらfish shellの補完が遅くなった話 - ウキウキ?ワクワク? Yeah!! Happy!!