Skip to content
Zsh plugin giving you a history which is sensitive to the directory you are currently in
Shell Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
CHANGELOG.md
README.md
directory-history.plugin.zsh
dirhist

README.md

zsh-directory-history

A per directory history for zsh.

asciicast

DESCRIPTION

zsh-directory-history is a zsh plugin giving you a history which is sensitive to the directory you are in.
It implements forward/backward navigation as well as substring search in a directory sensitive manner.
Since zsh-directory-history includes zsh-history-substring-search, do not load zsh-history-substring-search when loading this plugin.

Behavior:

  • Commands executed in the current directory will pop up first when navigating the history or using substring search.
  • A substring unknown in the current directory, will be searched for globally (it falls back to the normal substring search behavior).

Since the plugin creates its own history (in ~/.directory_history), it needs some time to fill up and become useful.

INSTALL

  1. Install script

      git clone https://github.com/tymm/zsh-directory-history
      sudo cp zsh-directory-history/dirhist /usr/bin/
    
  2. Activate plugin by appending the following line to your .zshrc file

      source /path/to/directory-history.plugin.zsh
    
  3. Bind keyboard shortcuts in your .zshrc
    directory-history-search-forward/directory-history-search-backward needs to be bind for forward/backward navigation.
    history-substring-search-up/history-substring-search-down needs to be bind for substring search.
    For example:

      # Bind up/down arrow keys to navigate through your history
      bindkey '\e[A' directory-history-search-backward
      bindkey '\e[B' directory-history-search-forward
    
      # Bind CTRL+k and CTRL+j to substring search
      bindkey '^j' history-substring-search-up
      bindkey '^k' history-substring-search-down
    

It is possible that \e[A and \e[B will not work for you. Look here under 2. for more information.

For more information on how to configure substring search, take a look here: https://github.com/zsh-users/zsh-history-substring-search

You can’t perform that action at this time.