From: Vagn Johansen <gonz808@hotmail.com>
To: help-gnu-emacs@gnu.org
Subject: Re: Working with different projects in Emacs
Date: Wed, 08 Apr 2009 20:56:18 +0200 [thread overview]
Message-ID: <m2fxgj7z59.fsf@hotmail.com> (raw)
In-Reply-To: mailman.4901.1239203083.31690.help-gnu-emacs@gnu.org
Damian <damian.only@gmail.com> writes:
> Hello,
>
> I work in several projects. Every project has a list of files
> associated to it (for instance several source code files or latex
> files). I would like that every time I start working in one of these
> projects, all the files could be found quickly without specifying the
> whole path.
>
> The filesets almost serve this purpose, but the problem is that they
> open all the files in the fileset, and I just want to be able to
> auto-complete its filename (when I open a file using C-x C-f).
>
> File cache is not an option, since I need several "caches" for each
> project and I don't want to load them all when emacs starts.
>
> And I'm unable to understand Icicles documentation (and Icicles is
> more powerful than the tool I'm looking for).
>
> Until now, I was able to find a solution for every problem (in the
> good sense) in emacs, but for this one I cannot find one.
>
> What can I do?
You could try my vps package
http://ozymandias.dk/emacs/emacs.html#vps
It caches both the filelists and the directory list. The latter is
needed for projects that use directory recursion to avoid excessive
directory traversals. The caches are rebuilt when they become to old.
Use M-i l (vps-list-dirs) to get a buffer with all the filenames in
the current project. You can then use search, C-s, ,, , RET RET to
search for and open a file.
For fast and convenient file selection of a file in the current
project you could use anything.el combined with the vps source show
below:
(defvar anything-source-vps-files
'((name . "Project Files")
(candidates . (lambda ()
(when vps-project-name
(if (not (file-exists-p (vps-filelist-filename)))
(error "Run M-x vps-write-filelist RET manually"))
(start-process "anything-source-vps-files" nil
"grep" "-i" (replace-regexp-in-string "^-"
"." anything-pattern)
(vps-filelist-filename)))))
(type . file)
(requires-pattern . 4))
"Source for retrieving files (cached) vps filelist.")
--
Vagn Johansen
next parent reply other threads:[~2009-04-08 18:56 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <mailman.4901.1239203083.31690.help-gnu-emacs@gnu.org>
2009-04-08 18:56 ` Vagn Johansen [this message]
2009-04-09 13:44 ` Working with different projects in Emacs rustom
2009-04-09 19:45 ` Vagn Johansen
2009-04-11 15:30 ` rustom
2009-04-11 15:51 ` rustom
2009-04-11 18:30 ` Vagn Johansen
2009-04-12 8:56 ` rustom
2009-04-12 16:26 ` Vagn Johansen
2009-04-14 15:00 ` rustom
2009-04-14 17:23 ` Vagn Johansen
2009-04-15 10:29 ` Stefan Kamphausen
2009-04-08 18:10 grischka
-- strict thread matches above, loose matches on Subject: below --
2009-04-08 12:50 Damian
2009-04-08 15:59 ` Drew Adams
2009-04-08 18:21 ` Damian
2009-04-08 18:44 ` Drew Adams
2009-04-08 19:13 ` Damian
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m2fxgj7z59.fsf@hotmail.com \
--to=gonz808@hotmail.com \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.