在Emacs中运行命令,将输出显示在可点击的缓冲区中

5
我想在emacs中运行一个shell命令,并在可点击的缓冲区中获取其输出。该命令是一个shell脚本,最终在一堆源文件上运行glimpse。它的输出看起来像grep的输出。它包括文件名和行号。我希望能够在文件上单击或输入时,emacs能够将我带到文件中的那一行。 我想我需要一些自定义函数来实现这个功能,但我是emacs的新手,所以我还不知道如何编程。
2个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
7

M-x grep 输入你的命令代替默认值。

M-x apropos "grep.*null" 如果你不想发送 "/dev/null",可以找到grep-use-null-device


这似乎是一个有趣的方向。问题在于emacs将/dev/null附加为我的命令的最后一个参数。我猜它期望grep在一些文件集上运行,由于我的命令在其参数中不包括任何文件,因此它会附加/dev/null作为默认文件。 - Alexander Sandler
1
<kbd>M-x apropos</kbd> "grep.*null" 可以找到 grep-use-null-device - event_jr
@event_jr 为了让其他人更容易找到,将该评论的内容直接放在您的答案中也是有意义的。 - N.N.

1
另一种方法是使用shell-command M-!命令,并使用M-x compilation-mode更改输出缓冲区的模式。 另一种选择是使用M-x compile命令运行该命令。缺点是,Emacs默认只允许一个活动编译缓冲区。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,