Evil bindings for helm.
M- modifiers are preferred over C- so the help prefix (C-h) is left
alone. h and l are reserved for minibuffer editing in helm-find-files
and helm-read-file-map.
Key bindings
helm-map (insert and normal state unless noted)
| Command |
Original |
Evil |
helm-previous-source |
C-o |
M-[ |
helm-next-source |
C-o |
M-], C-o |
helm-execute-persistent-action |
C-j |
M-l |
helm-next-line |
C-n |
M-j, C-n |
helm-previous-line |
C-p |
M-k, C-p |
helm-next-page |
C-v |
C-f, C-v |
helm-previous-page |
M-v |
C-b, M-v |
helm-maybe-exit-minibuffer |
RET |
RET |
helm-map (normal state only)
| Command |
Original |
Evil |
helm-select-action |
TAB |
<tab> |
helm-previous-source |
C-o |
[[, gk |
helm-next-source |
C-o |
]], gj |
helm-prev-visible-mark |
M-( |
( |
helm-next-visible-mark |
M-) |
) |
helm-next-line |
C-n |
j |
helm-previous-line |
C-p |
k |
helm-beginning-of-buffer |
M-< |
gg |
helm-end-of-buffer |
M-> |
G |
helm-quit-and-find-file |
C-x C-f |
/ |
helm-refresh |
C-c C-u |
gr |
helm-yank-selection |
C-c C-y |
yp |
helm-copy-to-buffer |
n/a |
yP |
helm-kill-selection-and-quit |
C-c C-k |
yy |
helm-toggle-visible-mark |
C-SPC |
SPC |
helm-previous-page |
M-v |
C-u (when evil-want-C-u-scroll) |
helm-next-page |
C-v |
C-d (when evil-want-C-d-scroll) |
helm-find-files-map / helm-read-file-map
| Command |
State |
Original |
Evil |
helm-ff-run-switch-other-window |
normal |
C-c o |
go |
helm-ff-run-switch-other-window |
insert, normal |
C-c o |
S-<return> |
helm-ff-run-find-sh-command |
normal |
C-c / |
/ |
helm-find-files-up-one-level |
insert, normal |
C-l |
M-h |
helm-find-files-map (normal state)
| Command |
Original |
Evil |
helm-ff-run-ediff-file |
=C-c = |
= |
helm-ff-run-query-replace-regexp |
M-% |
% |
helm-ff-run-delete-file |
M-D |
D |
helm-generic-files-map
| Command |
State |
Original |
Evil |
helm-ff-run-switch-other-window |
insert, normal |
C-c o |
S-<return> |
helm-ff-run-switch-other-window |
normal |
C-c o |
go |
helm-buffer-map
| Command |
State |
Original |
Evil |
helm-buffer-switch-other-window |
insert, normal |
C-c o |
S-<return> |
display-buffer |
insert, normal |
n/a |
M-<return> |
helm-buffer-switch-other-window |
normal |
C-c o |
go |
display-buffer |
normal |
n/a |
gO |
helm-buffer-run-ediff |
normal |
=C-c = |
= |
helm-buffer-run-query-replace-regexp |
normal |
M-% |
% |
helm-buffer-run-kill-persistent |
normal |
C-c d |
D |
helm-occur-map / helm-grep-map
| Command |
State |
Original |
Evil |
helm-occur-run-goto-line-ow / helm-grep-run-other-window-action |
insert, normal |
C-c o |
S-<return> |
| same as above |
normal |
C-c o |
go |
helm-occur-mode-map / helm-grep-mode-map (normal state)
| Command |
Original |
Evil |
helm-occur-mode-goto-line / helm-grep-mode-jump |
RET |
RET |
...-goto-line-ow / ...-jump-other-window |
C-o |
C-o, go |
...-forward variant |
M-n |
M-n, gj |
...-backward variant |
M-p |
M-p, gk |
helm-gm-next-file |
M-N |
M-N |
helm-gm-precedent-file |
M-P |
M-P |
Notes
helm-minibuffer-history-key is set to M-p via custom-set-variables.
helm-default-prompt-display-function is set so the evil cursor renders
correctly in helm's header line when helm-echo-input-in-header-line is
non-nil.
evil-collection-helm-hide-minibuffer-maybe is added to
helm-minibuffer-set-up-hook to hide the minibuffer cursor in that case.