This could be useful. Here is something close. It does not use dired-virtual. I couldn't figure out how to generate the ls -lR like listing for each file, but if you know how to do that it should be straightforward to modify.
#+BEGIN_SRC emacs-lisp (defun glob-follow (path) (interactive) (let ((files (directory-files-recursively "." path))) (if (= 1 (length files)) (find-file (car files)) (pop-to-buffer (get-buffer-create "*org-glob*")) (erase-buffer) (org-mode) (insert (cl-loop for file in files concat (format "[[./%s]]\n" (file-relative-name file "."))))))) (org-link-set-parameters "glob" :follow 'glob-follow) #+END_SRC Here is an example usage: [[glob:.org$]] Samuel Wales <samolog...@gmail.com> writes: > i frequently have broken file: links. this might reduce their occurrence. > > i'd like to be able to do this: > > file:.../**/myfile > > which would use bash's globbing mechanism or an elisp equivalent. > > also perhaps this: > > file:.../**/*myfile* > > if one file results, i would like it to open as normal. if more than > one file results, i would like all of them to open in a dired-virtual > buffer. i think dired-virtual is in core. > > the first case would prevent broken links by allowing myfile to be > moved as long as it is under .... > > the second case would allow you to select a bunch of files that have a > common substring. it would also prevent broken links by allowing > myfile to be renamed slightly [such as compressed or uncompressed]. > > i think broken links are likely a common problem for org users. maybe > this can help prevent it. > > does this sound like a good idea as an optional feature? > > if no, then what would be a good implementation of a glob: link? -- Professor John Kitchin Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu