Macで快適な作業環境を構築する(zsh編)


最強のターミナル環境ができたら次に取り掛かるのは最強のシェル環境です😊
私がオススメするshellは z shell です!

zsh(z shell) とは

bourne shell系コマンドとcsh系のコマンドが両方使える上に、ksh系のコマンドライン編集機能も実装された究極のシェル。

「zshに出来ないことがあったら、それはバグだ」

zshとは

私の shell 変遷

bash => fish => zsh

fishの入力補完が魅力ですが、bash互換がなく、他の人とコマンドを共有するのが面倒になってました。zshでも入力補完が使えてbash互換があると聞き、即乗り換えました😏

zsh インストール

$ brew install zsh

シェル一覧へ登録

デフォルトシェルに変更するには、 /etc/shells へ追加する必要があります。

$ echo `which zsh` | sudo tee -a /etc/shells
$ cat /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
/bin/tcsh
/bin/zsh

デフォルトシェルを変更

デフォルトシェルを変更するには chsh コマンドを使います。

$ chsh -s `which zsh`

シェルの一覧に追加されていないと chsh: /bin/zsh: non-standard shell のエラーが出ます。

デフォルトシェルの変更が終わったら、ターミナルを再起動します。

$ $SHELL --version
zsh 5.3 (x86_64-apple-darwin18.0)

環境変数 $SHELL にはデフォルトシェルのパスが入ってます。
zshのバージョン情報が表示されていればokです🍻

ゆうきゃんカスタムシェル設定

こちらのリポジトリに dotfiles 私の設定ファイルをまとめてます。

zshの設定フレームワークのpreztoを使用してます。
その他、諸々の設定を行ってますので、現在の設定を壊したくない人はダウンロードして適宜コピーして使ってください😅

シェル設定のインストール

$ git clone https://github.com/ucan-lab/dotfiles.git ~/dotfiles && cd ~/dotfiles && ./install.sh

~/dotfiles ここに設定ファイルがインストールされます。

z コマンド

z コマンドを導入しています。

一度行ったディレクトリはディレクトリ名だけで移動できる便利なコマンドです。
例えば。

$ mkdir -p ~/foo/bar/hogefuga
$ cd $_ # 作成したディレクトリへ移動
$ cd # ホームディレクトリへ移動
$ z hogefuga

と移動できるようになります。
ディレクトリ名は部分一致でも良く、 z gefu でも移動できます。
また、同じディレクトリ名で別階層の場合は最近行った方が優先されるようです。

z だとタイプしづらいので j にエイリアスを設定しています。

$ j hoge

でも移動できます。

.. コマンド

一つ上のディレクトリに戻ります

$ ..

f コマンド

カレントディレクトリを Finder で開きます。

$ f

cdf コマンド

Finder で表示しているディレクトリへ移動します。

$ cdf

relogin コマンド

shellを再起動します。設定ファイルを反映したいときなど

$ relogin

md コマンド

カレントディレクトリに配置してあるMarkdownファイルをvimで開けるようにしてます。
※カレントディレクトリにマークダウンファイルが1つだけ配置されてる前提です。

$ echo "foo" > bar.md # テストファイル作成
$ md

calc コマンド

簡易的な計算コマンド

$ calc "15*4"
60

ggrks コマンド

ググレカスコマンド。ブラウザを開いて入力した文字で検索してくれる。
g エイリアスも設定してます。

$ ggrks 原宿
$ g 原宿 パフェ

プロンプトテーマを変更したい

# テーマ一覧
$ prompt -l
# テーマをプレビュー
$ prompt -p <テーマ名>
# すべてのテーマをプレビュー
$ prompt -p
# テーマを適用(再起動したら戻る)
$ prompt <テーマ名>

永続的にテーマを変更したいときは ~/.zpreztorc preztoの設定ファイルを開いて下記の行を変更してください。

zstyle ':prezto:module:prompt' theme 'pure'

theme を設定している pure を好きなテーマ名に変更すればokです🍻