添加默认fzf ctrl-r 查找并执行history

This commit is contained in:
chenyc 2023-06-27 16:18:18 +08:00
parent e66dc3cd3f
commit 7fbce52dde
4 changed files with 32 additions and 12 deletions

View File

@ -2,14 +2,14 @@
* [o╦╗](#o) * [o╦╗](#o)
* [FUTURES](#futures) * [FUTURES](#futures)
* [USAGE](#usage) * [USAGE](#usage)
* [UPDATE](#update) * [UPDATE](#update)
* [FILE TREE](#file-tree) * [FILE TREE](#file-tree)
* [REQUIRES](#requires) * [REQUIRES](#requires)
* [CONFIGURATION](#configuration) * [CONFIGURATION](#configuration)
* [PLUGINS](#plugins) * [PLUGINS](#plugins)
* [贡献者](#贡献者) * [贡献者](#贡献者)
* [Support: buy me a coffee](#support-buy-me-a-coffee) * [Support: buy me a coffee](#support-buy-me-a-coffee)
<!-- markdown-toc --> <!-- markdown-toc -->
@ -105,6 +105,10 @@ _OMZ_APPLY_CHPWD_HOOK
行为: 行为:
1. 载入时会自动切换到上一次cd过的目录 1. 载入时会自动切换到上一次cd过的目录
2. 发生cd命令时自动记录当前cd的目录(在缓存文件中) 2. 发生cd命令时自动记录当前cd的目录(在缓存文件中)
_OMZ_APPLY_HISTORYBYFZF
是否允许fzf管理ctrl_r快捷键
默认true
``` ```
## PLUGINS ## PLUGINS

View File

@ -1,5 +1,5 @@
export RUNEWIDTH_EASTASIAN=0 export RUNEWIDTH_EASTASIAN=0
export FZF_DEFAULT_OPTS="--height 12 --scrollbar=▌▐ --info=inline-right --margin=1 --layout=reverse --history=$OMZ/cache/fzfhistory" export FZF_DEFAULT_OPTS="--height 12 --scrollbar=▌▐ --info=inline-right --layout=reverse --history=$OMZ/cache/fzfhistory"
export FZF_DEFAULT_COMMAND="fd --exclude={.git,.idea,.vscode,.sass-cache,node_modules,build,dist,vendor} --type f" export FZF_DEFAULT_COMMAND="fd --exclude={.git,.idea,.vscode,.sass-cache,node_modules,build,dist,vendor} --type f"
export FZF_PREVIEW_COMMAND='bash $OMZ/lib/file_preview.sh {}' export FZF_PREVIEW_COMMAND='bash $OMZ/lib/file_preview.sh {}'
@ -22,3 +22,17 @@ zstyle ':fzf-tab:complete:git-show:*' fzf-preview 'git show --color=always $word
zstyle ':fzf-tab:complete:git-checkout:*' fzf-preview '[ -f "$realpath" ] && git diff --color=always $word || git log --color=always $word' zstyle ':fzf-tab:complete:git-checkout:*' fzf-preview '[ -f "$realpath" ] && git diff --color=always $word || git log --color=always $word'
zstyle ':fzf-tab:complete:*:*' fzf-preview 'bash $OMZ/lib/file_preview.sh ${(Q)realpath}' zstyle ':fzf-tab:complete:*:*' fzf-preview 'bash $OMZ/lib/file_preview.sh ${(Q)realpath}'
zstyle ':fzf-tab:complete:*:*' fzf-flags --height=12 zstyle ':fzf-tab:complete:*:*' fzf-flags --height=12
_apply_historybyfzf() {
function historybyfzf (){
if [ $#LBUFFER -gt 0 ]; then
BUFFER=$(history -n | awk '!seen [$0]++' | fzf --query $LBUFFER)
else
BUFFER=$(history -n | awk '!seen [$0]++' | fzf)
fi
CURSOR=$#BUFFER
zle redisplay
}
zle -N historybyfzf
bindkey '^r' historybyfzf
}

View File

@ -11,6 +11,3 @@ _apply_chpwd_hook() {
currentdir=$(cat $OMZ/cache/currentdir 2>/dev/null) currentdir=$(cat $OMZ/cache/currentdir 2>/dev/null)
[ -d "$currentdir" ] && cd $currentdir [ -d "$currentdir" ] && cd $currentdir
} }
[ "$_OMZ_APPLY_PREEXEC_HOOK" = "true" ] && _apply_preexec_hook
[ "$_OMZ_APPLY_CHPWD_HOOK" = "true" ] && _apply_chpwd_hook

View File

@ -4,3 +4,8 @@ source $OMZ/config/git.zsh
source $OMZ/config/fzf.zsh source $OMZ/config/fzf.zsh
source $OMZ/config/hook.zsh source $OMZ/config/hook.zsh
source $OMZ/themes/simple.zsh-theme source $OMZ/themes/simple.zsh-theme
# configuration
[ "$_OMZ_APPLY_PREEXEC_HOOK" = "true" ] && _apply_preexec_hook # file: $OMZ/config/hook.zsh
[ "$_OMZ_APPLY_CHPWD_HOOK" = "true" ] && _apply_chpwd_hook # file: $OMZ/config/hook.zsh
[ "$_OMZ_APPLY_HISTORYBYFZF" = "false" ] || _apply_historybyfzf # file: $OMZ/config/fzf.zsh