emacs python-mode:指定发送命令的python shell

时间:2011-11-26 23:36:23

标签: emacs python-mode

跟进这个question - 如果我在emacs中运行了两个python shell,我该如何指定从每个python脚本缓冲区发送哪些shell命令?我怀疑它与python-bufferpython-set-proc有关,但是将这些变量设置为shell的名称显然不是解决方案。

修改:实际上因为我使用的是python-mode而不是loveshack python,所以它可能与python-bufferpython-set-proc没有关系。

3 个答案:

答案 0 :(得分:2)

您可以将新值设置为python-buffer

(defun my-python-set-proc (buffer-name)
  (interactive "B")
  (setf python-buffer (get-buffer buffer-name))
  (python-set-proc))

然后 M - x my-python-set-proc RET *Python* RET , 或 M - x my-python-set-proc RET *Python*<2> RET

答案 1 :(得分:1)

在任何Python缓冲区中,您可以使用变量py-which-bufname来控制代码在执行时发送到哪个Python shell。该变量是缓冲区本地的,因此为了将其设置为自定义值,您需要通过按M-:并输入以下内容从缓冲区内更改它

(setq py-which-bufname "My-Custom-Bufname")

这也可以轻松快速创建进程缓冲区:如果将py-which-bufname设置为没有相应进程缓冲区的名称,则只需发出C-c !快速创建一个。

HTH

答案 2 :(得分:0)

py-shell-name设置默认值,可能会被命令

覆盖

如果缓冲区代码包含指定pythonVERSION的shebang,则优先于默认设置。

您可以通过调用类py-execute-buffer-pythonVERSION

的命令,通过特定的pythonVERSION强制执行缓冲区

参见菜单PyExec,条目Execute buffer ...