avy 0.4.0 is out
23 Jan 2016This release consists of 77 commits done over the course of the last 7
months by me and many
contributors. Similarly
to the 0.3.0
release, the release notes are in
Changelog.org.
You can read them either at
github or
inside Emacs.
Big thanks to all contributors.
Highlights
A lot of new code is just straight upgrades, you don't need to do anything extra to use them. Below, I'll describe the other part of the new code, which is new commands and custom vars.
avy-goto-char-timer
This command now allows as many characters as you like, which makes it
similar to a isearch
+ avy-isearch
combination. As you type, you
get an isearch
-like highlight, then after a short delay you
automatically get the avy
selection.
Switch the action midway from goto to kill/mark/copy
This is similar to the cool feature of ace-window that allows you to switch the action after you get the avy prompt.
For example, suppose you have:
(global-set-key (kbd "M-t") 'avy-goto-word-1)
Here's what you can do now to a word that starts with a "w" and is select-able with "a":
- To jump there: M-t w a.
- To copy the word instead of jumping to it: M-t w na
- To mark the word after jumping to it: M-t w ma.
- To kill the word after jumping to it: M-t w xa.
You can customize avy-dispatch-alist
to modify these actions, and
also ensure that it plays nicely with your avy-keys
, if you
customized them. By default, it works fine, since avy-keys
is '(?a
?s ?d ?f ?g ?h ?j ?k ?l)
and the keys on avy-dispatch-alist
are
'(?x ?m ?n)
.
avy-pop-mark
This command reverses avy-push-mark
which most of avy commands call.
It has its own history and works across multiple windows and frames.
I'm using it currently as an upgrade to my old (set-mark-command 4)
lambda:
(global-set-key (kbd "M-p") 'avy-pop-mark)
Here's a line to make avy-pop-mark
work also for swiper
:
(advice-add 'swiper :before 'avy-push-mark)