iPython REPL从文本编辑器(Windows 10)接收到错误字符

我想要一个类似vim的文本编辑器,以将代码发送到REPL,包括Windows中的iPython 。在Linux中,SLIMUX是完美的。 (我经常使用WSL,但有时不方便。)

让我们从ATOM的platformio-ide-terminal包开始。这是我发送的代码:

iPython REPL从文本编辑器(Windows 10)接收到错误字符

这是发送到在Powershell中运行的iPython REPL的内容:

iPython REPL从文本编辑器(Windows 10)接收到错误字符

对于普通的Python,它不会这样做;效果很好。

让我们转到NeoVim的iron.nvim,在其中发送选择(<Plug>(iron-send-motion))时,对于iPython而言,情况更糟:

iPython REPL从文本编辑器(Windows 10)接收到错误字符

除了添加额外的字符外,iron.nvim send-selection命令甚至无法执行该命令(在Github上登录的issue)。正义坐在REPL中,直到您切换vim窗口,进入插入模式,然后按Enter。尽管它不会在普通的Python中添加额外的字符,但仍不会执行它(这可能是一个单独的问题)。

iPython和这些额外的字符怎么了?有什么办法可以解决?为什么在Windows上将代码从文本编辑器发送到任意REPL如此困难?

llpandrly 回答:iPython REPL从文本编辑器(Windows 10)接收到错误字符

emacs stack exchange上的这篇文章至少有一个部分答案:在版本5中,iPython获得了一个与Emacs的下层外壳不兼容的“新终端接口”。这样做会给Atom和Iron.nvim带来困难,这也是有道理的。

对于Atom,使用ipython --simple-prompt启动shell可以完全解决问题。对于iron.nvim,它至少可以消除不良字符。在iron.nvim中,我已经用坏字符换了iPython多行粘贴而失去了换行符,但这似乎超出了这个问题的范围。

本文链接:https://www.f2er.com/3071177.html

大家都在问