正如您所知,我们可以看到' make -k'当我们执行' M-x编译时命令'在emacs c ++模式中。
但是,现在我正在研究一些boost库,所以在编写示例代码之后我必须经常编译单个文件。 所以,为方便起见,我一直这样做。
(1) make an alias in shell init file for g++ compile command.
alias c="g++ -g -Wall -O0 -std=c++11"
(2) map 'M-x compile' command to Function Key F9 in .emacs
(global-set-key [f9] 'compile)
(3) write c++ code
(4) press F9 and modify filename to current open file
例如,您可以看到'编译命令:c vvv.cpp'在下面的屏幕截图中。 (这个屏幕截图只是我为这个问题编写的一个简单代码。 ' C'是编译命令和选项的别名) 但是,这个开放的文件名实际上是' vector1.cpp',所以' vvv.cpp'应该由' vector1.cpp'。
自动替换我认为这不错。 但是,我想找到一种方法,我不必修改当前的文件名。 "只需按F9和RET,即可编译当前文件。"这正是我想要的。
我能做出更好的想法或方法吗? 或者请告诉我你最好的按键压缩方式。 感谢。
答案 0 :(得分:2)
EmacsWiki有一个很好的部分,解释了如何自定义compile
命令:Compile Command
在您的情况下,您可以在c ++模式中添加一个钩子,以根据需要定义compile-command
变量。按照wiki上的示例:
(add-hook 'c++-mode-hook
(lambda ()
(set (make-local-variable 'compile-command)
(format "g++ -g -Wall -O0 -std=c++11 %s" (buffer-name)))))
将此代码段添加到.emacs
应该可以解决问题。