我正在尝试连接我的Vim,因此我可以将命令发送到正在运行的IPython实例。有脚本,但它们已经过时了。我正在尝试写一个新的。
我现在的主要绊脚石是使IPython在后台监听传入网络连接的正确方法(即不同的线程,欢迎其他解决方案)并在主线程中执行收到的命令 。早期的脚本没有在主线程中执行命令,并且会定期崩溃,例如matplotlib。
我看到twisted提供了ThreadedSelectReactor
,但我对如何正确使用IPython感到茫然。
方案示例如下:
2 Windows打开,一个是运行IPython的终端,一个是Vim,您正在编辑python脚本。你在Vim中选择一行并点击C-Enter,Vim将该行发送到IPython实例,该实例执行它并在IPython终端中打印结果,就好像你已经将这条线复制/粘贴在我自己身上一样。
(Matlab用户知道这个功能有多么有用。)
答案 0 :(得分:1)
我得到的印象是IPython已经或已经转向使用zmq作为消息传递协议。至少当我运行0.11版zmq支持时可用。
使用zmq(零mq)整个消息传递问题大大减少,以使你的Vim实例通过zmq进行通信,据我所知,这应该不那么难(zmq被移植到各种各样的平台)。
查看此博客:http://ipythonzmq.blogspot.com/ 当然还有:http://www.zeromq.org/
答案 1 :(得分:1)
Paul Ivanov几个月前使用IPython的zmq界面做了这个。它被称为vim-ipython。