emacs keybinding编译C文件

Igo*_*gor 7 c emacs

这就是我想要做的事情:当按下Cc Cl时,如果没有终端窗口,则启动一个新的终端窗口,然后,在该终端中,使用一些标志和当前缓冲区的文件调用gcc.我该怎么办?

Tre*_*son 11

试试内置:

M-x compile gcc ...
Run Code Online (Sandbox Code Playgroud)

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

(add-hook 'c-mode-common-hook 
          (lambda () (define-key c-mode-base-map (kbd "C-c C-l") 'compile))))
Run Code Online (Sandbox Code Playgroud)

人们在Emacs Wiki上编写了很多软件包.查看SmartCompile,CompileCommandProgrammer Utils类别.

使用M-x compile ...而不仅仅是在"终端"中运行它的好处是你得到C-x `(又名next-error)会将你跳转到导致错误命令的文件和行.并且有一个命令M-x recompile可以满足你的期望.当然,像所有Emacs命令一样,该compile命令保存编译调用的历史记录,您可以使用M-p和浏览历史记录M-n.

  • 您应该注意,在运行`Mx compile`之后,您可以使用`Mx recompile`来运行与上次相同的命令. (5认同)