停止执行 .emacs 文件

10

有没有任何一种方法可以在.emacs文件中使用一个命令告诉Emacs忽略其后的任何内容?

我正在尝试分离我的.emacs文件中问题的来源,而注释进入和退出代码非常繁琐。


2
不会很漂亮,但你可以在二分点处放置一个 (error "Done"),这样你就会得到你发出的错误,并且它不会传递到文件的其余部分。 - Dan
@Dan,你的解决方案对我来说最好(无需记住我注释掉了什么,或者在哪里留下了(quote ... ))。如果你把它写成答案,我会接受它。 - Amelio Vazquez-Reina
当然,很高兴能帮到你! - Dan
2
在http://stackoverflow.com/questions/24060841/stop-loading-emacs-configuration-file-setting-a-break-point/24061299#comment37102419_24061299的评论中有相关答案。 - Tobias
3个回答

8
在你二分查找时,将(error "Done")放入你的.emacs文件中,在此处停止emacs处理其余的.emacs文件。你会在启动时收到你发出的错误信号,但它将阻止emacs处理其余的.emacs文件。@Tom提供的有关comment-dwim的建议和@Drew有关comment-region的评论都是不错的,但(error "Done")选项具有优势,即你只需将一行移动到.emacs文件的各个位置,而不需要注释/取消注释其他部分——这可能会变得冗长和容易出错。

5

如果您使用M-;,也就是comment-dwim,那么注释和取消注释都非常容易。只需标记区域并输入相应的命令即可。

另外,您还可以使用一个技巧,即在文件结尾处加上(quote,在末尾加上)。这将使文件的其余部分显示为一个常量,并被丢弃。


3
在我的看法中,“comment-region”比起用于文本区域注释和取消注释的“comment-dwim”要更好,它可以嵌套已经被注释的代码,而不仅仅是将其取消注释。而且使用“C-u”可以取消注释(一层嵌套)。我将“comment-region”绑定到“C-x C-;”。 - Drew

1
为什么不只高亮文件的一半,然后执行“eval-region”呢?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接