add plugin:percol (#4582)
* add plugin:percol * fix format * check percol * fix empty history in gnome terminalmaster
parent
55ab532e50
commit
ac0d71467b
2 changed files with 45 additions and 0 deletions
@ -0,0 +1,23 @@ |
|||||||
|
## percol |
||||||
|
|
||||||
|
Provides some useful function to make [percol](https://github.com/mooz/percol) work with zsh history and [jump plugin](https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/jump/jump.plugin.zsh) |
||||||
|
|
||||||
|
### Preview |
||||||
|
 |
||||||
|
|
||||||
|
### Requirements |
||||||
|
|
||||||
|
```shell |
||||||
|
pip install percol |
||||||
|
``` |
||||||
|
|
||||||
|
And [jump](https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/jump/jump.plugin.zsh) for `oh-my-zsh` is a optional requirement. |
||||||
|
|
||||||
|
### Usage |
||||||
|
|
||||||
|
For default |
||||||
|
|
||||||
|
- `^-r` bind to `percol_select_history`.You can use it to grep your history with percol. |
||||||
|
|
||||||
|
- `^-b` bind to `percol_select_marks`.You can use it to grep your bookmarks with percol. |
||||||
|
|
||||||
@ -0,0 +1,22 @@ |
|||||||
|
if which percol &> /dev/null; then |
||||||
|
function percol_select_history() { |
||||||
|
local tac |
||||||
|
which gtac &> /dev/null && tac="gtac" || { which tac &> /dev/null && tac="tac" || { tac="tail -r" } } |
||||||
|
BUFFER=$(fc -l -n 1 | eval $tac | percol --query "$LBUFFER") |
||||||
|
CURSOR=$#BUFFER |
||||||
|
zle -R -c |
||||||
|
} |
||||||
|
|
||||||
|
zle -N percol_select_history |
||||||
|
bindkey '^R' percol_select_history |
||||||
|
|
||||||
|
if which marks &> /dev/null; then |
||||||
|
function percol_select_marks() { |
||||||
|
BUFFER=$(marks | percol --query "$LBUFFER" | awk '{print $3}') |
||||||
|
CURSOR=$#BUFFER # move cursor |
||||||
|
zle -R -c # refresh |
||||||
|
} |
||||||
|
zle -N percol_select_marks |
||||||
|
bindkey '^B' percol_select_marks |
||||||
|
fi |
||||||
|
fi |
||||||
Loading…
Reference in new issue