Emacs: Как запустить локальный интерпретатор Python при редактировании удаленного файла Python с помощью tramp - PullRequest
5 голосов
/ 27 октября 2009

В Emacs, когда я запускаю python с C-c! при редактировании удаленного файла python (используя tramp - plinkx: в windows), интерпретатор python запускается на удаленном хосте.

Можно ли как-нибудь отредактировать удаленный файл python и запустить локальный интерпретатор python?

Я использую python-mode (не по умолчанию python.el)

1 Ответ

1 голос
/ 27 октября 2009

python-mode создает подчиненный процесс через 'make-comint, который использует 'start-file-process, который создает процесс относительно переменной 'default-directory. Так что есть несколько способов справиться с этим зверем.

Первое - это изменить 'default-directory на что-то локальное, например:

(add-hook 'python-mode-hook (lambda () (setq default-directory "~"))

С другой стороны, C-x C-f теперь ведет себя иначе (начиная с ~).

Другое - изменить 'default-directory только для вызова 'py-shell, вот так (не проверено):

(defadvice py-shell (around py-shell-different-directory activate)
  "set default-directory just for py-shell"
  (let ((default-directory "~"))
    ad-do-it))
...