Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Frequently Asked Questions (FAQ).
- Errors with helm-adaptive-mode
- Errors when running make
- Where is Helm documentation?
- Why does MELPA update give errors?
- When using a prefix argument with
- How do I get Helm and Popwin to play nice?
- What happened to the
- Why can’t I exit
completing-readwith an empty string?
- Why am I getting warnings when compiling with emacs-24.3.1?
- Why is
- Why is a customizable Helm source
- Why did the debugger enter Lisp error when using session.el?
- Why helm-mode is so long to startup?
- helm-mode conflict with ido-everywhere
- Why after enabling helm-mode
C-x C-fare not helmized?
- Can you modify the emacs vanilla helmized command to behave differently?
- Most actions are customizable but can I add actions depending on context?
- What are all these helm buffers around?
- Why next-error and previous-error not implemented in helm?
- Org tag completion is not working
- How do I save my variables persistently
- Slow frame and window popup in emacs-26
Errors with helm-adaptive-mode
Probably your `helm-adaptive-history-file` is corrupted reset it with M-x helm-reset-adaptive-history.
See Issue #1764 for more infos.
Errors when running make
When installing Helm from sources you may have such error when compiling with make:
helm.el:32:1:Error: Cannot open load file: aucun fichier ou dossier de ce type, async
If you have such error, that’s mean emacs-async package is not
installed, or it is installed but not in a standard place and helm
can’t find it, so you have to specify where to find it with
EMACSLOADPATH environment variable. Specify it on the command line
Or even better install emacs-async from sources with
or from (M)ELPA.
See Installation for more details.
Where is Helm documentation?
Hit “C-h m” within a Helm session, or use the “helm-documentation” command.
A tip to hit
C-h m within a Helm session can be found on the mode line. All help pages are grouped in a Org file generated by the command
Why does MELPA update give errors?
You should not encounter this problem anymore.
Helm, when installed from (M)ELPA, specifies a dependency on emacs-async, which should resolve this problem. If it does happen, however, do the following:
- Close Emacs
- Restart Emacs
If problem persists, report an issue.
- After upgrading (helm or whatever), you will have to restart emacs (expect problems otherwise).
- emacs-async is available as async in MELPA.
- Async compilation of packages can be disabled per package or globally in
async-bytecomp.el. If you do so, don’t complain if you have errors after upgrading Helm or Helm modules.
When using a prefix argument with
Use prefix args after starting helm-M-x, not before.
Read the Helm documentation (
helm-documentation, bound by default to
<helm-prefix> h h).
Also see Wiki page for
Update: After Helm v1.9.8, using a prefix argument before
helm-M-x is possible. See https://github.com/emacs-helm/helm/wiki/Commands
How do I get Helm and Popwin to play nice?
See the wiki page on working with Popwin.
What happened to the
They have been removed due to redundancy.
got removed because they were unuseful as you can use them from
helm-find-files and file-related commands (e.g.
So now if you want to run helm grep, start
helm-find-files, choose you files and hit
The only difference now is that you hit
C-s instead of
RET. Not the end of the world!
Why can’t I exit
completing-read with an empty string?
Hit C-RET or M-RET.
This can be seen in the mode line.
Why am I getting warnings when compiling with emacs-24.3.1?
Don’t be afraid, just ignore them ;-).
This is due to a bad installation of Helm (see here).
Why is a customizable Helm source
If the source is
nil, it is probably set up when command starts, and may be defined using
helm-make-source with a specialized class.
If the source is defined with a specialized class (not a generic class like
helm-source-dummy, etc.), you can add a new
defmethod in your init file like:
(defmethod helm-setup-user-source ((source helm-source-ffiles)) (helm-source-add-action-to-source-if "Byte compile file(s) async" 'async-byte-compile-file source 'helm-ff-candidates-lisp-p))
(defmethod helm-setup-user-source ((source helm-source-multi-occur)) (setf (slot-value source 'follow) 1))
You can also set up the source yourself:
(with-eval-after-load "helm-regexp.el" (setq helm-source-occur (helm-make-source "Occur" 'helm-source-multi-occur :follow 1)) (setq helm-source-moccur (helm-make-source "Moccur" 'helm-source-multi-occur :follow 1)))
NOTE: In these examples the
follow slot is used, but note that
starting from helm-2.1.0 to setup follow persistently, the only thing
you have to do is
(setq helm-follow-mode-persistent t)
and when you hit
C-c C-f in any source helm-follow-mode will be
turned on now and for next emacs sessions until you hit again
- Don’t define a new
helm-setup-user-sourcewith generic classes as specified above.
Why did the debugger enter Lisp error when using session.el?
You may endup with Lisp error
May be due to using session.el.
See here for how to fix this.
Why helm-mode is so long to startup?
See Issue 1000.
helm-mode conflict with ido-everywhere
ido-everywhere but only
helm-mode and customize which
commands you want to use ido with variable
Why after enabling helm-mode
C-x C-f are not helmized?
find-file bound respectively
C-x C-f have been disabled to force people using the
real things that are
helm-find-files, the only thing
you have to do to use these commands is to bound them respectively to
If you really want to have back the helmized commands (less powerfull
and slower for
M-x), remove them from
Can you modify the emacs vanilla helmized command to behave differently?
No, helm uses a generic function for helmizing emacs vanilla commands and should behave exactly like them except for the completion model. When available use instead its native helm counterpart.
Most actions are customizable but can I add actions depending on context?
Otherwise when writing your own sources you can use the
:action-transformer slot to define such actions.
What are all these helm buffers around?
Each helm session create a buffer which stays around for further use when you want to resume previous session, so it is important to not kill these buffers if you want to be able to resume your last helm session later.
These buffers are unuseful without helm activated so just ignore them.
Yes but what are these other helm buffers starting with a space?
Generally helm store its candidates in a list, it uses in this case
sources build with the
helm-source-sync class, but when it is needed
it uses sources build with
helm-source-in-buffer, in this case
raw candidates are stored in a buffer used only for fast access when matching,
but not for displaying candidates (helm buffer is created for this
So you will see two buffers for this kind of sources, one helm-buffer used for displaying candidate by helm session and one used for parsing candidates.
Same as with helm buffers, the candidate buffers are hidden when you
display your buffer list with
Same as with helm buffers, these buffers are unuseful without helm activated so just ignore them.
Why next-error and previous-error not implemented in helm?
Most of the emacs functions based on cycling make the user blind and
are considered deprecated and inefficient from the helm side except
when the amount of candidate is very small, say five candidates
next-error in a grep or (m)occur buffer would defeat the purpose
of helm and such a workflow would be particularly inefficient compared
Org tag completion is not working
How do I save my variables persistently
Slow frame and window popup in emacs-26
This is an emacs bug which have been fixed in emacs-27 (development
version), to fix it in emacs-26, use
(setq x-wait-for-event-timeout nil)
see Issue #1976.
There is no slowdown in emacs-25