oh-my-zshを使っていて重いと感じている方、preztoはいかが? - Qiitaを読んだ。
今まで何度かzshに挑戦しようとするも、ctrl-w
の挙動がbashと違うことが気に食わずにbashを使い続けた。
しかし使ってみると利点も多い気もしてきたので作業メモを残しておこう。
- ~/.ssh/configの中身を候補表示してくれる。
- scpでリモートのパスを入力しtabを押すとあたかもローカルのようにパス展開してくれる。
preztoインストール
インストール
zsh
git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
mkdir ~/.zsh.gomi
mv .zlogin .zlogout .zprofile .zshenv .zshrc ~/.zsh.gomi
初期設定のfileを設置
setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
~/.zpreztorc
- zstyle ':prezto:module:prompt' theme 'sorin'
+ zstyle ':prezto:module:prompt' theme 'redhat'
zshにデフォルトのshellを変更(mac)
最後の行に追記
/etc/shells
+ /usr/local/bin/zsh
変更実施
chsh -s /usr/local/bin/zsh
.zshrc修正
ctrl-x,ctrl-eで編集するエディタ変更
~/.zshrc
+ VISUAL=/usr/local/bin/vim
zshのプロンプトにGitのブランチ名を表示する - きたけーTechブログ
~/.zshgit
# VCSの情報を取得するzshの便利関数 vcs_infoを使う
autoload -Uz vcs_info
# 表示フォーマットの指定
# %b ブランチ情報
# %a アクション名(mergeなど)
zstyle ':vcs_info:*' formats '[%b]'
zstyle ':vcs_info:*' actionformats '[%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|)"