Skip to content


Subversion checkout URL

You can clone with
Download ZIP
zsh anything.el-like widget.
Branch: master


zaw - zsh anything.el-like widget


$ git clone git://
remote: Counting objects: 136, done.
remote: Compressing objects: 100% (86/86), done.
remote: Total 136 (delta 43), reused 136 (delta 43)
Receiving objects: 100% (136/136), 23.68 KiB, done.
Resolving deltas: 100% (43/43), done.
$ echo "source ${PWD}/zaw/zaw.zsh" >> ~/.zshrc

and restart zsh or manualy source zaw.zsh.


  1. Trigger zaw by pressing Ctrl-x ; (^x;).

  2. select source and press enter.

  3. filter items with zsh patterns separated by spaces, use ^N, ^P and select one.

  4. execute action by pressing enter key or press Meta-enter for alternative action.

    instead, press tab key and select action you want to execute.


currently these sources are available:

  • ack
  • applications
  • bookmark
  • git-branches
  • git-recent-all-branches
  • git-recent-branches
  • git-files
  • git-files-legacy
  • git-status
  • history
  • open-file
  • perldoc
  • process
  • screens
  • ssh-hosts
  • tmux
  • fasd
  • fasd-directories
  • fasd-files

(Note: git-files-legacy is an alternative for git-files. git-files classifies modified files, git-files-legacy doesn't do it for performance reason.)

shortcut widgets

zaw automaticaly create shortcut widgets for each sources that directly access to the source.

for example, execute bindkey '^R' zaw-history and press ^R to access history source.

you can get all available shortcut widgets' name using zaw-print-src:

$ zaw-print-src
source name      shortcut widget name
ack              zaw-ack
applications     zaw-applications
bookmark         zaw-bookmark
git-branches     zaw-git-branches
git-recent-all-branches     zaw-git-recent-all-branches
git-recent-branches     zaw-git-recent-branches
git-files        zaw-git-files
git-files-legacy zaw-git-files-legacy
git-status       zaw-git-status
history          zaw-history
open-file        zaw-open-file
perldoc          zaw-perldoc
process          zaw-process
screens          zaw-screens
ssh-hosts        zaw-ssh-hosts
tmux             zaw-tmux
fasd             zaw-fasd
fasd-directories zaw-directories
fasd-files       zaw-files

key binds and styles

zaw use filter-select to filter and select items.

you can use these key binds:

enter:              accept-line (execute default action)
meta + enter:       accept-search (execute alternative action)
Tab:                select-action
^G:                 send-break
^H, backspace:      backward-delete-char
^F, right key:      forward-char
^B, left key:       backward-char
^A:                 beginning-of-line
^E:                 end-of-line
^W:                 backward-kill-word
^K:                 kill-line
^U:                 kill-whole-line
^N, down key:       down-line-or-history (select next item)
^P, up key:         up-line-or-history (select previous item)
^V, page up key:    forward-word (page down)
^[V, page down key: backward-word (page up)
^[<, home key:      beginning-of-history (select first item)
^[>, end key:       end-of-history (select last item)

and these zstyles to customize styles:

':filter-select:highlight' selected
':filter-select:highlight' matched
':filter-select:highlight' marked
':filter-select:highlight' title
':filter-select:highlight' error
':filter-select' max-lines
':filter-select' rotate-list
':filter-select' case-insensitive
':filter-select' extended-search

  zstyle ':filter-select:highlight' matched fg=yellow,standout
  zstyle ':filter-select' max-lines 10 # use 10 lines for filter-select
  zstyle ':filter-select' max-lines -10 # use $LINES - 10 for filter-select
  zstyle ':filter-select' rotate-list yes # enable rotation for filter-select
  zstyle ':filter-select' case-insensitive yes # enable case-insensitive search
  zstyle ':filter-select' extended-search yes # see below

    If this style set to be true value, the searching bahavior will be
    extended as follows:

    ^ Match the beginning of the line if the word begins with ^
    $ Match the end of the line if the word ends with $
    ! Match anything except the word following it if the word begins with !
    so-called smartcase searching

    If you want to search these metacharacters, please doubly escape them.

environment variable

ZAW_EDITOR editor command. If this variable is not set, use EDITOR value. ZAW_EDITOR_JUMP_PARAM open editor command with line params.

%LINE% is replaced by line number. %FILE% is replaced by file path. default +%LINE% %FILE%



Something went wrong with that request. Please try again.