emacs ff-find-other-file和ff-search-directories不是递归的 [英] emacs ff-find-other-file and ff-search-directories isn't recursive
问题描述
我们可以使ff-find-other-file在ff-search-directories中列出的目录中递归搜索。
而不是仅在/ usr中搜索/ include,它也会在/ usr / include / llvm中搜索。或者同样。
我已将此函数添加到我的 .emacs
文件:
(defun get-all-subdirectories(dir-list)
返回所有递归列表dir-list的子目录,
忽略名称开头的目录(点)
(split-string
(shell-command-to-string
(concatfind)
(mapconcat'identity dir-list)
-type d -not -regex \* / \\\ .. * \))))
而且,在我的 c-mode-common-hook
,我有这个:
(setq ff-search-directories(get-all-subdirectories(listdirA dirB)))
这假设你有一个标准的Unix find
命令在您的 PATH
中。如果你在Windows上,可以在这里找到 find
的副本: http://unxutils.sourceforge.net/
如果您有许多目录可以递归,则需要一段时间才能运行。 p>
Can we make ff-find-other-file to search recursively in directories which are listed in ff-search-directories.
Instead of searching only in /usr/include, it would also search in /usr/include/llvm. Or likewise.
I've added this function to my .emacs
file:
(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 \".*/\\\..*\""))))
And, in my c-mode-common-hook
, I have this:
(setq ff-search-directories (get-all-subdirectories (list "dirA" "dirB")))
This assumes you have a standard Unix find
command in your PATH
. If you're on Windows, you can get a copy of find
here: http://unxutils.sourceforge.net/
It takes a little while to run if you have many directories for it to recurse through.
这篇关于emacs ff-find-other-file和ff-search-directories不是递归的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!