Emacs 在 python 模式下禁用自动完成

标签 emacs

我正在使用 Emacs 24 并希望在 python 模式下禁用自动完成模式,这样它就不会与绝地冲突。我该怎么做(遗憾的是我不知道 Emacs Lisp)。以下是我当前在 init.el 中关于自动完成的设置:

;; auto-complete settings
(require 'auto-complete)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict")
(require 'auto-complete-config)
(ac-config-default)
; Start auto-completion after 2 characters of a word
(setq ac-auto-start 2)
; case sensitivity is important when finding matches
(setq ac-ignore-case nil)

谢谢。

最佳答案

(ac-config-default)开启 global-auto-complete-mode , 停止 (auto-complete-mode)在 python 模式下被调用,你可以为它写一个建议。

(defadvice auto-complete-mode (around disable-auto-complete-for-python)
  (unless (eq major-mode 'python-mode) ad-do-it))

(ad-activate 'auto-complete-mode)

另外我不确定这是你想要的,因为绝地使用自动完成模式,正如德米特里在评论中指出的那样,不应该有冲突。

关于Emacs 在 python 模式下禁用自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24814988/

相关文章:

emacs - 是否可以在 Emacs 中设置每个模式/缓冲区和每个字符集的字体?

emacs - Gdb 与 emacs 和 F*

emacs - 如何使用 etags 跳转到 C++ 函数的声明?

emacs 控制台模式 Org-mode 删除线未按预期显示

emacs - 为什么我在 Windows 7 上运行的 Cygwin 中的 Emacs 总是创建崩溃转储?

emacs - 为什么词法绑定(bind)在 emacs 的这个例子中不起作用?

emacs - 如何将移位键绑定(bind)到 LaTeX 数学模式?

Emacs - 多行搜索

emacs - 定义 Control-Shift-* Emacs 键盘快捷键

emacs - Shift-Tab 在 Emacs 中产生神秘错误