如何在 Emacs 中重新打开所有文件?
How to just reopen all files in Emacs?
我的 Emacs 会话中打开了大约 400 个文件。我正在配置一些模式,所有缓冲区都更改为 fundamental-mode
。
现在,当我打开一个文件时,Emacs 会选择正确的主要模式,但已经打开的文件仍然处于基本模式。我如何强制 Emacs 重新打开所有打开的文件并为每个文件选择正确的模式?
试试这个:
(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
不会完全 "reopen" 文件(没有恢复或重新加载),但它会为正在访问文件的 fundamental-mode
缓冲区设置适当的主模式(基于 auto-mode-alist
等)。
- M-x
ibuffer
RET
- *M
fundamental-mode
RET -- 标记所有基本-模式缓冲区
- E
(normal-mode)
RET -- 在选定的缓冲区中评估 elisp
- **RET -- 删除所有标记
- q -- 关闭 ibuffer 缓冲区
我的 Emacs 会话中打开了大约 400 个文件。我正在配置一些模式,所有缓冲区都更改为 fundamental-mode
。
现在,当我打开一个文件时,Emacs 会选择正确的主要模式,但已经打开的文件仍然处于基本模式。我如何强制 Emacs 重新打开所有打开的文件并为每个文件选择正确的模式?
试试这个:
(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
不会完全 "reopen" 文件(没有恢复或重新加载),但它会为正在访问文件的 fundamental-mode
缓冲区设置适当的主模式(基于 auto-mode-alist
等)。
- M-x
ibuffer
RET - *M
fundamental-mode
RET -- 标记所有基本-模式缓冲区 - E
(normal-mode)
RET -- 在选定的缓冲区中评估 elisp - **RET -- 删除所有标记
- q -- 关闭 ibuffer 缓冲区