每当打开新缓冲区时,如何 运行 命令?

How can I run a command whenever a new buffer is opened?

我想默认启用 auto-complete-mode。由于某种原因 global-auto-complete-mode 似乎对任何事情都没有影响。到目前为止,我一直在做的是每当我打开一个新缓冲区时手动启用自动完成模式。我在这里有什么选择?

(add-hook 'prog-mode-hook #'auto-complete-mode)

global-auto-complete-mode 并不像您想象的那样全球化。来自 manual:

Enable auto-complete-mode automatically for specific modes

auto-complete-mode won't be enabled automatically for modes that are not in ac-modes. So you need to set if necessary:

(add-to-list 'ac-modes 'brandnew-mode)

因此,如果你想让 prog-modeeshell-mode 中的所有缓冲区自动启用 auto-complete-mode,你必须输入以下内容在您的 .emacs 文件中:

(add-to-list 'ac-modes 'prog-mode)
(add-to-list 'ac-modes 'eshell-mode)