Ever since I first started using Emacs (Spacemacs) a few months ago I've been trying to set up a sane multi-project workflow. I got the single project workflow going by having Emacs start up into what I had open last, all windows, all buffers and all cursor positions (using dotspacemacs-auto-resume-layouts t
)
While that's fine for single projects, it doesn't scale at all.
What I'm after is similar to how Sublime Text handles projects, ideally with a .projectile
file that keeps all the project's settings. That way a folder is portable, can be zipped up and passed on.
So far my setup is pretty poor with projectile. All it does is open a frame with a dired
buffer and nothing else. Not all that useful. With Sublime Text I have to ship the project definition file with the rest of the folders. Usually that works by placing the project file in the parent folder along with a readme file and zip it from there.
Since Emacs is a wee bit older than Sublime, I was hoping there would be a simpler way (once it's set up) that makes this whole thing easier.
The thing is, I just don't know where to begin there. It probably sounds quite broad so I'll just list the specifics.
- Have a dotfile in a folder that stores:
- Frame layout (Window position & size)
- Buffer content for each window
The main issue here is portability. Bookmark+
like mentioned before seems to only deal in absolute paths. For portability that creates problems, especially since we have projectile-project-root
available to get the project path. So a relative solution must be possible somehow.
Basically everything that the auto resume does, but for each project. In essence I want to launch Emacs and just see the welcome screen, pick a project and it comes up like the last time I've left it.
I'm using Emacs-plus (homebrew) 25/26 with Spacemacs on Desktop not Terminal (just in case that's relevant). My main modes are markdown-mode
, org-mode
, image-mode
and later on probably latex-mode
(haven't checked yet on LaTex modes for Emacs).