Live data from Hacker News

Mastering Emacs

masteringemacs.org

41–50 of 131 posts

Re: Mastering Emacs

#41
post #31
post #29

Earlier quoted context omitted.

The availability of vim in some systems is not reliable. Often only either vi or nano is available. Containers may not have even that (not that it's a good practice to edit files inside containers. It's just for experiments). Emacs meanwhile, has tramp. It lets you edit files remotely and transparently - even inside Kubernetes pods. And you still get to use all your Emacs customization.

Someone who uses vim daily will surely not struggle with vi.

You are right about that. What you will miss though, are the plugins and customization while making big edits.

Re: Mastering Emacs

#42
post #15

It's crazy that here in 2023, Emacs is still the absolute beast when it comes to developer productivity. I had a colleague review one of my workflows the other week and after a minute or so he said "Whoa, I would have been in 5 different tools by now". If you're not into Emacs, I suggest you give it a whirl. For most development, nothing else will get you close to the joy and productivity that a well configured Emacs…

^ with the caveat that a well-configured emacs requires a well-configured emacs, often leading to an infinite loop.

I installed spacemacs 5ish years ago and have added maybe 20 lines to my configuration since then. None in the past 4 years. It's really overstated the amount of maintenance that Emacs requires.

Re: Mastering Emacs

#43
post #15

It's crazy that here in 2023, Emacs is still the absolute beast when it comes to developer productivity. I had a colleague review one of my workflows the other week and after a minute or so he said "Whoa, I would have been in 5 different tools by now". If you're not into Emacs, I suggest you give it a whirl. For most development, nothing else will get you close to the joy and productivity that a well configured Emacs…

^ with the caveat that a well-configured emacs requires a well-configured emacs, often leading to an infinite loop.

I recently made some big changes to my Emacs config to incorporate new tooling like LSP into my workflow. It turned into quite an extensive change as I re-evaluated many extensions and replaced some with newer alternatives. Took a few evenings.

But I hadn't touched my config for three years before that! I've been using Emacs for 15 years and you definitely get to a point where you don't need to tweak it every day. 3 years is the kind of time some people would switch to a completely new editor. I have, in a way, except it still supports all the workflows that have become familiar over the years.

Re: Mastering Emacs

#44

I don't see why people are still using 1970s-era IDEs in 2023. Sure, it's a joke that emacs and vim users are at loggerheads, but name me one user of either who isn't a graybeard at this point. And specifically a graybeard who refuses to use more modern tools.

> I don't see why people are still using 1970s-era IDEs in 2023.

Because it works perfectly fine? So your reasoning is because is old is bad. That software that old still is being heavily used today is a testament that these tools have something that definitely the latest craze out there don't. And no, I'm not a greybeard, I'm in my 40's and been using VIM since I don't know when, probably more than 15 years for sure.

Re: Mastering Emacs

#45
post #34
post #26

Earlier quoted context omitted.

What should I imagine under term "extending"? Is that adding new extensions (like in vscode)? I never felt that this is something I often enough to need quickest possible way to do it. Or do you mean more like changing how editor looks, how many windows/panes/tabs are displayed and where are they displayed?

Literally changing the editor code, to do whatever you want. Emacs is a lisp (elisp) environment mostly with a small C based core for performance sensitive primitives. But the user code is at the same "level" as the Emacs core code. This is very different from most extensible editors, where extensions are sandboxed and have a limited, controlled API to the core editor, which is kept separate. This makes Emacs very "m…

> small C based core

Count before you post; Emacs now boasts over 300,000 lines of C.

"Encompassing Massive Amount of C Source"

Re: Mastering Emacs

#46
post #37
post #32

I saw people (in their 30s) using emacs for almost everything. Coding, reading mails, organizing their todos and so on. It was impressive to see their workflow. The only thing which hold me back to really learn it, were the stories about repetitive strain injuries: https://news.ycombinator.com/item?id=36718793

