Linux_木头 2013-08-01 02:04 采纳率: 100%
浏览 3769
已采纳

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条回答 默认 最新

  • Linux_木头 2013-08-01 05: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))

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决,来真人,不要ai!
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法