如果我打开doc.foo文件,我希望emacs在同一个文件夹中查找并打开doc.bar文件

时间:2012-06-09 05:35:35

标签: emacs elisp auctex

具体来说,当我在LaTeX(auctex)工作时出现这个问题,但我认为它必须有一般的emacs解决方案。

对于每个doc.tex文件,我在同一文件夹中都有一个关联且经过编辑的doc.sty文件。

有没有办法,每当我打开doc.tex文件时,我都可以让emacs打开该文件夹中的doc.sty文件?我在elisp中并不精通,所以非常简单 - 它不需要是健壮的代码:它可以假设两个文件都命名为doc。*并且两者都存在。

1 个答案:

答案 0 :(得分:6)

看一下评论:
M-x find-library RET find-file RET

这不是您要求的,但它是打开相关文件的内置解决方案。只需将密钥绑定到ff-find-other-file(或ff-find-related-file,如果您更喜欢该别名),就可以轻松地在这两个文件之间来回切换。

特别参见:

  • C-h v ff-other-file-alist RET
  • C-h v ff-search-directories RET

这样的事情:

(add-hook 'latex-mode-hook 'my-latex-mode-hook)

(defun my-latex-mode-hook ()
  "My LaTeX customisations."
  (setq ff-search-directories '(".")
        ff-other-file-alist  '(("\\.tex$" (".sty"))
                               ("\\.sty$" (".tex"))))
  (local-set-key (kbd "C-c f") 'ff-find-other-file))