feat(completion): switch from peco to fzf for command history completion

And also setup and configure fzf zsh plugins:

- ctrl+r searches shell history.
- ctrl+t searches for files and folders by name recursively within
  current directory while previewing highlighted item via less.
- alt+c recursively lists directories within current directory, and
  changes to the selected directory.
This commit is contained in:
2021-08-30 22:21:39 +01:00
parent 3905c4a893
commit 08a42fc019
2 changed files with 19 additions and 2 deletions

18
zsh/fzf.zsh Normal file
View File

@@ -0,0 +1,18 @@
#
# fzf
#
export FZF_DEFAULT_OPTS="--bind=ctrl-k:kill-line --border=none --tabstop=4"
export FZF_TMUX_HEIGHT=100%
export FZF_TMUX=0
export FZF_CTRL_T_OPTS="--preview='less {}'"
# Install fzf binary from latest GitHub Release.
zinit ice from'gh-r' as'program' pick'fzf'
zinit light junegunn/fzf
# Install fzf-tmux command and zsh plugins from default branch on GitHub.
zinit ice from'gh' as'program' pick'bin/fzf-tmux' \
multisrc'shell/{completion,key-bindings}.zsh' \
id-as'junegunn/fzf-extras'
zinit light junegunn/fzf

3
zshrc
View File

@@ -59,8 +59,6 @@ zinit snippet OMZ::plugins/bundler
zinit ice pick'plain.zsh-theme'
zinit light jimeh/plain.zsh-theme
zinit ice wait lucid
zinit light jimeh/zsh-peco-history
zinit ice wait lucid atinit"ZINIT[COMPINIT_OPTS]=-C; zicompinit; zicdreplay"
zinit light zdharma/fast-syntax-highlighting
@@ -113,6 +111,7 @@ if [[ "$OSTYPE" == "linux"* ]]; then source "$DOTZSH/linux.zsh"; fi
# Utils
source "$DOTZSH/emacs.zsh"
source "$DOTZSH/fzf.zsh"
source "$DOTZSH/git.zsh"
source "$DOTZSH/less.zsh"
source "$DOTZSH/rclone.zsh"