Store all current ivy candidates into the kill ring
14 Aug 2015I'd like to highlight a new command added to
ivy-mode today:
ivy-kill-ring-save
. It allows to store all current candidates to
the kill ring. This could have a number of uses.
Scenario 1
Suppose you want to learn some Elisp, specifically all functions that
start with forward-
. Then call counsel-describe-function
with
"forward-" as input and press M-w. Then just yank this into
some buffer, org-mode
for instance, and go through the functions
one-by-one takings notes on the way:
forward-comment
forward-paragraph
forward-thing
forward-symbol
forward-visible-line
forward-word
forward-same-syntax
forward-whitespace
forward-button
forward-line
forward-list
forward-sentence
forward-point
forward-to-indentation
forward-ifdef
forward-char
forward-sexp
forward-page
Scenario 2
Suppose you want to store a subset of projectile-find-file
names
that match a pattern. Just press M-w and those file names
will be on the top of the kill ring. Of course, you need to have this setting on:
(setq projectile-completion-system 'ivy)
This scenario should apply to basically any place where you're
completing file names, like counsel-locate
or
counsel-find-file
. Also
find-file-in-project,
which uses ivy
for completion if it's installed.
Outro
Note also that the command comes for free, since normally nothing is done by M-w when the region isn't active. When the region is active, this command will store the selected text instead of matched candidates.
Thanks to @drorbemet for giving me the idea in #197.