是否有一个Emacs函数可以切换到不在同一目录中的文件.cpp
和.hpp
?
我知道有拨动source.el,但它显然不处理的情况下.cpp
,并.hpp
在不同的目录。但我的目录结构是这样的:
project1/src/foo.cpp
project1/include/foo.hpp
project2/src/bar.cpp
project2/include/bar.hpp
它之间切换并不难src/foo.cpp
,include/foo.hpp
但我不会说Lisp。
是否有一个Emacs函数可以切换到不在同一目录中的文件.cpp
和.hpp
?
我知道有拨动source.el,但它显然不处理的情况下.cpp
,并.hpp
在不同的目录。但我的目录结构是这样的:
project1/src/foo.cpp
project1/include/foo.hpp
project2/src/bar.cpp
project2/include/bar.hpp
它之间切换并不难src/foo.cpp
,include/foo.hpp
但我不会说Lisp。
Answers:
在find-file.el中查看ff-find-other-file。如果.h和.cpp文件位于同一目录中,这将起作用,但您应该可以通过修改ff-search-directories的值来将其用于不同的位置。
cc-search-directories
,但效果很好!
谢谢Brad的暗示!如果有更多人发现这个问题,这里有一种方法对我有用(在emacs-23.2.1中):
(setq cc-other-file-alist
'(("\\.c" (".h"))
("\\.cpp" (".h"))
("\\.h" (".c"".cpp"))))
(setq ff-search-directories
'("." "../src" "../include"))
;;; Bind the toggle function to a global key
(global-set-key "\M-t" 'ff-find-other-file)