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

时间:2013-08-13 22:55:56

标签: emacs

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

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

2 个答案:

答案 0 :(得分:3)

我会尝试使用这方面的建议。您可以告诉您使用的任何find-file命令,以确保正确设置了tabbar。简单的例子,因为我使用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)

答案 1 :(得分:2)

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