Try Doom Emacs and configure it with evil mode (vim keybindings). Presto, problem solved!

Also worth swapping the control and caps lock keys (system wide if possible). Takes a while to relearn but much easier to reach with your pinky.

Re: Mastering Emacs

#47

I don't see why people are still using 1970s-era IDEs in 2023. Sure, it's a joke that emacs and vim users are at loggerheads, but name me one user of either who isn't a graybeard at this point. And specifically a graybeard who refuses to use more modern tools.

I'm a 22yo front end dev with (neo)vim as my primary editor. I'm not missing anything from Vscode.

Re: Mastering Emacs

#48
post #25
post #19

Earlier quoted context omitted.

can you give an example of such workflow?

Magit is probably the easiest one for casual devs to appreciate. "M-x magit" get a nice list of the status of the files in the current branch. After you mark which ones you want to keep by moving up and down pressing s(tage) u(nstage) you just press "c c" and write your commit message. Then you press P and your git repo is up to date. At a previous job the head engineer flagged the number of commits I was making as a…

> "M-x magit" get a nice list of the status of the files in the current branch.

Except it will randomly split your frame and show up in a seemingly arbitrary location - often obscuring what you're working on. I find the whole layout system in Emacs completely chaotic. I guess it comes with the flexibility (VS a fixed system like most Ides) nor do I have any particular solution in mind

I'm curious if anyone has tamed the weird inconsistencies of how new frames (or is it windows? Can never keep the terms straight) pop up. For instance a CIDER error buffer shows up using some completely different black magic than magit

Re: Mastering Emacs

#49
post #22

Earlier quoted context omitted.

> Yes, if you're talking about a timeframe of ~50 years, use vim and emacs. There isn't any compromises that make vim or emacs less useful than those tools with much less longevity. They are just as good as an editor to even those who don't care if they will be around 50 years from now.

I used vim (and still using it for non-coding text editing today) but I just don't feel it's so powerful that it's comparable to IDEA. Of course it's probably because I haven't properly taken time to learn and configure it. I only know how to move cursor around, search/replace and enable syntax highlighting. But that's the point: I don't want to take a significant amount of time to learn and configure an editor. I wa…

I wouldn't have a counter to this normally. I prefer to heavily customize my editor without the support of a starter pack. But yes, starter packs like Doom Emacs and LunarVim do a great favor to these editors by enhancing their adoptibility for new users.

Re: Mastering Emacs

#50
post #19
post #15

It's crazy that here in 2023, Emacs is still the absolute beast when it comes to developer productivity. I had a colleague review one of my workflows the other week and after a minute or so he said "Whoa, I would have been in 5 different tools by now". If you're not into Emacs, I suggest you give it a whirl. For most development, nothing else will get you close to the joy and productivity that a well configured Emacs…

can you give an example of such workflow?

I would say magit as an example. Single key presses for most actions. I often have that situation, when I share my screen and perform some commits and then people ask me whether I already commited X. I then think something like: "Uh, but I just did that, in front of your eyes." but then I remember the other workflow involving the normal command line or some clicky-gui kind of tool, that is just slower and is what others are used to.

Then maybe keyboard macros. Define anything you can input in a "tiling" way on your keyboard as a macro to let the editor perform it repeatedly. Approximate quote from coworker: "Sometimes you do things inconveniently, but what you do in Emacs was highly efficient."

Then running vterm inside emacs and searching and copying from the vterm buffers to use text elsewhere.

Of course org-mode as an extremely neat way of managing information and to do. I use it every day, a lot. I use it for notes, for to-do, for time tracking, for literate programming, for devops, for creative writing, and probably more.

Then the pain I get, when I see people closing their vscode, just to reopen it in another directory ...

Then the pain I see others have, when juggling a high number of editor tabs in intellij or vscode, instead of buffers that exist and can be switched to using keyboard shortcuts. I lost faith in tabs for code editors.

Post reply on HN