如何加速从异步shell命令输出的emacs?

我使用shell命令在emacs缓冲区中运行应用程序的输出
(shell-command "verbose-app &" "*verbose-apP*")

问题是这个命令是非常冗长的。这么多,emacs缓冲区有时需要几秒钟才能赶上。实际输出滞后数秒。

有没有办法通过禁用某些东西加快输出滚动?像正则表达式匹配或语法高亮?

备查:

详细的应用程序是adb logcat。我改变了我现有的功能

(defun adb-logcat ()
  (interactive)
  (shell-command "adb logcat -v threadtime&" "*adb-logcat*")
  (pop-to-buffer "*adb-logcat*")
  (buffer-disable-undo))

以下内容

(defun adb-logcat ()
  (interactive)
  (start-process "*adb-logcat*" "*adb-logcat*" "/bin/sh" "-c" "adb logcat -v threadtime")
  (pop-to-buffer "*adb-logcat*")
  (buffer-disable-undo))

它现在滚动更快。好极了!

就像文档所说,shell命令在下面的shell中运行命令,这意味着shell模式。如果您只想输出并且没有任何功能,则使用start-process运行命令可能更接近您想要的。
(start-process "*verbose-apP*" "*verbose-apP*"
 "/bin/sh" "-c" "verbose-app")

将其包装成功能不应该太难了。你可能想看看shell-command如何实现异步命令;例如,如果您尝试在另一个已存在时尝试创建一个,则会询问是否应该终止现有进程。 http://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/simple.el#n2447可能是一个很好的起点。 (如果链接不好,这是一个链接到defun shell-command内部,指出了一个关于处理和号的注释,如果它在那里,命令将异步运行。)

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...