ohmyzsh/zshrc
2015-01-30 11:03:47 +01:00

170 lines
4.6 KiB
Bash

# ezzsh - zshrc
# path to your zsh configuration.
ZSH=.zsh
# export ZSH_THEME="random"
# export ZSH_THEME="ezzsh" # name of zsh theme
export ZSH_THEME="powerline" # name of zsh theme
# Set this to true to use case-sensitive completion
CASE_SENSITIVE="false" # bool
# Comment this out to disable weekly auto-update checks
DISABLE_AUTO_UPDATE="true" # bool
# Uncomment following line if you want to disable colors in ls
DISABLE_LS_COLORS="false" # bool
# Uncomment following line if you want to disable autosetting terminal title.
DISABLE_AUTO_TITLE="false" # bool
# Uncomment following line if you want disable red dots displayed while waiting for completion
DISABLE_COMPLETION_WAITING_DOTS="true" # bool
# plugins to load (array)
# Example format: plugins=(rails git textmate ruby lighthouse)
plugins=(git)
# Customize to your needs...
source $ZSH/zsh
alias ls='ls --color=auto --group-directories-first -F'
# workaround for broken xfce4 terminal to force $TERM:
if [[ "$COLORTERM" == "xfce4-terminal" ]]; then
export TERM="xterm-256color"
fi
# workaround for rxvt
if [[ "$COLORTERM" == "rxvt-xpm" ]]; then
export TERM="rxvt-unicode-256color"
fi
# set $OS_TYPE to "osx" / "linux":
if [[ "$(uname)" == "Darwin" ]]; then
export OS_TYPE="osx"
else
export OS_TYPE="linux"
fi
# $ZSH - Path to your zsh installation.
export ZSH=$HOME/.zsh/
export PATH=$HOME/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin:/sbin:$PATH
# set $EDITOR
export EDITOR='vim'
# man pages: color
export LESS_TERMCAP_mb=$'\E[01;31m'
export LESS_TERMCAP_md=$'\E[01;33m'
export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m'
export LESS_TERMCAP_so=$'\E[01;44;33m'
export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[01;32m'
# zsh fix for ssh host completion from ~/.ssh/config
[ -f ~/.ssh/config ] && : ${(A)ssh_config_hosts:=${${${${(@M)${(f)"$(<~/.ssh/config)"}:#Host *}#Host }:#*\**}:#*\?*}}
# needed to keep backgrounded jobs running when exiting zsh:
setopt NO_HUP
# homebrew
# githup api token, in the format, example:
# > export HOMEBREW_GITHUB_API_TOKEN=XXXXX
if [[ -e ~/.homebrew-github-api-token ]]; then
source ~/.homebrew-github-api-token
fi
# mosh setup
# export MOSH_TITLE_NOPREFIX=1
# jump/mark/unmark/marks stuff (make sure to load the "jump" plugin in plugins=() )
function _completemarks {
reply=($(ls $MARKPATH))
}
compctl -K _completemarks jump
compctl -K _completemarks unmark
# force english locales
export LC_CTYPE="en_US.UTF-8"
export LC_NUMERIC="en_US.UTF-8"
export LC_TIME="en_US.UTF-8"
export LC_COLLATE="en_US.UTF-8"
export LC_MONETARY="en_US.UTF-8"
export LC_MESSAGES="en_US.UTF-8"
export LC_PAPER="en_US.UTF-8"
export LC_NAME="en_US.UTF-8"
export LC_ADDRESS="en_US.UTF-8"
export LC_TELEPHONE="en_US.UTF-8"
export LC_MEASUREMENT="en_US.UTF-8"
export LC_IDENTIFICATION="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
# set ls options
LS_OPTIONS="--color=auto --group-directories-first -F"
# Mac OS X specific stuff:
if [[ "$OS_TYPE" == "osx" ]]; then
# preceed path with homebrew stuff:
export PATH="/usr/local/sbin:/usr/local/bin:$PATH"
# ipython on mac:
alias ipython='/Users/armin/git/ipython/bin/ipython'
# homebrew verbosity / emoji icon removal:
export HOMEBREW_VERBOSE=1
export HOMEBREW_CURL_VERBOSE=1
export HOMEBREW_NO_EMOJI=1
# let's use ls from gnu utils because the bsd ls doesn't know long options:
if hash gls; then
LS_COMMAND="gls"
else
LS_COMMAND="ls"
fi
# homebrew verbose and without annoying emoji icon:
export HOMEBREW_VERBOSE=1
export HOMEBREW_CURL_VERBOSE=1
export HOMEBREW_NO_EMOJI=1
# let's use dircolors from gnu utils because the osx version is buggy:
alias dircolors="gdircolors"
# Linux specific stuff
else
LS_COMMAND="ls"
fi
# enable ls colorization:
if [ "$TERM" != "dumb" ]; then
eval "$(dircolors "$ZSH"/dircolors)"
alias ls="$LS_COMMAND $LS_OPTIONS"
fi
# set $SHELL:
export SHELL="$(which zsh)"
# keychain stuff
if [[ "$OS_TYPE" == "linux" ]]; then
ssh_cmd="$(which ssh)"
function ssh () {
echo "$@" >> $HOME/.keychain-args
echo "$(date)" > $HOME/.keychain-output
# using keychain for gpg made problems, so we only use the id_rsa SSH key here:
# keychain id_rsa 44248BA0
keychain id_rsa >> $HOME/.keychain-output 2>&1
[ -z "$HOSTNAME" ] && HOSTNAME=`uname -n`
[ -f $HOME/.keychain/$HOSTNAME-sh ] && \
. $HOME/.keychain/$HOSTNAME-sh
[ -f $HOME/.keychain/$HOSTNAME-sh-gpg ] && \
. $HOME/.keychain/$HOSTNAME-sh-gpg
"$ssh_cmd" "$@"
}
fi
# grep with color
alias grep='grep --color=auto'
# don't autocorrect sudo command (fixes "zsh: correct 'vim' to '.vim' [nyae]?" bug)
alias sudo='nocorrect sudo'