Python 将绝地武士配置为不自动完成?

Python 将绝地武士配置为不自动完成?,python,emacs,emacs-jedi,Python,Emacs,Emacs Jedi,我在emacs中安装了用于python编辑的绝地模式,因为我发现C-。和C-,对于跳转到定义和返回非常有用。然而,自动完成并不是我想要的。当我尝试在安装了绝地的情况下使用emacs时,它不断地尝试提出建议并弹出弹出窗口。我如何配置绝地,使其只响应特定的调用而不响应键入或光标移动 我试过设置(setq绝地:零点零完成)和(setq绝地:工具提示方法零),但这些只会禁用绝地的一些反应功能。如何禁用所有这些功能 或者,如果我只想跳转到定义,是否有一个不同的emacs包是更好的选择?jedi使用自动完成

我在emacs中安装了用于python编辑的绝地模式,因为我发现
C-。
C-,
对于跳转到定义和返回非常有用。然而,自动完成并不是我想要的。当我尝试在安装了绝地的情况下使用emacs时,它不断地尝试提出建议并弹出弹出窗口。我如何配置绝地,使其只响应特定的调用而不响应键入或光标移动

我试过设置
(setq绝地:零点零完成)
(setq绝地:工具提示方法零)
,但这些只会禁用绝地的一些反应功能。如何禁用所有这些功能


或者,如果我只想跳转到定义,是否有一个不同的emacs包是更好的选择?

jedi
使用
自动完成
进行自动完成,因此要关闭该功能,您需要查看:


如果你所寻找的只是在定义之间来回跳跃,也许对你来说是可行的。我没有试过,但你要求的是这个包的全部前提。jedi检查python ast,这样它就可以向你展示变量属性之类的定义。dumbjump是基于grep和regexp的,所以功能要小得多。看起来你可以直接启用
绝地模式
,而不是调用
绝地:设置
。如果您这样做,“跳转到定义”绑定仍然安装,但自动完成功能没有设置。这对我不起作用:设置
绝地模式
而不运行
绝地设置
给了我
文件模式规范错误:(无效函数绝地:模式)
。(但我想出了如何得到我想要的,并在下面贴出了答案)注意“绝地模式”和“绝地:模式”的区别。我怀疑你试图操纵后者。在一个python文件中运行“绝地模式”,而不需要额外的配置,这使我能够在没有自动完成的情况下进行跳转绑定。不管怎样,我很高兴你找到了一个适合你的解决方案。我们可以为
绝地
禁用它,转而启用
公司模式
; move quick-help tooltips to the minibuffer
(setq jedi:tooltip-method nil)

; disable all auto-completion unless explicitly invoked with M-tab
(setq ac-auto-show-menu nil)
(setq ac-auto-start nil)
(define-key ac-mode-map (kbd "M-TAB") 'auto-complete)

; start jedi
(add-hook 'python-mode-hook 'jedi:setup)