当缓冲区文件已经存在时,找到文件挂钩的替代方案是什么



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

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

我会尝试使用建议。您可以告诉您使用的任何查找文件命令,以确保您的选项卡设置正确。简单的例子,因为我使用ido查找文件:

(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)

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

最新更新