其实这个问题以前就遇到过,我之前配置的emacs如果行尾有空格就会出现高亮,如果是自己写的倒是没有什么问题,因为我觉得不会有那么蛋疼的人,非得在自己的代码后面加一些无用的空格玩(其实也说不准就会有这样的人)。后来,往emacs里复制代码的时候经常会出现这个问题,因为这段时间一直用的CLion,这个问题就没怎么关注了,结果今天不知道怎么想就又用emacs了,就有遇到这个问题了,于是我就去找了个解决办法。
一般来说,我们的emacs配置有两种方法,一种是就只有一个文件.emacs,所有的初始化函数都在这个里面,这个方法很简单,可是后面添加的文件多了以后就会变得很繁杂;还有一种方法是使用目录/.emacs.d/,所有配置文件都放在该目录下,并且Emacs启动时会自动执行该目录下名为init.el的文件。
无论你用的是哪一种方法,打开你的配置文件,在里面添加
;; 存盘前删除行末多余的空格/空行
(add-hook 'before-save-hook (lambda () (whitespace-cleanup)))
添加了这句话后,你直接保存代码,就会自动删除所有的行尾空格,既让我们看着不觉得难受,也规范了代码的格式。