Helm
has been released a long time, but I am always get used to ido
.
But based on some article recently, and I am really like new things, so I decided to use the this helm
package.
So, let’s start.
Install Helm
Helm Github already tell many things about the install, here I want to memo down what I do.
I always use the subtree to manage the package by myself, so
> git subtree add –prefix .emacs.d/plugins-subtree/helm-suite/helm –squash https://github.com/emacs-helm/helm.git master
> git subtree add –prefix .emacs.d/plugins-subtree/helm-suite/emacs-async –squash https://github.com/jwiegley/emacs-async.git master
go the helm folder:
> make
Before the config step, you can simply use the following command to have a test:
> ./emacs-helm.sh
This would be a simple test environment, and it’s very handy.
Basic Config Helm
Add the package to load path and active the helm
1 | ;; -*- coding: utf-8 -*- |
Some handy config
Enable global M-x
1 | (global-set-key (kbd "M-x") 'helm-M-x) |
The default behavior of Tab
key is not handy enough, so change it:
1 | (define-key helm-map (kbd "<tab>") 'helm-execute-persistent-action) ; rebind tab to run persistent action |
Some issue
Still, grep under windows, here is my solution, please not that, your grep
under windows may not support --include
well, so remove %e
will fix it.
1 | (if (executable-find "perl") |
Some handy key
- You can insert marked candidates into current buffer with
C-c C-i
- you can always switch it to vertical window with
C-t
. RunningC-t
again returns the Helm window back to horizontal and so on - You can mark candidates with
C-SPC
; this is useful when you need to perform an action on many candidates of your choice.M-a
to select all.
further more
Read this article helm-intro
References:
- Helm Emacs Github
- A Package in a league of its own: Helm
- Helm wiki
- Exploring large projects with Projectile and Helm Projectile
And also: