简体   繁体   English

Emacs:如何阻止绝地武士?

[英]Emacs: how to stop jedi?

I regularly use jedi.el , it works great. 我经常使用jedi.el ,效果很好。 But I don't know how to stop it ! 但是我不知道如何阻止它!

I manually call it with jedi:setup (which turns jedi-mode on) and try to stop it with jedi-mode but it has no effect. 我用jedi:setup (将其打开jedi-mode)手动调用,并尝试使用jedi-mode停止它,但没有效果。 It is unconvenient and it gets in the way with yasnippet. 这很不方便,并且会与yasnippet冲突。

Do you have a solution ? 你有解决方案吗 ? Thanks. 谢谢。

config: emacs24 and latest jedi.el version from melpa. 配置:emacs24和来自melpa的最新jedi.el版本。 Result of jedi:show-setup-info : jedi:show-setup-info

;; Emacs Lisp version:
(:emacs-version "24.3.1" :jedi-version "0.2.0alpha2" :python-environment-version "0.0.2alpha0")
;; Python version:
((:version "2.7.3 (default, Feb 27 2014, 19:58:35) \n[GCC 4.6.3]" :name "sys" :file nil)
 (:version "0.7.0" :name "jedi" :file "/usr/local/lib/python2.7/dist-packages/jedi/__init__.pyc")
 (:version "0.0.5" :name "epc" :file "/usr/local/lib/python2.7/dist-packages/epc/__init__.pyc")
 (:version "0.0.3" :name "sexpdata" :file "/usr/local/lib/python2.7/dist-packages/sexpdata.pyc"))
;; Command line:
(:virtualenv "/usr/bin/virtualenv" :virtualenv-version "1.7.1.2\n")
;; Customization:
((jedi:complete-on-dot)
 (jedi:doc-display-buffer . display-buffer)
 (jedi:doc-hook view-mode)
 (jedi:doc-mode . rst-mode)
 (jedi:environment-root)
 (jedi:environment-virtualenv)
 (jedi:get-in-function-call-delay . 1000)
 (jedi:get-in-function-call-timeout . 3000)
 (jedi:goto-definition-config
  (nil nil nil)
  (t nil nil)
  (nil definition nil)
  (t definition nil)
  (nil nil t)
  (t nil t)
  (nil definition t)
  (t definition t))
 (jedi:goto-definition-marker-ring-length . 16)
 (jedi:imenu-create-index-function . jedi:create-nested-imenu-index)
 (jedi:import-python-el-settings . t)
 (jedi:install-imenu)
 (jedi:install-python-jedi-dev-command "pip" "install" "--upgrade" "git+https://github.com/davidhalter/jedi.git@dev#egg=jedi")
 (jedi:key-complete .
                    [C-tab])
 (jedi:key-goto-definition .
                           [67108910])
 (jedi:key-goto-definition-pop-marker .
                                      [67108908])
 (jedi:key-related-names . "r")
 (jedi:key-show-doc . "d")
 (jedi:server-args)
 (jedi:server-command "python" "/home/vdardelx/.emacs.d/elpa/jedi-20140321.1323/jediepcserver.py")
 (jedi:setup-keys)
 (jedi:tooltip-method pos-tip popup)
 (jedi:use-shortcuts)
 (python-environment-default-root-name . "default")
 (python-environment-directory . "~/.emacs.d/.python-environments")
 (python-environment-virtualenv "virtualenv" "--system-site-packages" "--quiet"))

What aspect is conflicting with yasnippet? yasnippet的哪个方面有冲突? Is it the use of autocomplete-mode ? 是否使用autocomplete-mode (which seems to be the other broad consequence of running jedi:setup , and which isn't turned off again when jedi-mode is disabled.) (这似乎是运行jedi:setup的另一个广泛结果,并且在禁用jedi-mode时不会再次关闭它。)

Mx autocomplete-mode will toggle that off again, or call (autocomplete-mode -1) in code. Mx autocomplete-mode将再次关闭该功能,或在代码中调用(autocomplete-mode -1)

You could write a function to disable both modes together, and call that to turn jedi off. 您可以编写一个函数来同时禁用这两种模式,然后调用该函数以关闭jedi。 A more robust approach would remember the state of autocomplete-mode at the time jedi was enabled in order to restore it afterwards, but it sounds like that's not critical in your case. 一种更强大的方法会记住在启用jedi时自动完成模式的状态,以便随后进行恢复,但这听起来对您而言并不重要。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM