2014-03-19 164 views
2

我在OSX上有一个带有Emacs 24.3的JEDI的工作版本。自动填充功能非常好,除了我想评论的事情时!我经常评论/取消注释部分代码,并希望有一种方法可以防止JEDI在输入#时自动完成。任何意见或想法将不胜感激!emacs Jedi禁用#

编辑:当我去注释多行时,我通常会在#后面输入DownArrow和LeftArrow,但通常在JEDI启用时发生的是弹出此对话框,以防止我移动到下一行,直到我做出选择: dialog that pops up

+0

我在注释中没有得到自动完成,变量'ac-disable-faces'的值是什么?只要执行'C-h v'ac-disable-faces'RET' emacs就会弹出一个带有变量值的帮助缓冲区。 – 2014-03-19 13:27:41

+0

我对之前的评论表示歉意,我禁用了JEDI,因此我无法获取返回的值。结果如下: ac-disable-faces是一个在'auto-complete.el'中定义的变量。 其值为(font-lock-comment-face font-lock-string-face font-lock-doc-face) 文档: 非零表示禁用指定面上的自动完成。 您可以自定义此变量。 [返回] – Robert

+0

我刚刚更新了jedi,并观察了您所报告的行为。这似乎是由于最近的一些变化而引入的错误。这应该报告给emacs-jedi开发人员 – 2014-03-19 16:03:35

回答

0

解决此问题的一种方法是选择要注释的行(区域)并点击M-;。这个命令运行命令comment-dwim,它将注释掉所选区域(或者取消注释,如果它现在被注释掉)。

当与例如mark-lines它允许你用一个关键笔划选择当前行,这使得你的代码部分非常快速地(非)注释,即使它们只跨越一行或两行。

0

emacs-jedi dev here。如果emacs-jedi按照你的描述工作,那么这就是一个bug。

但我不能说有限的信息我有什么不对。所以,只要总体方向:

  1. 首先,总是尝试重现在干净的Emacs设置的不当行为,这里所描述http://tkf.github.io/emacs-jedi/latest/#quick-try

    这可以帮助您了解您的设置是错误的,或者如果它实际上是emacs-jedi中的一个错误。

  2. 给出M-x jedi:show-version-info的输出。 http://tkf.github.io/emacs-jedi/latest/#jedi:show-version-info

    这有助于人们诊断问题。

  3. 这是从你的截图猜测,但似乎你有老版本的popup.el。因此,如果您同时安装它们,auto-complete.el可能会是旧的。如果您在安装最新库的干净Emacs(步骤1,我上面提到)中看不到问题,则更新它们可以解决问题。

更新

于是,我找到了一种方法来重现这是接近你所提到的行为:https://github.com/tkf/emacs-jedi/issues/147

但正如我在这个问题写的,我认为这是一个罕见的情况。如果您发现可能频繁发生的案件,请告诉我。