I've used Emacs for almost 5 years now and it has served me well. In the beginning it was frustrating and confusing, but now that I understand it, it's the way I naturally interact with code on my computer. The fact that so many gnu tools have movement similar to Emacs means that I can quickly become more effective in them. The fact that my work Macbook allows me to do some rudimentary movement with C-a, C-e, C-f, C-…
I prefer vim as an editor, but in terms of being a unique and fascinating piece of software, emacs wins hands down. There's something really cool about the fact that you can't easily answer the question, "What is emacs similar to?", because it's such a total sui generis.
Emacs 27.2
101–110 of 115 posts
Re: Emacs 27.2
#102Earlier quoted context omitted.
I prefer vim as an editor, but in terms of being a unique and fascinating piece of software, emacs wins hands down. There's something really cool about the fact that you can't easily answer the question, "What is emacs similar to?", because it's such a total sui generis.
Viper mode could give you the best of both worlds, depending on what you like about vim. If it's the key navigation, viper has you covered.
Since then, Evil-mode has effectively superseded it. I wish I had learnt vim-like editing a long time ago, as Vim-bindings seem to be mostly well-maintained in every editor.
Emacs-bindings are also in most editors, but it's not as useful since people (most people? in any case, me) usually customize the default shortcuts quite a bit. And less manpower to maintain them.
Re: Emacs 27.2
#103Earlier quoted context omitted.
Spacemacs uses “Evil mode”[1], which is available just as a regular (MELPA) package. I started with Vim and so I’ve always used evil. “Vanilla” emacs, spacemacs, now doom. [1] https://github.com/emacs-evil/evil
I'm curious if you've already used evil with vanilla why you'd migrate to spacemacs or doom. I've never found either to add much that a custom config can't get to easily and with more control. Maybe that's changed in the past half-decade or so since I last tried Spacemacs, though.
At work, I had to make some simple modifications in a go project. I've never done go before, so I had to google how to add support for it on emacs. There's always more than one choice, which one is the best maintained package? Is there an optional but ubiquitous plugin that will make it more enjoyable?
With Doom, you just add the go layer and you're good to go. I'm fine spending time setting up, i.e., a clojure config, since I use it all the time. It's well-spent effort. Not as much for a language I seldom have to use.
Re: Emacs 27.2
#104Earlier quoted context omitted.
The vim bindings are only one part of Spacemacs. The other (and I'd say most important) part is the SPC menu that exposes hundreds of keybindings in a discoverable, unobtrusive, and interactive interface.
Isn't that also just an elpa / melpa package though?
Re: Emacs 27.2
#105Earlier quoted context omitted.
spacemacs has a very complete vim layer. By far it's the most complete implementation outside of actual vim I've seen.
Spacemacs is indeed great, I used it myself recently. But I will say, it's no longer really actively maintained. The community has migrated over to ~~Spacemacs~ Dooom Emacs, which is very similar (still uses space as leader key and vim bindings everywhere). In my experience, Doom Emacs runs a lot faster too. https://github.com/hlissner/doom-emacs edit: Changeed Spacemacs to Doom Emacs, whoops.
Re: Emacs 27.2
#106I tried Emacs after reading so much about it lately...but I don’t understand how people use it. The sheer volume of key combinations always in play to do things makes my hands hurt. It made me see the appeal of some of those concave keyboards.
Many people find it helpful to swap ctrl with capslock.
Edit: my preferred keyboard layout has levels, and the Caps Lock key is a level shifter, which makes me prefer not pushing it down to Left Ctrl.
Re: Emacs 27.2
#107Earlier quoted context omitted.
Make it more light-weight and do it without needing a foreign binary. If your elisp program needs to offload some computations to a background thread, you don't want to make a binary specifically for it - it would destroy the flexibility and portability of otherwise perfectly fine elisp code.
I mean, I get this in principal. I'm curious in practice. How many things aren't already waiting on another foreign process that take time? Edit: I could see some things like syntax highlighting being a benefit. Though, I somewhat expect those to already be moving to lsp tricks. Layout, in general, makes sense to be a bit more responsive. But I'm not clear how general threading helps with that. Edit2: are there good…
I would guess Eww would have a similar issue, although I've never been able to get it to work (I use emacs-w3m, which has a separate process).
I've found some programming modes to be very slow and prone to freezing; most noticably Scala using Metals (which uses lsp).
Re: Emacs 27.2
#108Earlier quoted context omitted.
> Wish something be done about proper threading support, but I understand it's a herculean task at this point. I would agree about adding concurrency and parallelism; but threading is very much a WorseIsBetter approach, which I certainly wouldn't like to use directly. Co-routines or futures would seem a better fit for Lispy semantics. Actors seem too different and heavyweight, but I'd still prefer them to threading!
I said "threading" as a catch-all term. Whatever makes Emacs able to fully utilize multiple cores of a CPU would work.
Re: Emacs 27.2
#109Earlier quoted context omitted.
Make it more light-weight and do it without needing a foreign binary. If your elisp program needs to offload some computations to a background thread, you don't want to make a binary specifically for it - it would destroy the flexibility and portability of otherwise perfectly fine elisp code.
I mean, I get this in principal. I'm curious in practice. How many things aren't already waiting on another foreign process that take time? Edit: I could see some things like syntax highlighting being a benefit. Though, I somewhat expect those to already be moving to lsp tricks. Layout, in general, makes sense to be a bit more responsive. But I'm not clear how general threading helps with that. Edit2: are there good…
But there are a lot of various smaller things in Emacs and elisp module ecosystem that would benefit from being able to run off the main thread. Emacs performance is fighting death by a thousand cuts, with almost everything being tied to the main thread (despite async features being used to pretend it's not).
--
Re: Emacs 27.2
#110Earlier quoted context omitted.
Sincere question: if I already have a vim setup with all the plugins I like, and I switch to evil mode so everything more or less works as I had it, what does emacs open the door to that I couldn’t do before? Org mode I imagine is one piece. Is there anything else I should look at if I try it?
There are a few IMHO: magit [1] is a nice piece for Git. And there's vterm, if you wish to use a (usable) term or tmux/screen without leaving the editor, tramp mode [2] for remote files and last but not least ergoemacs [3] if you prefer the CUA style for generic commands (and reduce RSI). Oh, and forgot to mention helm [4] too... [1] https://magit.vc [2] https://www.emacswiki.org/emacs/TrampMode [3] https://ergoemacs…