dotfiles/.zshrc

90 lines
2.6 KiB
Bash

# vim:sts=2:sw=2:ft=zsh
# Base directories for dotfiles.
export DOTFILES=~/.dotfiles
# Autocompletion
export FPATH=$DOTFILES/zsh/functions:$FPATH
# Enables base completion
autoload -Uz compaudit compinit vcs_info
compinit
zstyle ':vcs_info:*' enable git svn
#precmd() {
# vcs_info
#}
setopt prompt_subst
setopt correct # Auto correct mistakes
setopt extendedglob # allows regexp with *
setopt nocaseglob # Case insensitive globbing
setopt rcexpandparam # array expansion with parameters
setopt nocheckjobs # No warn about running processes on exiting
setopt nobeep
setopt appendhistory
setopt histignorealldups
setopt autocd
setopt inc_append_history
setopt histignorespace # Ignore putting in history commands beginning with a space
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Zaz}' # Case insensitive completion
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" # Color completion
zstyle ':completion:*' rehash true # automatically updates new paths
# Speed completion
zstyle ':completion:*' accept-exact '*(N)'
zstyle ':completion:*' use-cache on
zstyle ':completion:*' cache-path ~/.zsh/cache
# History
HISTFILE=~/.zhistory
HISTSIZE=10000
SAVEHIST=10000
WORDCHARS=${WORDCHARS//\/[&.;]}
# Color man pages
export LESS_TERMCAP_mb=$'\E[01;32m'
export LESS_TERMCAP_md=$'\E[01;32m'
export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m'
export LESS_TERMCAP_so=$'\E[01;47;34m'
export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[01;36m'
export LESS=-R
# zsh packages from system
if uname -a | grep -qi 'debian'; then
# For Debian, it requires two packages
if [ -e /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh ]; then
source /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh
fi
if [ -e /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh ]; then
source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
fi
#
# Theme
source $DOTFILES/zsh/themes/gentoo.zsh-theme
elif uname -a | grep -qi '\(arch\|manjaro\)'; then
# Archlinux or manjaro
if [ -e /usr/share/zsh/manjaro-zsh-config ]; then
source /usr/share/zsh/manjaro-zsh-config
fi
if [ -e /usr/share/zsh/manjaro-zsh-prompt ]; then
source /usr/share/zsh/manjaro-zsh-prompt
fi
fi
# Plugins
for plugin in `find $DOTFILES -type f -iname \*.plugin.zsh -print`; do
source $plugin
done
# EDITOR
export EDITOR="/usr/bin/vim"
# FZF default options
export FZF_DEFAULT_OPTS="--multi --no-mouse --ansi --color=dark"
# Loading rvm if exists
[ -f /etc/profile.d/rvm.sh ] && source /etc/profile.d/rvm.sh
# Loading additional aliases
source ~/.dotfiles/zsh/aliases/*.aliases.zsh