如题,我发现eshell打开的各种程序都不会记录这个程序本身执行的history,例如标题说的各种repl,在repl里M-n M-p是显示Not found的,就算是有也是进入这个程序之前的shell的命令。
我在网上看了多资料,无一例外都是说的eshell本身的history,而不是我上面说的。这个问题能解决吗?
如题,我发现eshell打开的各种程序都不会记录这个程序本身执行的history,例如标题说的各种repl,在repl里M-n M-p是显示Not found的,就算是有也是进入这个程序之前的shell的命令。
我在网上看了多资料,无一例外都是说的eshell本身的history,而不是我上面说的。这个问题能解决吗?
eshell 不行吧。这个问题其实只要 eshell 能给 repl 里发送上下键就能解决了,然而看起来并不能。jwiegly 在写一个 eshell-term,不过我看代码还没写完。
emacs 里用 repl 还是用 comint 吧。
你这是在套娃。
按理说 eshell 不该管 python repl 的历史记录。
要就实现 python repl 的历史记录,不管它从哪里打开。
zsh 难道可以吗?长什么样?数据保存在哪里?
它为什么要管别人家里的历史啊?
eshell 只能用来简单运行一些不需要复杂 tty 操作的程序,像 REPL 甚至 nvim,htop 这种程序就跑不了了。
Python 的 REPL 是 readline 实现的,当 term 收到一个 C-p 这种信号,readline 就会在自己存的历史记录里面翻一条给你,bash 和 zsh 能用是因为通常我们是在完全功能的终端模拟器里面运行,而非 eshell 这种特殊环境
HOME 里面有个 .python_history 吧,应该是 python 自己管自己的。
确实,我电脑上有这个文件,还有个 .node_repl_history
。应该就是楼主要的答案了。
确实是有这个东西,感谢各位。