跟进这个question - 如果我在emacs中运行了两个python shell,我该如何指定从每个python脚本缓冲区发送哪些shell命令?我怀疑它与python-buffer
和python-set-proc
有关,但是将这些变量设置为shell的名称显然不是解决方案。
修改:实际上因为我使用的是python-mode
而不是loveshack python,所以它可能与python-buffer
和python-set-proc
没有关系。
答案 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 ...