REPL 长行输出怎么处理?

各位是如何在 Emacs 的 shell / REPL 中处理特别长的输出的?比如在 Python 或者 Clojure 的 REPL 中打印一个变量,如果该变量是一个很长的字符串/列表/字符串的话,就会导致 REPL 变得很卡,如果 C-c C-c 中断打印,REPL 的高亮之类的也会变得不正常。

因为时常做一点数据类的工作,在做一些探索性质的工作的时候,经常要打印一些东西看看。现在不得已就用 IPython Notebook,可是毕竟不如 Emacs 好用。

大家是怎么做的?

quickrun这个包可以比较好的解决这个问题

看起来不错,不过似乎是完整的跑一遍 code,而不是像 REPL 那样交互式的

这个问题是一个知名问题,不容易解决的,这考验一个编辑器的处理能力,emacs在这方面恰恰很弱。我是过atom和pycharm,处理的都不错,vscode处理的应该也不错。

嗯,我看到的一些资料说跟 Emacs 按行处理输出有关。vscode 观望中,如果有好的 org mode 替代物说不定就换用 vscode 了 :stuck_out_tongue:

org-mode两大功能,第一个是作为标记性语言,第二个是关于gtd相关的。 第一个标记性语言功能,说实话,org-mode不错,但是markdown也能比较好的胜任,如果平时写文档不多的话。 第二个gtd相关的,我从来都是用手机。

我现在使用Emacs的唯一理由就是我要学习以及使用Clojure,这个没得选了。

vscode在python,go,js,c++,c#,f#方面都是非常优秀的。也有不如Emacs的地方,比如Emacs比较擅长交互式编程,你写一行程序想运行一下的话,直接可以发送到repl里面运行,但是vscode貌似没这功能

org-mode 整体功能还是比 md 全。比如 capture、时间戳、表格、导出等等。

vscode 好像已经有人提 REPL API 这个问题了,印象里 issue 里说下几个版本可能会给需要 REPL 的语言增加 API。

vscode迭代很快啊,期待这个功能。