Emacs - Helm
Helm1 is a framework to narrow selection. It can be installed by ELPA
M-x package-install helm
After that, it should be configured accordingly. Without loss of generality, following configurations can be used.
(require 'helm-config)
(helm-mode 1)
(define-key global-map [remap find-file] 'helm-find-files)
(define-key global-map [remap occur] 'helm-occur)
(define-key global-map [remap list-buffers] 'helm-buffers-list)
(define-key global-map [remap dabbrev-expand] 'helm-dabbrev)
(define-key global-map [remap switch-to-buffer] 'helm-mini)
(define-key global-map [remap yank-pop] 'helm-show-kill-ring)
(define-key global-map [remap execute-extended-command] 'helm-M-x)
;; fuzzy match
(setq helm-M-x-fuzzy-match t
helm-buffers-fuzzy-matching t
helm-recentf-fuzzy-match t)
;; follow mode
(helm-follow-mode-persistent t)
Alternatively, package helm-ag can be installed to accelerate the match, which is a the-silver-searcher-based multithread counterpart of ack. Helm-ag and the-silver-searcher can be installed by
M-x package-install helm-ag
and
pacman -S the_silver_searcher
Then, following two lines of configurations can be inserted to the configuration file of emacs.
(setq helm-ag-base-command "ag --nocolor --nogroup --ignore-case") (setq helm-ag-command-option "--ignore *~ --ignore *html --ignore *o") (setq helm-ag-insert-at-point (quote symbol)) (global-set-key (kbd "M-i") 'helm-do-ag-this-file) (global-set-key (kbd "M-I") 'helm-do-ag-project-root)