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

孤街醉人 提交于 2019-12-10 14:59:06

问题


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?


回答1:


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.




回答2:


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




回答3:


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?



来源:https://stackoverflow.com/questions/21021313/how-to-show-all-possible-completions-hippie-expand-command-creates-in-emacs

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!