1

我有一系列在打开文件或激活特定模式时正常执行的函数。如果find-file-hook文件已经打开,则不会触发,当我尝试打开已经打开的文件(例如,在另一个帧中)时,Emacs 会正确切换到该缓冲区。但是,在这种情况下,我的自定义函数不会激活,因为没有触发器。我不认为标准的钩子涵盖这样的情况。

find-file-hook当缓冲区文件已经存在时,还有什么替代方法?

4

2 回答 2

4

我会尝试为此使用建议。你可以告诉你使用什么 find-file 命令来确保你的标签栏设置正确。简单的例子,因为我使用 ido-find-file:

(defun my-find-file ()
  (interactive)
  (call-interactively 'ido-find-file))

(defadvice my-find-file (after do-something)
  (message "doing stuff"))

(ad-activate 'my-find-file)
于 2013-08-13T23:48:43.073 回答
2

如果这种情况不经常发生,您可以重新打开文件以触发find-file-hook. 为此,只需键入C-x C-v <enter>.

于 2013-08-14T02:13:55.063 回答