[https://github.com/xl666/avy-conf/blob/main/avy.org](https://github.com/xl666/avy-conf/blob/main/avy.org)
Some months ago I read the excellent article "Avy can do anything ([https://karthinks.com/software/avy-can-do-anything/](https://karthinks.com/software/avy-can-do-anything/)), which changed the way I use Avy and Emacs in general. The article basically explains what are Avy actions and how to create new ones. This got me inspired to create my own Avy actions, which I'd like to share with the community in the form of a literate config.
The shared config, extends some notions and creates new ones (some left as a kind-of challenge in the mentioned article):
​
\- Region actions: actions that act in an arbitrary not visible region created with avy selections (copy, yank, kill, teleport). First you mark the initial point of the region with an action, then you execute a region action on the other end of the region.
\- Quick char commands: skip the initial filtering step of an Avy command pre-filtering a character. For example I use this in emacs-lisp mode to auto filter open parenthesis with a key binding, this is very useful as actions act on Sexp.
\- Auto actions: enable the automatic execution of an avy action on a selected candidate
\- Compound actions and commands: link several avy interactions in a single command or action using auto actions. This is useful for example for region actions, instead of executing two Avy commands to first mark the start of the region with a command and then select and act on the end of the region; you only execute a command that integrates two Avy interactions, the first one auto applies the mark action, then you select the action and element at the end of the region. I also use this for creating a replace action, combining kill and yank actions in one action.
​
I hope this results useful for someone.