aboutsummaryrefslogtreecommitdiffstats
path: root/_zsh/50-history.zsh
blob: 8b15561fd08817f2db2c093df1cc6dff56a09d9b (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
#
# zsh/history.zsh
#

HISTFILE=~/.zsh_history

HISTSIZE=10000
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
    bindkey '^R' percol_select_history
fi

# vim: set ts=8 sw=4 tw=0 fenc=utf-8 ft=zsh: #