windows版的emacs如何使用terminal?

如题,windows版的emacs 使用term后 会生成一个cmdproxy.exe的子进程 然后就是 Invalid argument。请问一下各位,有没有合适的方法能够让windows版的emacs跑个伪终端?

直接用eshell

不能使用vim这种交互模式

没用过windows下的emacs,试试重新编译?

没用过windows版的term,一般在win上面都是直接M-!或者M-x shell凑活一下

不是很明白你的需求是什么?你需要在Emacs的Terminal中跑vim?

主要还是希望能够运行top vim等交互式的命令。

windows版的emacs一般都直接提供二进制包,而且在win下面编译似乎挺麻烦的。

是这样的, shell eshell这两个都不能够使用交互式的命令, 只有term可以。所以我希望能在windows版的emacs下跑term。但是windows版的term 好像是调用了cmdproxy这个子进程,我查过一些解决办法暂时没有找到好的。所以在论坛问问 大家有没有人在windows的emacs下有使用term这个命令的经验。

主要需求还是能像terminal一样跑交互式的命令,shell和eshell似乎都不可以,所以只能用term。

如果这样倒不如直接用bash

试试用msys2

搞个工具链重头编译,我封装win的软件都直接迁移到msys2的,emacs同理可以,相对更方便,可以尝试下里面提供的emacs,或许可用 :joy:

这个term 我没用过,刚才试了一下,确实是跟你一样的报错。
我就是通过msys2 编译的master分支Emacs。其实官方提供的版本估计就是通过msys2编译的。 在windows上可以直接用微软新开发的Terminal,很好用。或者直接用bash。
ps:你可以试试猫哥写的multi-term ,这个是基于term的一个包。

https://emacs-china.org/t/windows-10-emacs-27-1-wsl-2/14421

WSL 版应该不错

微软的terminal正在用,主要还是更希望能直接在emacs中运行终端模拟器,可以不离开emacs就进行一些终端上的操作。 你msys2编译的分支build version是不是这个 (build 1, x86_64-w64-mingw32)?

msys2的emacs可以用term吗?

wsl的emacs 用x server显示图形 不知道为什么 ui的相应有时候会很慢。

msys2 上安装的也是不行的。别费劲去编译了。
stack-overflow 有个问题就是讨论这个的你看看。

没用过,windows现在基本没怎么用了

这个问题我搜索到过 每个答案基本都尝试过了 好像都没什么办法。

虚拟机试了试,确实不行,独立开一个终端吧