一个简单的用于emacs c++语言本地编译变量设置的yasnippet模板:
# name: compile /* compile-command "..." */
# key: compile
# --
// Local Variables:
// compile-command: "g++ `(buffer-name)` -o `(file-name-sans-extension (buffer-name))`$0"
// End:
简单的来说,就是用``包含起来的部分会作为elisp语言来解释。
用上例在c++源文件testcpp.cpp尾输入compile并按tab键插入模板后,会变为以下形式
// Local Variables:
// compile-command: "g++ testcpp.cpp -o testcpp"
// End:
重新载入文件后,M-x compile就可以直接编译源文件,不需要手工输入任何东西,会非常方便。