# Zsh configuration file. # Use Vi(m) style key bindings. bindkey -v # Use the history and store it in ~/.zsh/history. HISTSIZE=1000 SAVEHIST=1000 HISTFILE=~/.zsh/history # Append to the history file instead of overwriting it and do it immediately # when a command is executed. setopt appendhistory setopt incappendhistory # If the same command is run multiple times store it only once in the history. setopt histignoredups # Vim like completions of previous executed commands. bindkey "^P" history-beginning-search-backward bindkey "^N" history-beginning-search-forward # Prevent overwriting existing files with '> filename'. setopt noclobber # Entering the name of a directory (if it's not a command) will automatically # cd to that directory. setopt autocd # When entering a nonexistent command name automatically try to find a similar # one. setopt correct # Use colorized output. autoload -U colors && colors # Set the default prompt. The current host and working directory is displayed, # the exit code of the last command if it wasn't 0 and a + if this shell is # running inside another shell. # The prompt is in green and blue to make easily detectable, the error exit # code in red and bold. PROMPT="%{${fg[green]}%}%B%m%b%{${fg[default]}%}:\ %{${fg[blue]}%}%B%~%b%{${fg[default]}%} %(2L.+.)%# \ %(?..(%{${fg[red]}%}%B%?%b%{${fg[default]}%}%) )" # Use the new completion system. autoload -U compinit && compinit # Make sure the list of possible completions is displayed after pressing # the first time. setopt nolistambiguous # Use a cache to speed up completions. zstyle ':completion:*' use-cache on zstyle ':completion:*' cache-path ~/.zsh/cache # Ignore the case if the currently typed string doesn't match. zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}' # Enable zsh's extended glob abilities. setopt extendedglob # If a rc.local file exists load it, otherwise load a rc file for the current # hostname (first part before a dot) if it exists. host=${$(hostname)//.*/} if [[ -f ~/.zsh/rc.local ]]; then; source ~/.zsh/rc.local elif [[ -f ~/.zsh/rc.$host ]]; then; source ~/.zsh/rc.$host fi