# Source default profile source ~/.profile # Set up the prompt autoload -Uz promptinit && promptinit autoload -U colors && colors PROMPT="%(?.%{$fg[green]%}.%{$fg[red]%})%? %{$fg[cyan]%}$(date +%Y%m%d) %* %{$fg[yellow]%}%n@%m%{$reset_color%}:%{$fg[cyan]%}%~%{$reset_color%} %# " # Set history #setopt histignorealldups sharehistory setopt histignorealldups # Use emacs keybindings even if our EDITOR is set to vi bindkey -e # Keep 1000 lines of history within the shell and save it to ~/.zsh_history: HISTSIZE=1000 SAVEHIST=1000 HISTFILE=~/.zsh_history # Add custom completion scripts fpath=(~/.zsh/completion $fpath) # Use modern completion system autoload -Uz compinit compinit # CD behavior # Whishlist: https://superuser.com/questions/565310/silent-cd-using-cdpath-with-zsh/565396 setopt auto_cd # Completion config zstyle ':completion:*' accept-exact '*(N)' 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' zstyle ':completion:*:descriptions' format %d zstyle ':completion:*:descriptions' format %B%d%b zstyle ':completion:*:complete:(cd|pushd):*' tag-order 'local-directories named-directories path-directories' # Speeding up zsh completion # http://lethalman.blogspot.com/2009/10/speeding-up-zsh-completion.html #zstyle ':completion:*' use-cache on #zstyle ':completion:*' cache-path ~/.zsh/cache # Git completion # https://stackoverflow.com/questions/9810327/zsh-auto-completion-for-git-takes-significant-amount-of-time-can-i-turn-it-off/9810485#9810485 __git_files () { _wanted files expl 'local files' _files } # Powerline # We're using $TTY as $WINDOWID won't be available on SSH sessions #if [ ! -z "$WINDOWID" ] && [ "$TERM" != "linux" ] && [ -e '/usr/share/powerline/bindings/zsh/powerline.zsh' ]; then if ! echo $TTY | grep -q '^/dev/tty' && [ "$TERM" != "linux" ] && [ -e '/usr/share/powerline/bindings/zsh/powerline.zsh' ]; then . /usr/share/powerline/bindings/zsh/powerline.zsh fi