2017-04-21 69 views
1

我有jedi模式安裝在emacs中進行python編輯,因爲我發現C-.C-,對跳轉到定義和返回非常有用。但是,自動自動完成並不是我想要的。當我嘗試在安裝了jedi的情況下使用emacs時,它不斷嘗試提出建議並提出彈出窗口。我怎樣才能配置jedi,使其只響應特定的調用而做出響應,而不是響應鍵入或光標移動?配置jedi不自動自動完成?

我試過設置(setq jedi:complete-on-dot nil)(setq jedi:tooltip-method nil)但這些只會禁用jedi的一些反應特性。我如何禁用所有這些?

另外,是否有不同的emacs軟件包,如果我主要只是想跳轉到定義,這將是一個更好的選擇?

+0

如果你正在尋找的跳躍,並從定義的所有,也許[啞跳躍] (https://github.com/jacktasia/dumb-jump)會爲你工作。我沒有嘗試過,但你要求的是整個包的前提。 –

+0

jedi檢查python ast,因此它可以顯示變量屬性等事物的定義。 dumbjump基於grep和regexps,所以它的能力要差得多。 –

+0

它看起來像你可以直接啓用'jedi-mode'而不是調用'jedi:setup'。如果你這樣做,「跳轉到定義」綁定仍然安裝,但自動完成的東西沒有設置。 –

回答

1

jedi使用auto-complete爲自動完成,所以把它們關掉,你需要看看auto-complete manual

; 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)