Help us understand the problem. What is going on with this article?

bashからzshに乗り換えの手順

More than 3 years have passed since last update.

前置き

Macのリカバリの際、以前より気になっていたbashからzshへの乗り換えを実施してみたので、そのメモ。

zshの特徴

Z Shell-Wikipediaより引用

  • ユーザーの起動している全ての zsh でコマンド履歴を共有することができる。
  • 様々な互換モードがある。例えば、zshをshとして実行したとき、bashの振りをするようにできる。
  • 殆ど全部のカスタマイズが可能。
  • プロンプトテーマ

個人的にはプロンプトテーマが一番大きいかも。

インストール方法

Mac標準でも入っているらしいが、バージョンが古いのでHomeBrewで最新版をインストール。

$ brew install --disable-etcdir zsh

HomeBrew経由のzshパスを追加。
$ 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
/bin/tcsh
/bin/zsh
/usr/local/bin/zsh #ここに追加

oh-my-zshをインストール

zshに切り替えてみて、gitコマンドが使えなくて困ってたところでoh-my-zshの存在を知ったので使ってみたら、使い勝手が良いのでこちらを利用。

oh-my-zshとは?

githubのrobbyrussell/oh-my-zshで管理されているzshを管理するフレームワーク。

特徴

というわけで、便利且つデザイン面でもメリットは高そうなのでインスール。

インストール手順

oh-my-zsh / README.textileの「The manual way」に記載されてるが・・・

.oh-my-zshにレポジトリをclone。
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh

すでに既存の~/.zshrcがあると思うので、一応バックアップ。
cp ~/.zshrc ~/.zshrc.orig

テンプレートをコピーして~/.zshrcに上書き。
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

zshへ切り替えで完了。
chsh -s /usr/local/bin/zsh

テーマの編集

デフォルトだと robbyrussell になっている。
687474703a2f2f696d672e736b697463682e636f6d2f32303039313232382d71636b65336b75656e7036316377636e777163643732347072372e6a7067.jpeg
個人的にはあまり好きではないので、変更。

$ vi ~/.zshrcZSH_THEME箇所を修正。

# ZSH_THEME="robbyrussell"
ZSH_THEME="kolo" #ここに好きなthemeを

koloはgitのbranch表示とか分かりやすかったのでこちらを選んでみました。
この辺はお好みで。
687474703a2f2f692e696d6775722e636f6d2f62505a68642e706e67.png
zsh を再起動すると新しいテーマへ変更される。

その他設定等

プラグイン

デフォルトだとgitコマンドのみなので必要なプラグインを追加。
以下コマンドでプラグインの一覧を確認できる。
$ ls ~/.oh-my-zsh/plugins/

19行目あたりに記述がある。
plugins=(git)

ここを下記のように必要に応じてプラグインを追加。

# plugins=(git)
plugins=(git ruby python mysql) #こんな感じに変更

自動アップデート

githubから自動でpullしてくるように設定が可能

export DISABLE_AUTO_UPDATE="true" #ここをコメントアウト
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした