#------------------------------------------------------------------# # File: .zshrc ZSH resource file # # Version: 0.1.16 # # Author: Øyvind "Mr.Elendig" Heggstad # #------------------------------------------------------------------# #----------------------------- # Source some stuff #----------------------------- if [[ -f /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh ]]; then . /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh fi BASE16_SHELL="$HOME/.config/base16-shell/base16-default.dark.sh" [[ -s $BASE16_SHELL ]] && source $BASE16_SHELL #------------------------------ # History stuff #------------------------------ HISTFILE=~/.histfile HISTSIZE=1000 SAVEHIST=1000 #------------------------------ # Variables #------------------------------ export BROWSER="chromium" export EDITOR="nvim" export PATH="${PATH}:${HOME}/bin:${HOME}/.cabal/bin" export GOPATH="$HOME/go" #----------------------------- # Dircolors #----------------------------- LS_COLORS='rs=0:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:'; export LS_COLORS #------------------------------ # Keybindings #------------------------------ bindkey -v typeset -g -A key bindkey '^?' backward-delete-char bindkey '^[[5~' up-line-or-history bindkey '^[[3~' delete-char bindkey '^[[6~' down-line-or-history bindkey '^[[A' up-line-or-search bindkey '^[[D' backward-char bindkey '^[[B' down-line-or-search bindkey '^[[C' forward-char bindkey "^[[H" beginning-of-line bindkey "^[[F" end-of-line #------------------------------ # Alias stuff #------------------------------ alias ls="ls --color -F" alias ll="ls --color -lh" alias spm="sudo pacman" alias gr="gvim --remote-silent" alias vr="vim --remote-silent" #------------------------------ # ShellFuncs #------------------------------ # -- coloured manuals man() { env \ LESS_TERMCAP_mb=$(printf "\e[1;31m") \ LESS_TERMCAP_md=$(printf "\e[1;31m") \ LESS_TERMCAP_me=$(printf "\e[0m") \ LESS_TERMCAP_se=$(printf "\e[0m") \ LESS_TERMCAP_so=$(printf "\e[1;44;33m") \ LESS_TERMCAP_ue=$(printf "\e[0m") \ LESS_TERMCAP_us=$(printf "\e[1;32m") \ man "$@" } #------------------------------ # Comp stuff #------------------------------ zmodload zsh/complist autoload -Uz compinit compinit zstyle :compinstall filename '${HOME}/.zshrc' #- buggy zstyle ':completion:*:descriptions' format '%U%B%d%b%u' zstyle ':completion:*:warnings' format '%BSorry, no matches for: %d%b' #-/buggy zstyle ':completion:*:pacman:*' force-list always zstyle ':completion:*:*:pacman:*' menu yes select zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} zstyle ':completion:*:*:kill:*' menu yes select zstyle ':completion:*:kill:*' force-list always zstyle ':completion:*:*:killall:*' menu yes select zstyle ':completion:*:killall:*' force-list always #------------------------------ # Window title #------------------------------ case $TERM in termite|*xterm*|rxvt|rxvt-unicode|rxvt-256color|rxvt-unicode-256color|(dt|k|E)term) precmd () { vcs_info print -Pn "\e]0;[%n@%M][%~]%#\a" } preexec () { print -Pn "\e]0;[%n@%M][%~]%# ($1)\a" } ;; screen|screen-256color) precmd () { vcs_info print -Pn "\e]83;title \"$1\"\a" print -Pn "\e]0;$TERM - (%L) [%n@%M]%# [%~]\a" } preexec () { print -Pn "\e]83;title \"$1\"\a" print -Pn "\e]0;$TERM - (%L) [%n@%M]%# [%~] ($1)\a" } ;; esac #------------------------------ # Prompt #------------------------------ autoload -U colors zsh/terminfo colors autoload -Uz vcs_info zstyle ':vcs_info:*' enable git hg zstyle ':vcs_info:*' check-for-changes true zstyle ':vcs_info:git*' formats "%{${fg[cyan]}%}[%{${fg[green]}%}%s%{${fg[cyan]}%}][%{${fg[blue]}%}%r/%S%%{${fg[cyan]}%}][%{${fg[blue]}%}%b%{${fg[yellow]}%}%m%u%c%{${fg[cyan]}%}]%{$reset_color%}" setprompt() { setopt prompt_subst if [[ -n "$SSH_CLIENT" || -n "$SSH2_CLIENT" ]]; then p_host='%F{yellow}%M%f' else p_host='%F{green}%M%f' fi PS1=${(j::Q)${(Z:Cn:):-$' %F{cyan}[%f %(!.%F{red}%n%f.%F{green}%n%f) %F{cyan}@%f ${p_host} %F{cyan}][%f %F{blue}%~%f %F{cyan}]%f %(!.%F{red}%#%f.%F{green}%#%f) " " '}} PS2=$'%_>' RPROMPT=$'${vcs_info_msg_0_}' } setprompt # vim: set ts=2 sw=2 et: