我有一些我想从 Emacs 使用的控制台命令,即ag
. 它在CMD
或Far Manager中效果很好。但是,当我从 Emacs 使用它时,shell
或者eshell
我遇到了一个可能是(虽然几率很小)ag
特定的问题。
当我运行shell
然后运行ag
时,它会立即返回结果(帮助屏幕)。如果我运行它在目录中的文件中搜索一行 as ag needle
,它会挂起并且不返回任何内容。
如果我在它ag needle .
立即返回结果时运行它,但是在这种情况下缺少文件名和行号,--color
并且-nogroup
选项不会影响打印结果。
当我通过shell-command
它运行它时,它会返回正确的结果(带有文件名和行号)。eshell
有同样的问题。
我需要做什么才能使这些命令在shell
和/或中工作eshell
?
在这个问题的答案中已经指出,Win32 存在子进程缓冲问题。有没有办法解决它?