]> Sergey Matveev's repositories - dotfiles.git/blobdiff - zsh/.zshrc
redo related
[dotfiles.git] / zsh / .zshrc
index 0756acccf4c46ebd56138eff6ad1fa52018fcd75..b3c8d6c7422435ab09737575b6f7bf5c9d1929a8 100644 (file)
@@ -1,8 +1,6 @@
 # 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
@@ -12,6 +10,12 @@ 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|mmfileget *|arr|rss)"
+# }}}
+
 # Vi mode {{{
 bindkey -v
 export KEYTIMEOUT=1
@@ -34,9 +38,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 +56,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,6 +80,7 @@ alias vi="vim"
 alias more="less"
 alias m="less "
 alias -g M="| less"
+alias -g W="| wc -l"
 alias mc="mc --nomouse"
 bindkey -s "\eOS" " popd\n" # F4
 
@@ -93,7 +103,6 @@ alias Gd="git diff"
 alias Gs="git show"
 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"