blob: 1d294f6b15dac93019a95537a07a23465777e9bd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#
# zsh/history.zsh
# see zshparam(1)
#
HISTFILE=~/.zsh_history
HISTSIZE=9000
SAVEHIST=9000
# ignore these commands without arguments
HISTIGNORE="cd:ls:ll"
# Combine history search with `percol`
# Credit: https://github.com/mooz/percol
if exists percol; then
function percol_select_history() {
local tac
exists gtac && tac="gtac" || {
exists tac && tac="tac" || {
tac="tail -r" } }
BUFFER=$(fc -l -n 1 | eval ${tac} | percol --query "${LBUFFER}")
CURSOR=${#BUFFER} # move cursor
zle -R -c # refresh
}
zle -N percol_select_history
# Override the bindkey settings in `60-bindkeys.zsh`
bindkey '^R' percol_select_history
# Override the bindkey settings in `50-vi-mode.zsh`
bindkey -M viins '^r' percol_select_history
bindkey -M vicmd '^r' percol_select_history
fi
# vim: set ts=8 sw=4 tw=0 fenc=utf-8 ft=zsh: #
|