]> Sergey Matveev's repositories - dotfiles.git/blobdiff - zsh/.zshrc
Shorter find fzf command
[dotfiles.git] / zsh / .zshrc
index 42dbbb4121d75b67a0d530b3837dcb97b4737d45..cede543bcdc428b2619810e2c6b52bb67038f961 100644 (file)
@@ -5,6 +5,7 @@ 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
@@ -13,7 +14,7 @@ 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|mmfileget *|arr|rss)"
+HISTORY_IGNORE="(yt* *|t *|t|sdcv *|mmfileget *|arr)"
 # }}}
 
 # Vi mode {{{
@@ -82,6 +83,8 @@ alias m="less "
 alias -g M="| less"
 alias -g W="| wc -l"
 alias mc="mc --nomouse"
+alias sent="mutt -f =sent-\`date '+%y-%m'\`"
+alias zc=~/bin/dc-wrapped.sh
 
 f() {
     # find . -name "*$1*" -print
@@ -116,21 +119,22 @@ 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"
 
-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 "\eOR" " 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}
@@ -159,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 "\eOP" " inc\n" # F1
 # }}}
 
-# Calculator {{{
-autoload -U zcalc
-alias zc="zcalc"
-# }}}
-
 # Named directories {{{
 . ~/.zhashd
 # }}}
@@ -195,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"
@@ -210,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 -o -type l"
+export FZF_ALT_C_COMMAND=_fzf_find
+
+. ~/work/fzf/shell/key-bindings.zsh
+# }}}