mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-03-13 03:12:21 +01:00
170 lines
4.6 KiB
Bash
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'
|
|
|
|
|