Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Saw this posted on emacs-news [1] asking for some feedback.

A thought I had about using dired as front-end to everything is that once you get more than 20 buffers open its unwieldy to find things. Working on several projects at once using the standard C-x b navigation or even Helm bindings seems to take too long.

That's why I still use a window manager that has workspaces with their own key (rebound alt-gr) and several copies of emacs and term emulators open.

Does anybody have positive things to say about something like "buffer groups" for emacs? Projectile or iBuffer. They're mentioned here [2] but alas I never had much joy with them.

[1] https://sachachua.com/

[2] https://stackoverflow.com/questions/9972523/emacs-buffer-gro...



Another point for projectile - 3 main features:

1. Open project. Projectile uses source control files eg. .git to establish the project root, and remembers it. It's very smart about it, in my experience. No configuration required.

2. Open file in project. With the project root established, open any file that's part of the project. Notably this excludes files that are eg. ignored by .gitignore. Again, very smart behavior. If you know generally what you are looking for, you should be able to find it in a few keystrokes.

3. Grep in project. If I'm working in something that doesn't play too nice with looking up references, or generally just can't find it, this is the next best thing. It's just grep, but within the scope of your project, and a nice interactive list of files to be searched or perused at your leisure.

I also use ibuffer, but I guess you would probably have the same issues with it as with dired. Both are just emacs buffers and can be searched, etc. just as any other buffer. Mostly I use iBuffer to make sure buffers are saved and close them en masse.


Others have mentioned the awesome projectile, but I think it should be said that Emacs now has built in project.el which has come in leaps and bounds (though probably still lacks some projectile features).

I use project.el alongside consult[1] which has many convenient wrapper functions over built-in ones, like an enhanced `switch-to-buffer` with project support. I am actually using an even tighter integration called consult-project-extra[2].

The most advanced and overkill solution would probably be to use bufler.el[3] which basically allows you to define your custom logic for buffer grouping.

[1] https://github.com/minad/consult

[2] https://github.com/Qkessler/consult-project-extra

[3] https://github.com/alphapapa/bufler.el


I use Projectile extensively, to the point where it serves as the entire foundation for my workflow. I really enjoy having a set project I'm working on when I open Emacs, and when I need to multi-task I use persp-mode.


Thanks Kaze, I'll take a closer look at it again.


I'd recommend checking the package "perspective", works like virtual desktops for emacs. Very good for working with multiple projects.


I have the buffer listing mapped to a key, and next/previous buffer to alt tab/alt+shift+tab, I’m happy with this setup personally, and I regularly have multiple projects open.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: