3 ms·
> There are so many plugins and settings that to me feel basic (and thus required), but each one of them add complexity to the learning experience. Yes, and yo
by G3rn0ti 3y ago
> There are so many plugins and settings that to me feel basic (and thus required), but each one of them add complexity to the learning experience.
Yes, and you should be conservative with what you install.
There is so much stuff already built into Emacs that can be amazingly helpful if taken seriously. „vc-mode“ e.g. is a great front-end for version control. It works with many systems and only comes with a couple of keyboard short cuts. So you don’t need to learn magit. Or „compile-mode“ which you just have to feed shell scripts to adapt it to any programming language or publishing system you like. Together with „.dir-locals.el“ you make Emacs even switch to the correct build command depending on the source file‘s location. Or take Emacs‘ „xref“ system. It‘s there by default by pressing „M-.“ on a function name. All you need to do is run „etags“ to generate a search index. This way you don’t even need LSP in many contexts. There is also „dired“ which is a great file manager serving many of your dev needs without resorting to extensions like „treemacs“. Emacs also comes with „customize“ to configure the various modes w/o needing to learn Lisp. It’s good enough for many things.
Then when you decide you need an extension differentiating the good from the bad extensions is the biggest hurdle for newbies I guess. It does not help that many Emacs influencers play around with cutting edge extensions that look cool on the surface but seldomly are production ready.
However, here is the workflow I am following when incorporating new extensions:
Most Emacs extensions live on GitHub these days. Usually, before I start installing anything I really need to have an urgent problem to solve. Then I google around ending up in a GitHub repo. Then I check whether the extension is actively maintained and whether it is also provided as a Melpa package. Then I evaluate the quality of the documentation. If it seems simple enough to configure I‘ll try it out in a git branch of my Emacs config. Once I tried it out a couple of hours or even days I merge the changes into „main“.
BTW: If you want to learn org-mode try writing your Emacs configuration using it.
- gpderetta 3y ago> So you don’t need to learn magit if you are only installing a single package on top of vanilla emacs and you use git, it should definitely be magit.
- G3rn0ti 3y agoWhenever I write a comment stating you don’t need „magit“ I receive such a comment like yours. ;) I am personally using „magit“ but I just wanted to stress that newbies might want to postpone installing it until they are more comfortable with vanilla Emacs.
- ParetoOptimal 3y agoSo I'm a very experienced emacs user and I gave using vc-mode a real try, but quickly ran into some case where I would have to write some elisp for an important part of my workflow that magit already does. So at least for me, it wasn't an option. Maybe I'll try again someday :)