我的Emacs会话中打开了大约400个文件。我正在配置一些模式,所有缓冲区都更改为fundamental-mode
。
现在,当我打开文件时,Emacs会选择正确的主模式,但已经打开的文件仍处于基本模式。如何强制Emacs重新打开所有打开的文件并为每个文件选择正确的模式?
答案 0 :(得分:3)
试试这个:
(defun aak/auto-mode-anywhere ()
(interactive)
(dolist (buffer (buffer-list))
(with-current-buffer buffer
(when (and
(eq major-mode 'fundamental-mode)
(buffer-file-name))
(set-auto-mode)))))
M-x aak/auto-mode-anywhere
完全没有赢得"重新打开"文件(不恢复或重新加载),但它将为访问文件的fundamental-mode
缓冲区设置适当的主模式(基于auto-mode-alist
等)。
答案 1 :(得分:0)
ibuffer
RET fundamental-mode
RET - 标记所有基本模式缓冲区(normal-mode)
RET - 评估所选缓冲区中的elisp