Ps.: "you" used here in the general sense, not targeted to the OC personally. I am of course biased here, but in all honesty, every single professional I know, whom I can count as an Emacs power-user or even a master Every single one of them is truly an incredible hacker. True craftsmen very often make their own tools. One needs to set aside their prejudice about parenthesis, learn structural editing commands, understand REPL-driven workflow, and then, once they are over that initial barrier, they may realize that all those languages borrowed heavily from Lisp, and Lisp is an extremely nice programming language. If you hate Lisp because it's not like languages you learned and used before it doesn't look like Python, Javascript or Ruby, then maybe you're missing something. If you truly want to master Emacs, there's no way around it - you have to accept Emacs Lisp. ![]() ![]() That's the mistake Emacs newcomers often make. It's not an editor, it's material for you to build your own editor. They think they have to configure it by tweaking settings and changing various options.īut Emacs is nothing but clay, an assortment of Lego pieces, building blocks, programmers' equivalent of IKEA furniture, DYI toolkit, etc. Many people (if not most) start using Emacs by treating it as "an editor". I want to just write code, not write code to make just writing code less of a pain. Which is problematic, because configuring Emacs itself is a bit of a sad joke. I never wanted to write enough ELisp to justify calling it a program, but Emacs made me.īut then there is magit, which is so damn good, it makes every other VCS interface look like a sad joke. I haven't pushed my latest effort to unbreak "jump to definition" (because apparently dumb-jump is deprecated? and I need to use xref? but it doesn't work?) so that'll likely go up. At the current iteration, ELisp is still ~33% of all source code volume in my dotfiles repo. I've gone through several iterations of throwing away my entire init.el and starting from scratch with just the bare minimum needed to get work done. So you write more code to work around various broken stuff in packages. ![]() There's no package pinning or SemVer so you get what you get, packages sometimes break in mysterious ways. If you want to do anything remotely useful, you're gonna have to start installing random stuff from GNU ELPA, MELPA, etc. The editor is pretty unusable without at least a hundred lines of ELisp: basic stuff like CUA, setting up fonts, disabling useless UI clutter, delete-selection-mode, rebinding a couple keys, setting up packages, explaining where to find coreutils on BSD systems, etc. I have a love-hate relationship with Emacs.
0 Comments
Leave a Reply. |