2017-04-21 2 views
1

Ich habe Jedi-Modus in Emacs für Python-Bearbeitung installiert, weil ich finde C-. und C-, sehr nützlich für den Sprung zu Definitionen und zurück. Die automatische Autovervollständigung möchte ich jedoch nicht. Während ich versuche, emacs mit installiertem Jedi zu benutzen, versucht es ständig mit Vorschlägen zu springen und Popups zu erstellen. Wie kann ich Jedi so konfigurieren, dass es nur als Reaktion auf bestimmte Aufrufe und nicht als Reaktion auf Tipp- oder Cursorbewegungen ausgeführt wird?Konfigurieren Sie Jedi nicht automatisch automatisch abzuschließen?

Ich habe versucht, (setq jedi:complete-on-dot nil) und (setq jedi:tooltip-method nil) Einstellung, aber diese deaktivieren nur einige der reaktiven Funktionen Jedi. Wie deaktiviere ich alle von ihnen?

Alternativ gibt es ein anderes Emacs-Paket, das eine bessere Wahl wäre, wenn ich meistens nur zu den Definitionen springen möchte?

+0

Wenn alle Sie suchen zu und von Definitionen springt, vielleicht [stumm Sprung] (https://github.com/jacktasia/dumb-jump) würde für Sie arbeiten. Ich habe es nicht ausprobiert, aber was Sie verlangen, ist die gesamte Prämisse des Pakets. –

+0

Jedi inspiziert den Python ast, damit er Ihnen die Definition von Dingen wie Attributen von Variablen zeigen kann. dumbjump basiert auf grep und regexps und wäre daher viel weniger fähig. –

+0

Es sieht so aus, als könnten Sie 'jedi-mode' direkt aktivieren, anstatt' jedi: setup' aufzurufen. Wenn Sie dies tun, sind die "Jump to Definition" -Bindungen immer noch installiert, aber die Autovervollständigung ist nicht eingerichtet. –

Antwort

1

jedi verwendet auto-complete für Auto-Vervollständigung, so dass deaktivieren Sie im auto-complete manual suchen müssen:

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