Emacs在python模式下禁用自动完成 [英] Emacs disable auto-complete in python-mode

查看:111
本文介绍了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模式下禁用自动完成的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