本文介绍了Emacs在python模式下禁用自动完成的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用Emacs 24,并希望在python模式下禁用自动完成模式,因此它不会与jedi冲突。我该怎么做(可惜我不知道Emacs Lisp)。以下是我目前在init.el中自动完成的设置: ;;自动完成设置
(需要自动完成)
(add-to-list'ac-dictionary-directories〜/ .emacs.d / ac-dict)
(require 'auto-complete-config'
(ac-config-default)
;开始自动完成2个字符的单词
(setq ac-auto-start 2)
;发现匹配时,区分大小写很重要
(setq ac-ignore-case nil)
谢谢
解决方案
(ac-config-default)
c $ c> global-auto-complete-mode ,停止(自动完成模式)
在python模式下调用,你可以写一个建议。
(defadvice auto-complete-mode(around disable-auto-complete-for-python)
(除非(eq major-mode'python-mode)ad-do-it)
(ad-activate'auto-complete-mode)
此外,我不知道这是你想要的,因为Jedi使用自动完成模式作为Dmitry在评论中指出,不应该冲突。
I am using Emacs 24 and would like to disable auto-complete mode while in python-mode so it does not conflict with jedi. How do I go about doing this (sadly I do not know Emacs Lisp). Below are my current settings regarding auto-complete in 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)
Thanks.
解决方案
(ac-config-default)
turns on global-auto-complete-mode
, to stop (auto-complete-mode)
from being called in python mode you can write an advice for it.
(defadvice auto-complete-mode (around disable-auto-complete-for-python)
(unless (eq major-mode 'python-mode) ad-do-it))
(ad-activate 'auto-complete-mode)
Also I am not sure this is what you want, since Jedi use auto-complete-mode as Dmitry pointed out in the comment, there should not be conflicts.
这篇关于Emacs在python模式下禁用自动完成的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!