スティーブジョブスに俺はなる!!

毎日全力を出し切り、自分史上最高を出し続けたい!

開発環境の効率化 iterm2 zsh

コマンドラインの入力が手間というか時間を取る。

出来るだけ省力化してみる。

 

まずは、iterm2の導入

iterm2のホームページからダウンロードしてインストールする。

ITermメニューからCheck For Updateを実施して、最新化する。

 

Zshの導入

[local] $ vi ~/.zshrc

export LANG=ja_JP.UTF-8

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting

########################################
# 補完
# 補完機能を有効にする
autoload -Uz compinit
compinit

# 補完で小文字でも大文字にマッチさせる
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'

# ../ の後は今いるディレクトリを補完しない
zstyle ':completion:*' ignore-parents parent pwd ..

# sudo の後ろでコマンド名を補完する
zstyle ':completion:*:sudo:*' command-path /usr/local/sbin /usr/local/bin \
/usr/sbin /usr/bin /sbin /bin /usr/X11R6/bin

# ps コマンドのプロセス名補完
zstyle ':completion:*:processes' command 'ps x -o pid,s,args'

########################################
# vcs_info

autoload -Uz vcs_info
zstyle ':vcs_info:*' formats '(%s)-[%b]'
zstyle ':vcs_info:*' actionformats '(%s)-[%b|%a]'
precmd () {
psvar=()
LANG=en_US.UTF-8 vcs_info
[ [ -n "$vcs_info_msg_0_" ] ] psvar[1]="$vcs_info_msg_0_"
}
RPROMPT="%1(v|%F{green}%1v%f|)"

##################################

# チェンジディレクトリを簡単にする
# cd したら自動的にpushdする

setopt auto_pushd
# 重複したディレクトリを追加しない
setopt pushd_ignore_dups
# ディレクトリ名だけでcdする
setopt auto_cd

# ヒストリの設定
HISTFILE=~/.zsh_history
HISTSIZE=1000000
SAVEHIST=1000000
# 同じコマンドをヒストリに残さない
setopt hist_ignore_all_dups
# 同時に起動したzshの間でヒストリを共有する
setopt share_history
# ヒストリファイルに保存するとき、すでに重複したコマンドがあったら古い方を削除する
setopt hist_save_nodups
# スペースから始まるコマンド行はヒストリに残さない
setopt hist_ignore_space
# ヒストリに保存するときに余分なスペースを削除する
setopt hist_reduce_blanks
# 補完候補が複数あるときに自動的に一覧表示する
setopt auto_menu
# 高機能なワイルドカード展開を使用する
setopt extended_glob
# 日本語ファイル名を表示可能にする
setopt print_eight_bit
# フローコントロールを無効にする
setopt no_flow_control
# '#' 以降をコメントとして扱う
setopt interactive_comments

## 入力しているコマンド名が間違っている場合にもしかして:を出す。
setopt correct
# ビープを鳴らさない
# setopt nobeep
## 色を使う
setopt prompt_subst
## ^Dでログアウトしない。
setopt ignoreeof

# 色を使用出来るようにする
autoload -Uz colors
colors


# プロンプト
# 1行表示
# PROMPT="%~ %# "
# 2行表示
PROMPT="%{${fg[red]}%}[%n@%m]%{${reset_color}%} %~
%# "

# -------------------------------------
# エイリアス
# -------------------------------------

# ls
alias ls="ls -G" # color for darwin
alias la="ls -ltra"
alias l1="ls -1"

# tree
alias tree="tree -NC" # N: 文字化け対策, C:色をつける

# --------------------------------------
# 単語の区切り文字を指定する
autoload -Uz select-word-style
select-word-style default
# ここで指定した文字は単語区切りとみなされる
# / も区切りと扱うので、^W でディレクトリ1つ分を削除できる
zstyle ':zle:*' word-chars " /=;@:{},|"
zstyle ':zle:*' word-style unspecified

# -------------------------------------
# その他
# -------------------------------------

# cdしたあとで、自動的に ls する
function chpwd() { ls -1 }

# iTerm2のタブ名を変更する
function title {
echo -ne "\033]0;"$*"\007"

[local] $ chsh -s /bin/zsh

設定の反映

[local] $ source ~/.zshrc

 

zshの効率的な使い方はこちら

 

 

参考にしたブログ

【図解】ゼロから始めるモダンなコマンドライン環境作り #iTerm2 #tmux #zsh|CodeIQ MAGAZINE

iTerm2 + zsh + tmux + vim で快適な256色ターミナル環境を構築する - ( ꒪⌓꒪) ゆるよろ日記

漢のzsh (1) 最強のシェル、それは「zsh」 | マイナビニュース

MacにHomebrewをインストールする - Qiita

Macの環境設定(3) zshを入れる - Qiita

Terminal (Mac OS X): zsh で Terminal での作業を効率化する | snippets.feb19.jp

http://gihyo.jp/dev/serial/01/zsh-book/0005?page=1

http://dev.classmethod.jp/tool/zsh-prezto/