2 harith Harith 于 2013.08.01 10:04 提问

Emacs 自动补全 auto-complete yasnippet 光标空白处不显示

我在ubuntu中配置了emacs 的自动补全,现在碰到一个问题,在出现自动补全的时候,光标在有字符的地方会闪烁,在没有字符或者空白处无法看到光标,请问怎么让光标都在空白处也显示

下面的是我自动补全的配置
;; yasnippet
(add-to-list 'load-path "~/.emacs.d/yasnippet-0.6.1c")
(require 'yasnippet);; not yasnippet-bundle
(yas/initialize)
(yas/global-mode 1)
(yas/minor-mode-on)
(yas/load-directory "~/.emacs.d/yasnippet-0.6.1c/snippets")
;;(load-file "~/.emacs.d/yasnippet-bundle.el")

;;f3 为查找字符串,alt+f3 关闭当前缓冲区
(global-set-key [f3] 'grep)
(global-set-key [M-f3] 'kill-buffer-and-window)

;;auto-complete
(add-to-list 'load-path "~/.emacs.d/auto-complete-1.3.1")
;(require 'auto-complete)
(require 'auto-complete-config)

(add-to-list 'ac-dictionary-directories "~/.emacs.d/auto-complete-1.3.1/dict")
(ac-config-default)

(global-auto-complete-mode t)

(setq-default ac-sources '(ac-source-words-in-same-mode-buffers))
(setq-default ac-sources '(ac-source-yasnippet

ac-source-semantic
ac-source-ropemacs
ac-source-imenu
ac-source-functions
ac-source-symbols
ac-source-features
ac-source-dictionary
ac-source-abbrev

ac-source-words-in-buffer

ac-source-files-in-current-dir

ac-source-filename))

(add-hook 'emacs-lisp-mode-hook (lambda () (add-to-list 'ac-sources 'ac-source-symbols)))
(add-hook 'auto-complete-mode-hook (lambda () (add-to-list 'ac-sources 'ac-source-filename)))
;;下面这句是从auto-complete-config.el中翻出来的
;;加上这句,在python中输入类的 . 就可以提示里面的方法了
(add-hook 'python-mode-hook (lambda () (add-to-list 'ac-omni-completion-sources (cons "\." '(ac-source-ropemacs))) ))

(set-face-background 'ac-candidate-face "lightgray")
(set-face-underline 'ac-candidate-face "darkgray")
(set-face-background 'ac-selection-face "steelblue")

(setq ac-auto-start 2)
(setq ac-dwim t)

1个回答

Harith
Harith   2013.08.01 13:47
已采纳

解决的办法是在.emacs 中添加这个 并修改yasnippet的配置,具体如下:
;; 设置光标不闪
(blink-cursor-mode 1)
;;设置光标为线条状
(setq-default cursor-type 'bar)

;; yasnippet
(add-to-list 'load-path "~/.emacs.d/yasnippet-0.6.1c")
(require 'yasnippet);; not yasnippet-bundle
(yas/initialize)
;;(yas/global-mode 1)
;;(yas/minor-mode-on)
(yas/load-directory "~/.emacs.d/yasnippet-0.6.1c/snippets")
;;(load-file "~/.emacs.d/yasnippet-bundle.el")
(require 'dropdown-list)
(setq yas/prompt-functions '(yas/dropdown-prompt
yas/ido-prompt
yas/completing-prompt))

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
emacs下C/C++自动补全,Yasnippet && auto-complete && auto-complete-clang-async
Emacs自动补全有许多插件,yasnippet和auto-complete比较简洁和方便,且功能也非常强大,yasnippet是一个代码片段补全工具,可以用来补全大段的常用的代码片段类似与mac上的textmate。auto-complete是一个补全的前端,可以与许多补齐的后端工具配合。先来说说如果安装这两个软件的最近build版本,注意不是稳定版,因为最新的稳定版两个插件会出现冲突。(前提是
emacs自动补全插件auto-complet和yasnippet,安装、配置和扩展
转自http://www.cnblogs.com/liyongmou/archive/2013/04/26/3044155.html 这段时间突然闲了起来,就又折腾折腾emacs.  一直想解决自动补全的功能,因为这时现代开发环境必备的特色。google了一下,很多使用auto-complete和yasnippet的,于是自己动手装了起来。先查阅安装文档,又参考别人的方法,各种曲折
emacs下C/C++自动补全 之 使用Yasnippet模板补全 以自定义USACO模板为例
Emacs自动补全有许多插件,yasnippet是一个代码片段补全工具,可以用来补全大段的常用 的代码片段类似与mac上的textmate。 推荐安装方法为package-install M-x list-packages找到yasnippet安装即可 然后在配置文件中加入: (require 'yasnippet) (yas/global-mode 1) 这
emacs auto-complete自动补全
git clone https://github.com/auto-complete/auto-complete.git cd auto-complete make /bin/sh: 1: cask: not found /bin/sh: 1: cask: not found cask exec emacs -batch -Q -L . \                  -l te
emacs24.x自动补全配置
我相信现在几乎没有程序员在用不支持自动补全的编辑器或者IDE。emacs作为神的编辑器自然必须具备这个功能。不过这个功能并不是emacs自带的,需要我们手动配置。网上配置的教程有很多,如果你用的是24以后的版本,那么我的这篇文章可能会对你有所帮助。重要的事情说三遍针对24.x之后的版本针对24.x之后的版本针对24.x之后的版本emacs的自动补全需要下载一个auto-complete的扩展。我在这
Emacs 使用 auto-complete 补全
http://cx4a.org/software/auto-complete/auto-comlete  号称Auto Complete Mode is the most intelligent auto-completion extension for GNU Emacs.
emacs中使用auto-complete的详细设置
使用auto-complete-mode 1 下载auto-complete完整源码 大多数情况下,我还是推荐使用源码库中的最新版本,这样可以避免很多奇怪的问题。所以这里列出了使用auto-complete-mode所涉及的一些源码库: auto-complete-mode 主源码库 https://github.com/m2ym/auto-complete.git pop
Emacs+auto-complete+clang进行代码补全
Clang是一个C/C++/ObjectC语言的编译器前端,采用LLVM作为后端提供了一个性能接近GCC的编译器。不过我们现在的目标是使用Clang帮助进行代码分析和补全。 首先去Clang的官方网站下载一套编译安装,官方网站地址是:http://clang.llvm.org/ 接下来需要安装auto-complete,下载一份,http://cx4a.org/software/aut
emacs 安装auto-complete
emacs 安装auto-complete ps:  大学就一直在玩emacs,自己也比较浮躁,emacs用的是走走停停的,工作UNIX 平台下多又把emacs用起来了。emacs + makefile 完全就是一个强大的IDE。 今天发现emacs 安装auto-complete也蛮容易的。 1下载 auto-complete   LINUX/UNIX/OSX系统下载这个http
【积水成渊-逐步定制自己的Emacs神器】4:Emacs自动补全
本文介绍了Emacs里的自动补全功能,包括其内置的缓冲区文件名补全和使用扩展package实现的文本的补全和程序代码的补全功能等。