How to show all possible completions hippie-expand command creates in Emacs?

1.3k Views Asked by At

I want to list all items that hippie-expand creates, then choose from them by moving the cursor and hitting RET. Is there any way to do this?

3

There are 3 best solutions below

1
On

Here's what I'm using for this purpose:

(global-set-key (kbd "M-i") 'complete-with-helm)
(require 'ac-helm)
(require 'auto-complete-config)
(ac-config-default)
(defun ac-complete-with-helm-auto ()
  "Select `auto-complete' candidates by `helm'.
It is useful to narrow candidates."
  (interactive)
  (let ((c (ac-candidates)))
    (if (= (length c) 1)
        (ac-expand)
      (when ac-completing
        (with-helm-show-completion ac-point ac-last-point
          (helm :sources 'helm-source-auto-complete-candidates
                :buffer  "*helm auto-complete*"))))))
(defun complete-with-helm ()
  (interactive)
  (ignore-errors
    (call-interactively 'auto-complete)
    (call-interactively 'ac-complete-with-helm-auto)))

Necessary packages are auto-complete, helm, and ac-helm. All of them you can get from the package manager.

1
On

I wrote the following answer to a similar question a while ago. It uses the ido interface for selection, but it should be straightforward to adapt to another selection interface.

How to configure emacs to have it complete the path automatically like vim?

0
On

use company-mode. all the UI issues already resolved in company-mode