Emacs:如何消除自动完成弹出窗口中的空白模式?

标签 emacs elisp dot-emacs

这是出错的屏幕截图:

Imgur

如您所见,空白字符妨碍了自动完成的弹出文本,使事情看起来非常糟糕。

真的,我希望它看起来像这样:

Imgur

有没有人能够使用空白模式,但从自动完成的东西中消除它?

最佳答案

有一个issue about compatibility between auto-complete and whitespace-mode在 Prelude 问题跟踪器中,其注释中有以下解决方法(与原始版本相比有所改进):

(defvar my-prev-whitespace-mode nil)
(make-variable-buffer-local 'my-prev-whitespace-mode)

(defadvice popup-draw (before my-turn-off-whitespace activate compile)
  "Turn off whitespace mode before showing autocomplete box"
  (if whitespace-mode
      (progn
        (setq my-prev-whitespace-mode t)
        (prelude-turn-off-whitespace))
    (setq my-prev-whitespace-mode nil)))

(defadvice popup-delete (after my-restore-whitespace activate compile)
  "Restore previous whitespace mode when deleting autocomplete box"
  (if my-prev-whitespace-mode
      (prelude-turn-on-whitespace)))

本质上,这会在显示弹出窗口时禁用整个缓冲区的空白模式。

popup.el issue tracker 中也报告了该问题。 .

关于Emacs:如何消除自动完成弹出窗口中的空白模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12965814/

相关文章:

emacs - .emacs 全局设置键并使用参数调用交互函数

emacs - 在 .dir-locals.el 中定义新变量

python - 在 Emacs 中使用 pydbgr

emacs - 最新的CEDET版本无法加载语义包

emacs - 从 emacs 编译缓冲区中删除误报

emacs - 在 Emacs24 + CEDET 中突出显示局部变量、对象属性和常量

emacs - 使用字符串列表中指定的符号名称附加列表

emacs - 使用自动填充模式自动重新填充整个段落?

emacs - 如何在组织模式下为下一个循环/重复任务取消勾选复选框