Author: "A simple zsh plugin to replace Ctrl-r with an fzf-driven, searchable list of history."
Go to file
Javi Merino 76c6588204 Add an option to remove dates from search
Let the user decide if they want full date timestamps in ISO8601
format in the search.
2022-05-12 07:01:53 +01:00
LICENSE add license 2020-08-21 23:01:21 -04:00
README.md Add an option to remove dates from search 2022-05-12 07:01:53 +01:00
zsh-fzf-history-search.plugin.zsh feat: add *.plugin.zsh (backwards compatible) 2021-08-31 02:09:15 +02:00
zsh-fzf-history-search.zsh Add an option to remove dates from search 2022-05-12 07:01:53 +01:00

zsh/fzf History Search

zsh-fzf-history-search plugin screenshot

A simple zsh plugin to replace Ctrl-r with an fzf-driven, searchable list of history.

Pull requests always appreciated!

Requirements

Installation

zinit

Add this to ~/.zshrc:

# zsh-fzf-history-search
zinit ice lucid wait'0'
zinit light joshskidmore/zsh-fzf-history-search

oh-my-zsh

Clone the repository inside your oh-my-zsh repo:

git clone https://github.com/joshskidmore/zsh-fzf-history-search ${ZSH_CUSTOM:=~/.oh-my-zsh/custom}/plugins/zsh-fzf-history-search

Enable it in your .zshrc by adding it to your plugin list:

plugins=(… zsh-fzf-history-search)

Configuration Variables

Variable Description
ZSH_FZF_HISTORY_SEARCH_BIND Keybind to trigger fzf reverse search (default: '^r')
ZSH_FZF_HISTORY_SEARCH_FZF_ARGS Arguments for fzf (might be updated, not recommended to override) (default: '+s +m -x -e')
ZSH_FZF_HISTORY_SEARCH_FZF_EXTRA_ARGS Extra arguments for fzf (default: '')
ZSH_FZF_HISTORY_SEARCH_END_OF_LINE Put the cursor on at the end of the line after completion, empty=false (default: '')
ZSH_FZF_HISTORY_SEARCH_EVENT_NUMBERS Include event numbers in search. Set to 0 to remove event numbers from the search. (default: 1)
ZSH_FZF_HISTORY_SEARCH_DATES_IN_SEARCH Include ISO8601 timestamps in search. Set to 0 to remove them from the search. (default: 1)

TODO

  • use fzf's keybindings for additional functionality (remove specific history item, clear history, etc) while keeping plugin's simplicity in mind (issue)
  • better documentation (issue)