Making Emacs Work for Me
zeekat.nl
zeekat.nl
tl;dr: Just use one of the packaged Emacs configs unless you really care about this stuff.
I highly suggest using emacs for a specific type of task to try it out, don't go wholesale. Try using it just for taking meeting notes, or maybe only for writing a specific language (skewer-mode / swankjs is a great place to start).
Also, I seriously suggest not starting with evil, but others may disagree. Learning to extend your editor as opposed to configure your editor is a big thing.
I experimented with god-mode, which seems like a good middle, but I am a highly competent 2 decade vim user, the vim keys are virtually hard-coded into my brain.
The key to not having RSI with something like emacs' modifiers (or any modifiers really) has been the kinesis keyboard where modifiers are the thumbs, and using sticky keys.
Vim or no vim, these are very helpful and I highly recommend.
Evil can be a good place to start, I guess I'm just worried that most beginners would be stuck "configuring" evil instead of extending emacs into whatever works best for you (which may include evil).
As a contractor working on laptops for years, it never become my "normal" keyboard.
I've tried all these starter packages and there is always some problem that leaves the whole thing unusable.
https://raw.githubusercontent.com/joodie/emacs-literal-confi...
I've done the same thing with my emacs config, though it's much messier and notably not readable at all.. yet.
https://github.com/codemac/config/blob/master/emacs.d/boot.o...
[1] https://github.com/larstvei/dot-emacs/blob/master/init.org#m...
- loads ELPA
- require's org
- runs (org-babel-load-file (expand-file-name "boot.org" dotfiles-dir))
I've found it much easier than the init.el generation route. It's also much more compatible with custom, though, most of the values set in custom I'd like to get rid of.see one instance https://github.com/rejeep/emacs/blob/master/init.el
https://github.com/berdario/dotfiles/compare/8e98d5569a4caaf...
req-compare is cleaner, but otoh I have a different use case: the rationale for my change was to avoid errors when package installation fails (due to lack of network, for example... it might happen if I synced the init.el changes earlier without opening Emacs), while still executing all the other packages configuration/initialization steps
Is this just to eliminate dependency ordering? With things like package-initialize, most every package in my system is autoloaded before any of my init.el really runs.
It's a nice visual structure to look at, though, that's for sure.
As an example here's my package init using use-package: https://github.com/stafu/.emacs.d/blob/master/init/init-pack...
https://github.com/magnars/.emacs.d
I haven't messed with my emacs setup once since I installed this collection of emacs plugins a couple of years ago.
Here are some .emacs.org files from more sophisticated emacs users:
* Sacha Chua - http://pages.sachachua.com/.emacs.d/Sacha.html
* Arnaud Legrand - http://mescal.imag.fr/membres/arnaud.legrand/misc/init.php
Without screenshots it was difficult to see why I might want one of these plugins.
It would also have been nice to have some written motivation for using them, as well as a description of what they do and the problem they solve.
I have quite a lot of custom Elisp in my config - more than 1.5k loc - and it's well commented and should be readable, but it lacks any commentary/narrative which is what makes reading things like this interesting. Would you like to read it if I added a little bit of additional text and a screenshot for every larger section of the config?
I think I'll try doing this - I'm poor at writing and it takes me way longer to describe something well than just creating a screenshot.
Joost is our lead developer (we're Studyflow, a small edu-tech startup in Amsterdam which use Clojure/Clojurescript with Om + CQRS and Event Sourcing) and when I switched from Vim to Emacs it was incredibly good.
In my fork I put the custom.el that makes it look like this when editing Clojure files and having magit diff.
- Org-mode exported HTML: http://eschulte.github.io/emacs24-starter-kit/
- Git repo: https://github.com/eschulte/emacs24-starter-kit/
never looked back.