Emacs. Автозаполнение в оболочке Python не работает для загруженного файла

Я новичок в Emacs, и я пытался настроить среду для разработки на Python. Я использую python_mode 6.1.3 и джедай. Это весь мой файл.emacs:

(package-initialize)

(defun toggle-fullscreen ()
  (interactive)
  (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
             '(2 "_NET_WM_STATE_MAXIMIZED_VERT" 0))
  (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
             '(2 "_NET_WM_STATE_MAXIMIZED_HORZ" 0))
)
(toggle-fullscreen)

(setq py-install-directory "~/.emacs.d/python-mode.el-6.1.3")
(add-to-list 'load-path py-install-directory)
(require 'python-mode)

(setq py-load-pymacs-p t)
; python-mode

(require 'auto-complete-config)
(ac-config-default)

(add-hook 'python-mode-hook 'auto-complete-mode)
(add-hook 'python-mode-hook 'jedi:setup)
(setq jedi:complete-on-dot t)                 ; optional

(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(custom-enabled-themes (quote (solarized-dark)))
 '(custom-safe-themes(quote("8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4" default)))
 '(ido-mode (quote both) nil (ido))
 '(initial-buffer-choice "~/Projekt/Python/CNC/")
 '(menu-bar-mode nil)
 '(package-archives (quote (("gnu" . "http://elpa.gnu.org/packages/") ("melpa" . "http://melpa.milkbox.net/packages/"))))
 '(py-complete-function (quote py-complete-completion-at-point))
 '(scroll-bar-mode nil)
 '(tool-bar-mode nil))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
)

Он отлично работает, но не идеально подходит для консоли. Когда я редактирую буфер и хочу выполнить, я нажимаю Cc Cc, который открывает оболочку python (python или ipython, которую я пробовал с обоими) и выполняет буфер. Проблема в том, что классы и определения, сделанные в исполняемом файле, не видны для автозавершения джедая в режиме оболочки. Более того, автоматическое завершение не включается автоматически при запуске режима оболочки, мне нужно переключить его с помощью функции jedi:setup. Я хочу решить 2 проблемы: 1. Сделать так, чтобы джедай работал сразу после запуска режима оболочки, не вызывая jedi:setup 2. (что более важно), чтобы сделать автоматическое завершение работы для символов в файле, который я выполнил. Я проверял различные варианты, используя python /. ipython, выполняющий вручную execfile() или%run после включения jedi ac. Все они потерпели неудачу. Я не могу получить приличный AC для файла, который я выполнил в оболочке Python

0 ответов

Другие вопросы по тегам