# FORK FROM OH MY ZSH ZSH_CACHE_DIR="$OMZ/cache" SHORT_HOST=${HOST/.*/} autoload -Uz add-zsh-hook zmodload -i zsh/complist unsetopt correct autoload -U compaudit compinit autoload -U compinit && compinit setopt auto_pushd setopt pushd_ignore_dups setopt pushdminus alias -g ...='../..' alias -g ....='../../..' alias -g .....='../../../..' alias -g ......='../../../../..' alias -- -='cd -' alias 1='cd -' alias 2='cd -2' alias 3='cd -3' alias 4='cd -4' alias 5='cd -5' alias 6='cd -6' alias 7='cd -7' alias 8='cd -8' alias 9='cd -9' alias md='mkdir -p' alias rd=rmdir function d () { if [[ -n $1 ]]; then dirs "$@" else dirs -v | head -10 fi } compdef _dirs d ls --color=tty . &>/dev/null && alias ls='ls --color=tty' || alias ls='ls -G' alias lsa='ls -lah' alias l='ls -lah' alias ll='ls -lh' alias la='ls -lAh' grep-flag-available() { echo | grep $1 "" >/dev/null 2>&1 } GREP_OPTIONS="" if grep-flag-available --color=auto; then GREP_OPTIONS+=" --color=auto" fi VCS_FOLDERS="{.bzr,CVS,.git,.hg,.svn}" if grep-flag-available --exclude-dir=.cvs; then GREP_OPTIONS+=" --exclude-dir=$VCS_FOLDERS" elif grep-flag-available --exclude=.cvs; then GREP_OPTIONS+=" --exclude=$VCS_FOLDERS" fi alias grep="grep $GREP_OPTIONS" unset GREP_OPTIONS unset VCS_FOLDERS unfunction grep-flag-available function omz_history { local clear list zparseopts -E c=clear l=list if [[ -n "$clear" ]]; then # if -c provided, clobber the history file echo -n >| "$HISTFILE" echo >&2 History file deleted. Reload the session to see its effects. elif [[ -n "$list" ]]; then # if -l provided, run as if calling `fc' directly builtin fc "$@" else [[ ${@[-1]-} = *[0-9]* ]] && builtin fc -l "$@" || builtin fc -l "$@" 1 fi } case ${HIST_STAMPS-} in "mm/dd/yyyy") alias history='omz_history -f' ;; "dd.mm.yyyy") alias history='omz_history -E' ;; "yyyy-mm-dd") alias history='omz_history -i' ;; "") alias history='omz_history' ;; *) alias history="omz_history -t '$HIST_STAMPS'" ;; esac HISTFILE="$OMZ/cache/zshhistory" HISTSIZE=50000 SAVEHIST=10000 setopt extended_history setopt hist_expire_dups_first setopt hist_ignore_dups setopt hist_ignore_space setopt hist_verify setopt inc_append_history setopt share_history if (( ${+terminfo[smkx]} )) && (( ${+terminfo[rmkx]} )); then function zle-line-init() { echoti smkx } function zle-line-finish() { echoti rmkx } zle -N zle-line-init zle -N zle-line-finish fi bindkey -e # Use emacs key bindings bindkey '\ew' kill-region # [Esc-w] - Kill from the cursor to the mark bindkey -s '\el' 'ls\n' # [Esc-l] - run command: ls bindkey '^r' history-incremental-search-backward # [Ctrl-r] - Search backward incrementally for a specified string. The string may begin with ^ to anchor the search to the beginning of the line. if [[ "${terminfo[kpp]}" != "" ]]; then bindkey "${terminfo[kpp]}" up-line-or-history # [PageUp] - Up a line of history fi if [[ "${terminfo[knp]}" != "" ]]; then bindkey "${terminfo[knp]}" down-line-or-history # [PageDown] - Down a line of history fi if [[ "${terminfo[kcuu1]}" != "" ]]; then autoload -U up-line-or-beginning-search zle -N up-line-or-beginning-search bindkey "${terminfo[kcuu1]}" up-line-or-beginning-search fi if [[ "${terminfo[kcud1]}" != "" ]]; then autoload -U down-line-or-beginning-search zle -N down-line-or-beginning-search bindkey "${terminfo[kcud1]}" down-line-or-beginning-search fi if [[ "${terminfo[khome]}" != "" ]]; then bindkey "${terminfo[khome]}" beginning-of-line # [Home] - Go to beginning of line fi if [[ "${terminfo[kend]}" != "" ]]; then bindkey "${terminfo[kend]}" end-of-line # [End] - Go to end of line fi bindkey ' ' magic-space # [Space] - do history expansion bindkey '^[[1;5C' forward-word # [Ctrl-RightArrow] - move forward one word bindkey '^[[1;5D' backward-word # [Ctrl-LeftArrow] - move backward one word if [[ "${terminfo[kcbt]}" != "" ]]; then bindkey "${terminfo[kcbt]}" reverse-menu-complete # [Shift-Tab] - move through the completion menu backwards fi bindkey '^?' backward-delete-char # [Backspace] - delete backward if [[ "${terminfo[kdch1]}" != "" ]]; then bindkey "${terminfo[kdch1]}" delete-char # [Delete] - delete forward else bindkey "^[[3~" delete-char bindkey "^[3;5~" delete-char bindkey "\e[3~" delete-char fi autoload -U edit-command-line zle -N edit-command-line bindkey '\C-x\C-e' edit-command-line bindkey "^[m" copy-prev-shell-word bindkey '^H' backward-kill-word autoload -U colors && colors setopt auto_cd setopt multios setopt prompt_subst function git_prompt_info() { local ref if [[ "$(command git config --get oh-my-zsh.hide-status 2>/dev/null)" != "1" ]]; then ref=$(command git symbolic-ref HEAD 2> /dev/null) || \ ref=$(command git rev-parse --short HEAD 2> /dev/null) || return 0 echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX" fi } function parse_git_dirty() { local STATUS local -a FLAGS FLAGS=('--porcelain') FLAGS+="--ignore-submodules=${GIT_STATUS_IGNORE_SUBMODULES:-dirty}" STATUS=$(command git status ${FLAGS} 2> /dev/null | tail -n1) if [[ -n $STATUS ]]; then echo "$ZSH_THEME_GIT_PROMPT_DIRTY" else echo "$ZSH_THEME_GIT_PROMPT_CLEAN" fi }