emacs ff-find-other-file和ff-search-directories不是递归的

时间:2013-04-13 02:15:50

标签: search emacs recursion directory subdirectory

我们可以让ff-find-other-file以递归方式搜索ff-search-directories中列出的目录。

不是只在/ usr / include中搜索,而是在/ usr / include / llvm中搜索。或者同样。

2 个答案:

答案 0 :(得分:3)

我已将此功能添加到我的.emacs文件中:

(defun get-all-subdirectories(dir-list)
  "Returns a list of all recursive subdirectories of dir-list, 
   ignoring directories with names that start with . (dot)"
  (split-string 
   (shell-command-to-string 
     (concat "find " 
             (mapconcat 'identity dir-list " ")
             " -type d -not -regex \".*/\\\..*\""))))

而且,在我的c-mode-common-hook中,我有这个:

(setq ff-search-directories (get-all-subdirectories (list "dirA" "dirB")))

这假设您在find中有一个标准的Unix PATH命令。如果您使用的是Windows,则可以在此处获取find的副本:http://unxutils.sourceforge.net/

如果你有很多目录可以通过它来运行它需要一点时间。

答案 1 :(得分:2)

在要搜索子目录的目录之后添加/*。因此,设置ff-search-directories以使其包含"/usr/include/*"