My favorite dired feature is that if you C-x C-q (the standard Emacs binding to toggle the read-only status of a file), it makes the directory buffer writable. You can then edit the buffer like a regular file, including changing file names (or symbolic link targets, or other things, I presume), and when you're done, C-c C-c and it applies all the changes as renamed files, symbolic link retargeting, etc etc. Very handy, since you can use all the usual Emacs features like query-replace or kmacros while doing it.
Ugh, I find dired incredibly annoying and avoid it at all costs in Emacs. You use it once and suddenly have a gazillion buffers open, it's just the worst! They don't even go away when you deliberately close them with q!
Why do you care about open buffers? When I first started using emacs I cared because other text editors force you to care by displaying "tabs" or the like for each open buffer. But emacs is better than that. The only time I ever see all open buffers is if I do M-x list-buffers, and I never do that. Other than that, open buffers never get in the way. I do use midnight-mode to kill all "old" buffers in the middle of the night to stop the memory usage growing indefinitely, though.
A buffer per directory is just the right thing for dired to do, for the same kind of reason that it is right that git has a staging area. Your problem is that this behaviour causes friction with how you prefer to manage buffers. Some suggestions:
- With the regular buffer list, if you keep typing letters, the view will restrict to buffers containing that string
- All the usual selection narrowing options, e.g. Helm, work here
- You can rebind 'q' to 'kill-buffer-and-its-windows
- A lot of people like ibuffer, which allows you to group kinds of buffer in its buffer list, e.g. all dired buffers
When you see a “Show HN”, the odds are very high that it is written in an ergonomic language such as Python, JS, Go, or Rust, rather than C or C++. Rust is the only one of these that has native performance, so I think this is useful information.
For software that isn't in the package repository of your distro written in Rust (or Go or any other language with something similar to cargo) means I can clone the repository, run a build command and it'll likely compile easily and successfully. As a user this is much better than hunting down dev package names and versions for a C or C++ source.
This is really cool! I use a similar tool for fuzzy cd[0]. At the moment I'm trying to use broot[1] as my directory browser but I might consider trying this too
But it will have to be pretty good to replace mc for me. It's not that mc is very good, because it's not. It's just that its keystrokes are deeply ingrained in my muscle memory :)
But this looks good and quicker to use (navigating the menu in mc takes a lot of keystrokes)
https://www.gnu.org/software/emacs/manual/html_node/emacs/Di...
https://www.emacswiki.org/emacs/Sunrise_Commander
- With the regular buffer list, if you keep typing letters, the view will restrict to buffers containing that string
- All the usual selection narrowing options, e.g. Helm, work here
- You can rebind 'q' to 'kill-buffer-and-its-windows
- A lot of people like ibuffer, which allows you to group kinds of buffer in its buffer list, e.g. all dired buffers
Deleted Comment
> just having it open and doing nothing with it, it has extremely high cpu usage
> it's maxing out 3 cores for me
[0]: https://github.com/b4b4r07/enhancd [1]: https://github.com/Canop/broot
But it will have to be pretty good to replace mc for me. It's not that mc is very good, because it's not. It's just that its keystrokes are deeply ingrained in my muscle memory :)
But this looks good and quicker to use (navigating the menu in mc takes a lot of keystrokes)