Integration of vimish-fold with evil
Adds standard vim keybindings of zf and zd to create and delete folds (via
vimish-fold
) respectively. Also hooks into evil
so the usual vim
keybindings for fold toggling (za), opening (zo), closing (zc) etc all work as expected with vimish-fold
.
Finally, also supports navigation between folds using zj and zk.
This provides a near-complete vim folding experience in evil for Emacs.
The preferred way to install evil-vimish-fold
is via
MELPA. You can just M-x package-install RET
evil-vimish-fold RET.
If you would like to install the package manually, download or clone it and
place within Emacs' load-path
, then you can require it in your init file like
this:
(require 'evil-vimish-fold)
NOTE: This will also require the manual installation of evil
and vimish-fold
if you have not done so already.
You can configure evil-vimish-fold
to run on a per mode basis using hooks
or as a global mode activated on specific modes.
By default, global-evil-vimish-fold-mode
will enable
evil-vimish-fold-mode
in modes derived from those specified in
evil-vimish-fold-target-modes
. By default evil-vimish-fold-target-modes
is set to prog-mode
(and thus all modes derived from prog-mode
). This
will allow you to avoid having evil-vimish-mode
enabled in modes where its
key bindings conflict, e.g., magit.
Per mode (no use of global mode):
(add-hook 'prog-mode-hook 'evil-vimish-fold-mode)
(add-hook 'text-mode-hook 'evil-vimish-fold-mode)
Globally for a set of modes:
(setq evil-vimish-fold-target-modes '(prog-mode conf-mode text-mode))
(global-evil-vimish-fold-mode 1)
A configuration using mode hooks (no use of global mode):
(use-package vimish-fold
:ensure
:after evil)
(use-package evil-vimish-fold
:ensure
:after vimish-fold
:hook ((prog-mode conf-mode text-mode) . evil-vimish-fold-mode))
or
A configuration that sets the lighter, i.e., visual indicator of the mode's activation in the modeline, sets target modes, then turns on global mode:
(use-package vimish-fold
:ensure
:after evil)
(use-package evil-vimish-fold
:ensure
:after vimish-fold
:init
(setq evil-vimish-fold-mode-lighter " ⮒")
(setq evil-vimish-fold-target-modes '(prog-mode conf-mode text-mode))
:config
(global-evil-vimish-fold-mode))
Copyright © 2015 Alex Murray
Distributed under GNU GPL, version 3.