相关文章推荐

Emacs: 在评估缓冲区时启动一个新的劣质python shell

2 人关注

我在vanilla Emacs 23中处理各种python程序,当我评估一个缓冲区时,一个劣质的python shell如期启动,脚本运行正常......

这一切都很好,然而,当在多个(不相关的)项目上工作时,使用同一个python实例,我是否有办法为每个源文件创建一个新的劣质python shell?

2 个评论
你使用什么模式?
我正在使用默认的Python.el...
python
emacs
OGMGIC
OGMGIC
发布于 2018-04-18
2 个回答
0x5453
0x5453
发布于 2020-12-30
0 人赞同

我还没有完全测试,但我认为这将是可行的。

(add-hook 'python-mode-hook 
          (lambda ()
            (setq-local python-shell-buffer-name 
                        (format "Python %s" (buffer-file-name)))))

这应该导致每个缓冲区在启动 python shell 时使用不同的缓冲区名称。 每个具有不同名字的Python shell缓冲区都应该有自己的劣质的Python进程。

我刚刚尝试了一下这个方法(评估在 划伤 ),似乎没有达到预期效果。欢迎进行独立测试,看看是否只是我的问题,lisp真的不是我的东西......谢谢...
我简单地测试了一下,它似乎对我有用,尽管我用的是Emacs 26,所以可能有区别。 确保在测试时,你做了一些事情来导致钩子运行;例如,如果你有打开的Python缓冲区,你可以切换 python-mode 的开关,或者关闭并重新打开文件,或者只是重新启动emacs。
我在家里试过这个方法(在后来的emacs版本上,它的工作没有问题,然而在Emacs 23.1.1上,它似乎没有同样的效果,在敲击C-c C-c时,使用的是同一个运行实例...
danelliottster
danelliottster
发布于 2020-12-30
0 人赞同

当我需要在emacs中建立一个新的劣质的python shell,并想指定哪个python缓冲区向每个shell发送代码时,我做了以下工作。 这让我有了更多的控制权。

  • 使用M-x rename-buffer命令,将现有的劣质shell缓冲区名称设置为类似*Python-otherbuff*的名称。

  •  
    推荐文章