Y_hagurin’s diary

パソコンの奴隷

zshのインストール、oh-my-zshでセットアップ

LinuxMint入れたての状態から シェル環境をbashからzshに変更し、 oh-my-zshをインストールしてzsh環境を構築

zshをインストール

  • ターミナルを使ってapt-get環境を最新の状態にする
$ sudo apt-get update
  • apt-getを使ってインストール
    • 確認させられた場合はY(Yes)を入力してEnter
$ sudo apt-get install zsh
Do you wnat to continue? [Y/n] Y
  • シェル環境をzshに変更する(パスワード入力)
$ chsh -s /bin/zsh
  • 一旦Logoutして再Loginし直すと次回からzshがデフォルトになってる
  • ターミナルを開くとzshの設定画面が出てくる
    • ここでは"(2) Populate your ~/.zshrc containing just a comment. That will prevent this function being run again."を選んでパッケージオススメの設定にする。("2"を入力)

f:id:Y_hagurin:20150128180248p:plain

  • zshが起動する。
  • ちなみに、zshの設定を最初からやり直したいと思ったらzshをアンインストールして、再度インストールし直せばよい。chshコマンドでデフォルトのシェルをbashに戻してremoveする
$ chsh -s /bin/bash
$ sudo apt-get --purge remove zsh
  • なお、apt-getを使ってインストールしたパッケージは、"$ dpkg -L zsh"のようにコマンド入力すれば表示される
% dpkg -L (パッケージ名)

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

  • curlをインストール
% sudo apt-get install curl
  • curlを使ってoh-my-zshをインストール
% sudo curl -L http://install.ohmyz.sh | sh
  • 一旦ターミナルを終了(exit)して、再度ターミナルを立ち上げると、oh-my-zshが反映される

oh-my-zshの設定を変更

  • 保存可能なコマンド履歴数の上限を上げる
    • ~/.oh-my-zsh/lib/history.zshを編集(vimでもemacsでもnanoでも何でもいい)
    • "HISTSIZE=10000"、"SAVEHIST=10000"となっているところを100000くらいにしておく
% nano .oh-my-zsh/lib/history.zsh
  • aliasの設定
    • まずは"alias"コマンドで確認してみる
    • .zshrcに直接書き込む
    • ~/.oh-my-zsh/lib/aliases.zshを編集する
  • 見やすいテーマに変更する
    • .zshrcを開いてZSH_THEME="[テーマ名]"を編集する(以下、スクリーンショット付きテーマ一覧)
    • テーマの設定ファイルをいじれば自分好みに変更できる
    • ~/.oh-my-zsh/themes/[テーマ名] ←このファイルを開いて中身を編集する
      • 例) RPROMPT='%F{yellow}%D %*%f' # コマンド入力の右側に黄色で年月日と時分秒を表示

oh-my-zshのアップグレード

  • oh-my-zshをアップグレードする際は、次のコマンドを実行する
% upgrade_oh_my_zsh
  • しかし、先程のようにoh-my-zshの設定を自分好みにカスタマイズした場合は、cannnot pull with rebase...といったエラーが出る
    • oh-my-zshの変更をgit commitする必要がある
      • インストールしたての状態だとgitのuser情報を登録していないので、未登録状態でcommitしてもエラーが出る
    • gitのユーザ情報を登録して、変更内容をcommit後、upgradeする
% cd ~/.oh-my-zsh
% git config --global user.name "Y_hagurin" # 自分のGit用ユーザ名をGitに登録
% git config --global user.email "youremail@email.com" # 自分のGit用メールアドレスをGitに登録
% git add -A # 変更内容をadd
% git commit -m "Customize oh-my-zsh settings" # 変更内容に名前をつけてcommit
% upgrade_oh_my_zsh # oh-my-zshのバージョンをアップグレード