2009-10-27 5 views
5

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

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

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

ответ

1

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

Первый заключается в изменении 'default-directory быть что-то местное, как:

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

Это имеет недостаток, что С-х С-е Теперь ведет себя по-разному (начиная с ~).

Другой способ изменить '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)) 
+0

Это прекрасно работает. Благодаря! – Shanmu