シェル初心者がはじめてシェルにこだわる。Macでfish環境構築。

シェルにこだわってみようと思いました。fishを使うことにしました。 導入手順といいなと思ったものをまとめておきます。何かの参考になればなと思います。OSXです。

できあがった環境

Before(イメージ) f:id:shutoo:20161117115614p:plain Bash + Terminal.app

After f:id:shutoo:20161117115536p:plain fish + tmux + Terminal.app

fishになった経緯

バイトの昼の1時間にシェルの環境構築してみようと決めました。 自分はずっとデフォルトのBash環境を使っていて、ゼロから環境つくっていくと時間がかかりそうだと思い、ネット上にある他人の環境をパクっていいなともったものを掻い摘む形をとることしました。(dotfilesで検索するといっぱいでました) ですが、気がついたらbashzshがlsを使えない程度に壊れた(パスの問題ではありませんでした)ので、逃げるようにfishになりました。実際触るといい感じでした。

fishの特徴

良い所は特に設定などをしなくても入力補完などが予め搭載されていることです。

公式HPでは以下のような特徴を上げています f:id:shutoo:20161117115718p:plain

要は特に設定しなくてもグラフィカルで高機能な補完もあるよってことです。 注意点は、bashzshのところどころコマンドの記述形式が違うところがあります。

&& で実行系 Bash, zsh

brew update && brew upgrade

fishの場合 ;and でつなげます

brew update; and brew upgrade

参考 Zsh から Fish にした。

インストール

brew install fish

ついでに、さらにfishを便利にするoh-my-fishも追加

curl -L https://github.com/oh-my-fish/oh-my-fish/raw/master/bin/install | fish

fishをデフォルトのシェルに設定

fishの場所確認

$ which fish
/usr/local/bin/fish <- コピー
sudo vi /etc/shells

編集

# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/usr/local/bin/fish <- 貼り付け

デフォルトに設定

chsh -s /usr/local/bin/fish

tmux

という端末多重化ソフトウェアも入れてみました これについてはまだ勉強中です。 tmuxを使い始めたので基本的な機能の使い方とかを整理してみた

Solarized を使うことにしました。

f:id:shutoo:20161117115846p:plain

コントラストが小さく目にやさしいように設計されているみたいです。 ダウンロード時の注意点としては、公式HPから直接ではなく、git cloneすることです。 Mac Terminal のカラー設定をSolarized にする

全体的な参考

さいつよのターミナル環境を構築しよう