非常にシンプルなzshの設定

非常にシンプルなzshの設定

普段zshを利用しています。

.zshrcをプライベートリポジトリで管理しているのですが、gitにログインしにくい環境で作業することもあります。

そこで、手軽に設定を見れるようにこちらにも載せておきます。

久しぶりに自分の.zshrcを見ましたが、PROMTの設定が重複してますね。

うーん、今度一度見直したいですね。

# Set up the promt
export LANG=ja_JP.UTF-8
alias ls="ls -F --color=auto"
autoload -Uz compinit promptinit
compinit
promptinit
PROMPT="%F{green}[%m@%1d]%f %# "

# save 20000 command history to ~/.zsh_history and commands beginning timestamp
HISTSIZE=20000
SAVEHIST=20000
HISTFILE=~/.zsh_history
setopt extended_history
setopt hist_ignore_all_dups
setopt sharehistory
setopt hist_ignore_dups

setopt no_beep
setopt correct
setopt magic_equal_subst
setopt notify
setopt no_flow_control

bindkey '^r' history-incremental-pattern-search-backward
bindkey '^s' history-incremental-pattern-search-forward

zstyle ':completion:*:default' menu select=2
zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' completer _expand _complete _correct _approximate
zstyle ':completion:*' format 'Completing %d'
zstyle ':completion:*' group-name ''
zstyle ':completion:*' menu select=2
eval "$(dircolors -b)"
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=* l:|=*'
zstyle ':completion:*' menu select=long
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' use-compctl false
zstyle ':completion:*' verbose true

zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'

# git
autoload -Uz vcs_info
setopt prompt_subst
zstyle ':vcs_info:git:*' check-for-changes true
zstyle ':vcs_info:git:*' stagedstr "%F{yellow}!"
zstyle ':vcs_info:git:*' unstagedstr "%F{red}+"
zstyle ':vcs_info:*' formats "%F{green}%c%u[%b]%f"
zstyle ':vcs_info:*' actionformats '[%b|%a]'
precmd () { vcs_info }

PROMPT="%F{green}[%m@%1d]%f"\$vcs_info_msg_0_" %# "