每当我必须编辑 C++ 代码时,我都会ff-find-other-file
在头文件和实现文件之间来回切换。我可以将它用于 Python 文件在实现和测试之间来回切换吗?例如,如果我在foo.py
,我希望能够切换到foo_test.py
。
问问题
478 次
2 回答
4
您实际上想要设置ff-other-file-alist
(并且可能还有ff-search-directories
)。这些变量是自动缓冲区本地的,因此您可以在模式挂钩中安全地设置它们。
cc-other-file-alist
是 C/C++ 文件的预配置映射,它只是ff-other-file-alist
.
要处理从测试到实现的反向映射,您将添加第二个条目,因此 alist 将如下所示:
'(("_test\\.py$" (".py"))
("\\.py$" ("_test.py")))
在这种情况下需要先进行反向映射,因为规则按顺序处理并.py
匹配两个文件名。如果它们是相反的方式,您仍然会从foo_test.py
to foo_test_test.py
,依此类推...
有关更多信息和示例,请参阅此相关问题:
如果我打开 doc.foo 文件,我希望 emacs 在同一文件夹中查找并打开 doc.bar 文件
对于您的情况,您可以使用:
(add-hook 'python-mode-hook 'my-python-mode-hook)
(defun my-python-mode-hook ()
"My python customisations."
(setq ff-search-directories '(".")
ff-other-file-alist '(("_test\\.py$" (".py"))
("\\.py$" ("_test.py")))))
于 2012-06-09T06:52:19.850 回答
1
您需要创建一个 .emacs 规则设置 cc-other-file-alist,例如:
(setq cc-other-file-alist
`(("\\.py$" ("_test.py"))))
于 2012-05-03T20:01:03.847 回答