我可以更改emacs';默认编译命令?

我可以更改emacs';默认编译命令?,emacs,dot-emacs,Emacs,Dot Emacs,当我运行compile时,Emacs默认为命令make-k。然而,我几乎从不认为在出错后让使继续是有用的,所以我总是删除-k标志。是否有办法更改my.emacs中的默认值,使其仅为make (setq compile-command "make") 或者在.emacs中使用类似的代码就足够了 有关详细信息,请键入 C-h f compile 它描述了调用M-x compile时使用的变量 在这里,您应该看到它调用compile命令和 C-h v compile-command 告诉您这默

当我运行
compile
时,Emacs默认为命令
make-k
。然而,我几乎从不认为在出错后让
使
继续是有用的,所以我总是删除
-k
标志。是否有办法更改my
.emacs
中的默认值,使其仅为
make

(setq compile-command "make") 
或者在.emacs中使用类似的代码就足够了

有关详细信息,请键入

C-h f compile
它描述了调用M-x compile时使用的变量

在这里,您应该看到它调用compile命令和

C-h v compile-command

告诉您这默认为“make-k”。以上都是一种简化,但是如果您需要进一步挖掘,所有信息都应该在这些命令中。

因为我需要不同的编译器来实现不同的模式,所以我使用了以下代码段(此处为javascript显示):

(需要“编译”)
(添加钩子的js模式钩子
(lambda()
(设置(使局部变量“编译”命令)
(格式为“jshint%s”(文件名非目录缓冲区文件名(()())))

这将运行“jshint”作为我的编译命令。然后,我还可以向其他语言添加钩子,并根据需要自定义每种语言。

对于X.AShelley的所有值,“我可以在Emacs中更改X吗?”的答案都是肯定的。唯一真正的问题是,“如何在Emacs中更改X?”为此,
(setq compile command…
(setq default compile command…)
之间是否存在有效的区别?不知道Steve-C-h f setq和C-h f setq default提供了更多的信息,但无法真正解读。@Steve,来自:“如果符号不是当前缓冲区的缓冲区本地符号,并且没有自动标记为缓冲区本地符号,
setq default
setq
具有相同的效果。”。“
compile命令
不是自动的缓冲区本地命令,在执行
.emacs
时,它通常不会是缓冲区本地命令,因此它通常不会产生任何影响。