我对 gnu emacs 有点陌生,所以这可能是一个菜鸟问题,但我有一些批处理文件,我在 emacs 中编码以编译/构建/执行/调试/等时经常使用这些文件。我想知道我如何才能 A) 从 emacs 运行这些批处理文件而不必继续打开 cmd 提示窗口或转到 Windows 资源管理器和 B) 将其绑定(bind)到快捷键(也许我可以指定文件?)我已经看到了几个在线关于以批处理模式运行 emacs 的事情,但我不相信这就是我要找的东西。我知道这是可能的,因为我看到其他人从 emacs 运行批处理(输出和所有内容都会出现在与当前相邻的新缓冲区中,就像您执行 C-x 3
一样)
提前致谢!
最佳答案
要在 Emacs 中运行任意 shell 命令,您可以调用绑定(bind)到 M-! 的 shell-command
参见C-hf shell-command
(或C-hkM-!) 了解详情。
我相信 Windows 原生的 Emacs,默认的 shell 是 cmd
(或者它的某个别名),所以我有理由相信这就是您的想法。
我不确定以下所有命令是否都适用于 Windows,但相关命令是:
- M-& -
async-shell-command
- M-| -
shell-command-on-region
使用前缀参数(例如 C-uM-!),任何这些命令都会将 shell 命令的输出插入到当前缓冲区. (在 shell-command-on-region
的情况下,替换 区域。)
关于windows - 从 Emacs 运行 Windows 批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27240336/