6

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?

tshepang
  • 12,111
  • 21
  • 91
  • 136
Kei Minagawa
  • 4,395
  • 3
  • 25
  • 43

3 Answers3

2

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.

elemakil
  • 3,681
  • 28
  • 53
abo-abo
  • 20,038
  • 3
  • 50
  • 71
2

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

chen bin
  • 568
  • 4
  • 16
1

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?

Community
  • 1
  • 1
phils
  • 71,335
  • 11
  • 153
  • 198