X-Git-Url: http://www.git.stargrave.org/?p=dotfiles.git;a=blobdiff_plain;f=zsh%2F.zshrc;h=55c0ce110ab829e4724f93f65cd97fdc9f938db9;hp=06e1c5e1f04bab1257788fed6e8251db637a1a0f;hb=HEAD;hpb=ca4043039b38d4394e2a100a16df22327453d362 diff --git a/zsh/.zshrc b/zsh/.zshrc index 06e1c5e..55c0ce1 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -1,228 +1 @@ -# vim: foldmethod=marker:foldlevel=0 - -# Basic options {{{ -setopt INTERACTIVE_COMMENTS -setopt GLOB_STAR_SHORT GLOB_DOTS EXTENDED_GLOB -setopt NO_NOMATCH -setopt AUTO_PUSHD PUSHD_IGNORE_DUPS -setopt PIPE_FAIL - -setopt RM_STAR_SILENT -export LISTMAX=9999 -# }}} - -# History options {{{ -setopt APPEND_HISTORY SHARE_HISTORY INC_APPEND_HISTORY HIST_IGNORE_ALL_DUPS -setopt HIST_IGNORE_SPACE -HISTORY_IGNORE="(yt* *|t *|t|sdcv *|mmfileget *|arr)" -# }}} - -# Vi mode {{{ -bindkey -v -export KEYTIMEOUT=1 -# }}} - -# Home/end {{{ -bindkey "^[[1~" beginning-of-line # Home -bindkey "^[[4~" end-of-line # End -# }}} - -# Command-line editing {{{ -autoload -U edit-command-line -zle -N edit-command-line -bindkey -M vicmd v edit-command-line -# }}} - -# History search {{{ -autoload -U history-search-end -zle -N history-beginning-search-backward-end history-search-end -zle -N history-beginning-search-forward-end history-search-end -bindkey "^[[A" history-beginning-search-backward-end -bindkey "^[[B" history-beginning-search-forward-end - -beginning-history-incremental-pattern-search-backward() { - zle history-incremental-pattern-search-backward ${BUFFER:gs/ /*/} -} -zle -N beginning-history-incremental-pattern-search-backward -bindkey "^[[1;2A" beginning-history-incremental-pattern-search-backward -bindkey -M isearch "^[[A" history-incremental-pattern-search-backward -bindkey -M isearch "^[[B" history-incremental-pattern-search-forward -# }}} - -# Prompt {{{ -function zle-line-init zle-keymap-select { - mode_vi=${${KEYMAP/vicmd/+}/(main|viins)/-} - [[ $timer ]] && timer_show=$(( $SECONDS - $timer )) - prompt="%2~|" - prompt+="%U${timer_show}%u|" - prompt+="%B%?%b" - prompt+="${mode_vi}" - prompt+="%B%F{magenta}%#%f%b " - PS1=$prompt - zle reset-prompt -} -zle -N zle-line-init -zle -N zle-keymap-select - -preexec() { - timer=$SECONDS -} - -precmd() { - printf "\a\033]2;\033\\" -} -# }}} - -# Aliases {{{ -alias l="ls -AF " -alias ll="ls -AFl " -alias ssh="TERM=xterm ssh" -alias vi="vim" -alias more="less" -alias m="less " -alias -g M="| less" -alias -g W="| wc -l | sed 's/ //g'" -alias mc="mc --nomouse" - -f() { - # find . -name "*$1*" -print - print -C 1 **$1* -} - -ssht() { - ssh -C -t $1 tmux attach -t0 -} -alias sshnm="ssh -S none" -# }}} - -# Faster movement {{{ -cddotdot() { - cd .. - pwd - zle reset-prompt -} -zle -N cddotdot -bindkey "OQ" cddotdot # F2 - -popdquiet() { - popd - zle reset-prompt -} -zle -N popdquiet -bindkey "OS" popdquiet # F4 -# }}} - -# Git {{{ -alias Ga="git add" -alias Gb="git branch" -alias Gc="git checkout" -alias Gd="git diff" -alias Gdc="git diff --cached" -alias Gs="git show --show-signature" -alias Gm="git diff --name-only --diff-filter=M" -alias Gam="git commit --amend" -alias Gl="git log --oneline --graph --decorate=short" -alias Gld="git log --format=format:'%ai %Cgreen%h%Creset %s'" - -bindkey -s "OR" " git status --short\n" # F3 -# }}} - -# grep {{{ -GREP_ARGS=( - --colour=always - --with-filename - --line-number - --dereference-recursive - --binary-files=without-match - --exclude-dir=.git - --exclude-dir=.tags -) -LESS_COLOURED=(less --RAW-CONTROL-CHARS) -g() { - grep $GREP_ARGS $@ | $LESS_COLOURED -} -GS() { - grep $GREP_ARGS $@ | sort --numeric-sort | $LESS_COLOURED -} -alias -g G="| grep --colour=always" -alias gg="git grep " -# }}} - -# GPG agent {{{ -export GPG_TTY=$(tty) -# }}} - -# Virtualenv {{{ -venv() { - . /usr/local/bin/virtualenvwrapper.sh -} -# }}} - -# Mail {{{ -mailpath=( - ~/mail/mbox"?Neue Nachrichten in =mbox" - ~/mail/arbeit"?Neue Nachrichten in =arbeit" -) -alias arr="mutt -f \=arbeit -e 'source ~/.mutt/accounts/stcnet.ru'" -alias sent="mutt -f =sent-\`date '+%y-%m'\`" -bindkey -s "OP" " inc\n" # F1 -# }}} - -# Completion {{{ -zstyle ":completion:*:functions" ignored-patterns "_*" -zstyle ":completion:*" matcher-list "" 'm:{a-z\-}={A-Z\_}' 'r:|?=** m:{a-z\-}={A-Z\_}' -_mycomp () { - [[ ${words[1]} != man ]] || { _man && return 0 } - [[ $CURRENT -eq 1 ]] && _command_names || _files && return 0 - # MAGIC_EQUAL_SUBST {{{ - [[ $PREFIX = *\=* ]] || return 1 - compstate[parameter]=${PREFIX%%\=*} - compset -P 1 "*=" - _value - # }}} -} -zstyle ":completion:*" completer _mycomp _parameters -autoload -U compinit ; compinit -d /tmp/.zcompdump -zstyle ":completion:*:default" list-colors "" -autoload -U complist -# }}} - -# Highlighting {{{ -ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets) -. ~/work/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh -typeset -A ZSH_HIGHLIGHT_STYLES -ZSH_HIGHLIGHT_STYLES[assign]="fg=yellow" -ZSH_HIGHLIGHT_STYLES[commandseparator]="fg=red" -ZSH_HIGHLIGHT_STYLES[single-hyphen-option]="fg=green,bold" -ZSH_HIGHLIGHT_STYLES[double-hyphen-option]="fg=green" -ZSH_HIGHLIGHT_STYLES[globbing]="fg=magenta" -ZSH_HIGHLIGHT_STYLES[global-alias]="fg=yellow,bold" -ZSH_HIGHLIGHT_STYLES[history-expansion]="fg=magenta" -ZSH_HIGHLIGHT_STYLES[redirection]="fg=red" -ZSH_HIGHLIGHT_STYLES[path]="fg=white,underline" -ZSH_HIGHLIGHT_STYLES[path_pathseparator]="fg=white,bold,underline" -# }}} - -# Autosuggestion {{{ -. ~/work/zsh-autosuggestions/zsh-autosuggestions.zsh -ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=cyan" -# }}} - -# fzf {{{ -cf() { - local dir=$(find -L ${1:-.} -mindepth 1 -path "*/\.git" -prune -o -type d -print | - fzf --height 40% --reverse --preview="tree -CN {}") - [[ -z $dir ]] || { print -s cd $dir ; cd $dir } -} -# }}} - -# Named directories {{{ -while read w ; do - w=(${(s/=/)w}) - hash -d ${w[1]}=${~${w[2]}} -done < ~/.zhashd -# }}} - -# autoenv {{{ -. ~/work/zsh-autoenv/autoenv.zsh -# }}} +for z (~/.zsh/rc/*(on)) . $z