最強のターミナル環境ができたら次に取り掛かるのは最強のシェル環境です😊
私がオススメするshellは z shell です!
zsh(z shell) とは
bourne shell系コマンドとcsh系のコマンドが両方使える上に、ksh系のコマンドライン編集機能も実装された究極のシェル。
「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です🍻