c - 用于编译 C 文件的 emacs 键绑定(bind)

标签 c emacs

这是我想做的:当按下 C-c C-l 时,如果还没有终端窗口,则会启动一个新的终端窗口,然后在该终端中,使用一些标志和当前缓冲区的文件调用 gcc。我该怎么做?

最佳答案

尝试内置:

M-x compile gcc ...

compile默认情况下未绑定(bind)任何键,但您可以执行以下操作:

(add-hook 'c-mode-common-hook 
          (lambda () (define-key c-mode-base-map (kbd "C-c C-l") 'compile))))

人们在 Emacs Wiki 上围绕编译编写了很多包。查看SmartCompile , CompileCommand , 和类别 Programmer Utils .

使用 M-x compile ... 的好处仅仅在“终端”中运行它是你得到 C-x ` (又名 next-error ),它将跳转到导致错误命令的文件和行。还有一个命令 M-x recompile 可以达到你的预期。当然,与所有 Emacs 命令一样,compile命令保留编译调用的历史记录,您可以使用 M-pM-n 浏览历史记录。

关于c - 用于编译 C 文件的 emacs 键绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3592288/

相关文章:

c - 检测控制故障

java - 在 Java 和 C 上重现相同 HMAC MD5 的问题

css - 如何在 emacs 中嵌套 css 选择器?

emacs - Emacs 中当前段落的分割线

emacs - 为什么 elisp 函数不起作用(如我所料)?

Emacs 将缓冲区合并为一个而不使用 C-x 1 键绑定(bind)

c - 使用命令提示符运行图形 C 程序

c - 为什么 free() 会影响其他变量的值?

c++ - 快速 Arc Cos 算法?

emacs - 如何检查是否连接到远程服务器?