I jumped on the spacemacs bandwagon for a while, and I still think it’s the best pre-packaged emacs, but the startup time is just too long. And there’s too much stuff that works behind the scenes, I felt like I couldn’t make the config changes that I wanted because I didn’t know how it worked. Recently I switched to something very similar to the setup described in this article and love it so far.
emacs --daemon and emacsclient made the startup time a non-issue for me.
True, but with all the pre-made layers in spacemacs I found that I didn’t understand my emacs config. Building my own config from scratch, perhaps using spacemacs layers for ideas, helped me really understand it.
I keep my spacemacs config around too, so it’s only a git clone away if I want to switch back.
That is indeed a game changer.
Startup time over a second or so for me makes it less fun to use.
I use an org-mode file that gets tangled into an init.el… and I’m considering getting rid of it just because I edit my emacs config a lot, almost every time I restart I have to wait for org to finish tangling, which I just don’t enjoy.
Really need to get onto the use-package bandwagon fully, it really solves a lot of organizational issues.
This begs the question: why do you restart after editing the configuration? I also use an org-mode based configuration and although I acknowledge it takes a little longer to start Emacs that’s not something I do very often. It runs for days on end and I use the emacsclient to load files. I also change config frequently, but I find that most of the time it’s sufficient to just hit C-c C-c on the source code block I’ve edited, or I can use C-x C-e after the lisp expression I’ve changed if I want more fine-grained control.
I will admit that when removing whole sections of config, or upgrading Melpa packages, restarting Emacs is usually the simplest approach. I don’t tend to do that many times a day though, so I can afford the performance hit of tangling the config files at startup.
Yeah, I don’t restart it for a week or so at a time, for the same reason that I just do C-x C-e.. but I still hate doing it :)
Another option is to just (load-file "init.el"). Spacemacs as a function for this and binds it to SPC f e R (although I can’t find the code for this). If you read through spacemacs/core/core-spacemacs.el you’ll see that spacemacs defines it’s own startup lifecycle, which you may or may not find desirable to copy. For my usage, the startup lifecycle is one of the points against spacemacs.
SPC f e R
it’s not just the startup time; i tried using spacemacs for a couple of days, and it just didn’t feel as responsive as vim
Yeah vim has a certain minimalism that I just love (also this theme is amazing: paramount). Emacs with evil-mode just doesn’t cut it. I switch between the two, depending on what language I’m working in and how I feel at that moment :p
edit: also, emacs doesn’t have anything like vim’s :set cuc, which I really like. There’s col-highlight.el but it made every keystroke lag for me.
Really nice guide, exactly what I needed to level up. Takes a lot of magic out of using emacs.