【Mac】ターミナル設定(iTerm2 + zsh + prezto + peco)


Ubuntuの場合はこちら

①iTerm2を準備する

iTerm2についてはこちらの記事で記載していますので
こちらをご参照ください。
【Mac】ターミナル設定(iTerm2 + fish + fisherman)

②zsh + preztoの導入

preztoのインストールは基本的に公式通りです。
https://github.com/sorin-ionescu/prezto

まずシェルをzshに切り替えます。Macならzshは元々インストールされているはずです。

zsh  

次にgithubからソースをダウンロードします。

git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"  

次にpreztoを使うようにzshの設定をします。
ターミナルに以下を貼り付けて実行します。(スクリプトファイルなどを作成する必要はなく、ターミナル直貼り付けでOK)

setopt EXTENDED_GLOB  
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do  
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"  
done  

最後に、通常使うシェルをzshにします。

chsh -s /bin/zsh  

これでターミナルを再起動すれば、zsh + preztoになっています。

③pecoでコマンド履歴を検索しやすくする

まず、pecoをインストールします。

brew install peco  

あとは.zshrcに以下を記載するだけです。

function peco-history-selection() {  
    BUFFER=`history -n 1 | tail -r  | awk '!a[$0]++' | peco`  
    CURSOR=$#BUFFER  
    zle reset-prompt  
}  
zle -N peco-history-selection  
bindkey '^R' peco-history-selection  

ターミナルを再起動するか、以下コマンドでzshrcを再読み込みすれば適用されます。
Ctrl+Rで履歴検索画面になります。

source .zshrc