X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=zsh%2F.zshrc;h=27a1bde2de5d70f12f08f26cb86c562eee96def7;hb=39b82358c5ab5ae59e607ab4c50f8cf866296d96;hp=0756acccf4c46ebd56138eff6ad1fa52018fcd75;hpb=1870931657239216f097193281d52014d34fa903;p=dotfiles.git diff --git a/zsh/.zshrc b/zsh/.zshrc index 0756acc..27a1bde 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -1,17 +1,22 @@ # vim: foldmethod=marker:foldlevel=0 # Basic options {{{ -setopt APPEND_HISTORY SHARE_HISTORY INC_APPEND_HISTORY HIST_IGNORE_ALL_DUPS -setopt HIST_IGNORE_SPACE 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 @@ -34,9 +39,14 @@ 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 -bindkey "^R" history-incremental-pattern-search-backward -HISTORY_IGNORE="(yt* *|t *|t|mmfileget *)" +beginning-history-incremental-pattern-search-backward() { + zle history-incremental-pattern-search-backward $(echo $BUFFER | sed "s/ /*/g") +} +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 {{{ @@ -47,7 +57,7 @@ function zle-line-init zle-keymap-select { prompt+="%U${timer_show}%u|" prompt+="%B%?%b" prompt+="${mode_vi}" - prompt+="%F{magenta}%#%f " + prompt+="%B%F{magenta}%#%f%b " PS1="$prompt" zle reset-prompt } @@ -71,8 +81,10 @@ alias vi="vim" alias more="less" alias m="less " alias -g M="| less" +alias -g W="| wc -l" alias mc="mc --nomouse" -bindkey -s "OS" " popd\n" # F4 +alias sent="mutt -f =sent-\`date '+%y-%m'\`" +alias zc=~/bin/dc-wrapped.sh f() { # find . -name "*$1*" -print @@ -85,28 +97,44 @@ ssht() { alias sshnm="ssh -S none" # }}} +# Faster movement {{{ +cddotdot() { + cd .. + pwd + zle reset-prompt +} +zle -N cddotdot +bindkey "OQ" cddotdot # F2 + +pushdquiet() { + popd + zle reset-prompt +} +zle -N pushdquiet +bindkey "OS" pushdquiet # F4 +# }}} + # Git {{{ alias Ga="git add" alias Gb="git branch" alias Gc="git checkout" alias Gd="git diff" -alias Gs="git show" +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 -g W="| wc -l" -git_common="--oneline --abbrev-commit" -alias Gl="git log $git_common --graph --decorate=short" -alias Gr="git --no-pager log $git_common -n 20 | perl -ne 'print \"@~\$n \$_\"; \$n++'" -alias Grr="git --no-pager log $git_common --graph -n 1024 | vi -c 'setlocal filetype=gitrebase buftype=nofile noswapfile' -" +alias Gl="git log --oneline --graph --decorate=short" +alias Gld="git log --format=format:'%ai %Cgreen%h%Creset %s'" +alias Gr="git --no-pager log --oneline -n 20 | perl -ne 'print \"@~\$n \$_\"; \$n++'" +alias Grr="git --no-pager log --oneline --graph -n 1024 | vi -c 'setlocal filetype=gitrebase buftype=nofile noswapfile' -" -bindkey -s "OQ" " git status\n" # F2 bindkey -s "OR" " git status --short\n" # F3 # }}} # grep {{{ GREP=/usr/local/bin/grep -GREP_ARGS="--color=always --with-filename --line-number --recursive" +GREP_ARGS="--color=always --with-filename --line-number --dereference-recursive" LESS_COLORED="less --RAW-CONTROL-CHARS" g() { $GREP ${=GREP_ARGS} $@ | ${=LESS_COLORED} @@ -135,15 +163,9 @@ mailpath=( ~/mail/arbeit"?Neue Nachrichten in =arbeit" ) alias arr="mutt -f \=arbeit -e 'source ~/.mutt/accounts/stcnet.ru'" -alias rss="mutt -f \=rss" bindkey -s "OP" " inc\n" # F1 # }}} -# Calculator {{{ -autoload -U zcalc -alias zc="zcalc" -# }}} - # Named directories {{{ . ~/.zhashd # }}} @@ -171,11 +193,12 @@ autoload -U complist ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets) . ~/work/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh typeset -A ZSH_HIGHLIGHT_STYLES -ZSH_HIGHLIGHT_STYLES[assign]="fg=cyan" +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" @@ -186,3 +209,19 @@ ZSH_HIGHLIGHT_STYLES[path_pathseparator]="fg=white,bold,underline" . ~/work/zsh-autosuggestions/zsh-autosuggestions.zsh ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=cyan" # }}} + +# fzf {{{ +alias -g PE="| pe" + +export FZF_DEFAULT_OPTS="--color=16 --info=inline --preview='less -N -S {}'" + +_fzf_find() { + find . \( -path "*/\.git" -o -fstype devfs -o -fstype procfs \) -prune \ + -o -type d -print $@ 2>/dev/null | cut -b3- +} + +export FZF_CTRL_T_COMMAND="_fzf_find -o -type f -print -o -type l -print" +export FZF_ALT_C_COMMAND=_fzf_find + +. ~/work/fzf/shell/key-bindings.zsh +# }}}