Live data from Hacker News

916 Days of Emacs

sqrtminusone.xyz

181–190 of 309 posts

Re: 916 Days of Emacs

#181

Earlier quoted context omitted.

> what the weight of emacs was on you What I've noticed about emacs lovers is that they all customize it heavily - I didn't want to do that, since to me the point of using a plain text editor is that it's always available in exactly the same form wherever I happen to be. I did start to looking into all the ways to customize it, but at that point, I couldn't really see much benefit over just using an IDE. But that's j…

"What I've noticed about emacs lovers is that they all customize it heavily - I didn't want to do that, since to me the point of using a plain text editor is that it's always available in exactly the same form wherever I happen to be. " So you not customize vim either? If you don't, you're missing out 99.999% of the greatness of both editors and doing yourself a huge disservice. It's like being a carpenter and limiti…

> you not customize vim

No, and I have a specific reason - I ssh into remote boxes a lot, and I want the editor to work more or less the same wherever and whenever I use it. I guess I could customize vi to be a multi-purpose IDE but... that's what I have IntelliJ for.

Re: 916 Days of Emacs

#182

Earlier quoted context omitted.

You seem to be missing that they're not actually inferior tools. I can't think of a single thing that can't be done at least approximately as easily with emacs than with VSCode and the like.

Are they really? Do you get all the same plugins, all the lints and hover info, refactoring, jump to usages/definition, smart auto complete, etc? They seem awfully limited to me by comparison.

> They seem awfully limited to me by comparison.

Can you list your most important feature(s) in chosen your ide or editor that you suspect emacs doesn't have or can't easily have?

Re: 916 Days of Emacs

#183
post #52

Earlier quoted context omitted.

> There’s really nothing killer in Emacs 1. Org mode 2. Magit 3. Wdired 4. Synergy between various components (shameless plug: https://mbork.pl/2023-01-30_The_benefits_of_everything_being... )

1. Org mode - I will admit that I'm not a fan of org mode and find it to be oversold and another time waster for people who are already wasting time configuring their editors. I personally use vimwiki, there is a vim plugin for org mode. 2. Magit - Tim Pope is the pope of Vim plugins and fugitive is easily as good or better than Magit. I have never had any issue doing any sort of complex task in git or fixing conflic…

How do you surf the web in vim?

How do you read email, RSS news, and usenet with vim?

Does vim have a chat client as powerful as ERC?

Mainly, though, is vim programmed in and extended through a lisp, and does it have an entire lisp ecosystem built around it?

Don't get me wrong, I love vim, and used it and vi for 25 years before switching to emacs. But my emacs can do far, far more than vim ever did... and there's no way I'll be switching back until it has all the above and more.

Re: 916 Days of Emacs

#184
post #85

I switched from VSCode to Doom Emacs a couple of months ago. I've been using ChatGPT (GPT-4) to help me write config (~1,000 lines of elisp code so far) and it's been very interesting/fun. I'm not going back.

That's interesting. I've asked Bing Chat and ChatGPT several times to write me elisp code, and not once did it work well. It often invents APIs.

Hm, I've had luck with openai gpt4. I've had it make fake APIs before, but usually when I say "fooFakeApi doesn't exist" it corrects itself.

Re: 916 Days of Emacs

#185

Earlier quoted context omitted.

Plus, with time it becomes more like writing programs and less configuration. I write Elisp commands like I used to write shell scripts. These commands do entirely new things. I feel that can't count as mere configuration.

Yep. Just wrote this today to prettify all the tables in a Markdown file: (while (not (eobp)) (while (not (markdown-table-at-point-p)) (forward-char 1)) (markdown-table-align) (goto-char (markdown-table-end))) I'd have no idea how to do this in vim!

A macro and a plugin installed with the markdown-table-align equivalent? Though you could also use this approach with emacs macros too.

Re: 916 Days of Emacs

#186

Earlier quoted context omitted.

It sounds like they're not even aware that it was an option. Many people don't realize that emacs' default keybindings can be changed to be modal in exactly the same as vim, by using evil.

> they're not even aware that it was an option Actually in this case I was - but my goal was to use "vanilla" emacs just like I use "vanilla" vi(m). After all, if I'm using vi key bindings... why not just use vi?

Both vanilla emacs and vanilla vim are only a tiny fraction as powerful as either editor enhanced with plugins. You really missed out with this choice.

Re: 916 Days of Emacs

#187
post #23

Earlier quoted context omitted.

I did the same experiment and came to the same conclusion. There’s really nothing killer in Emacs that makes it a huge sell over just using vim which is a much better editor unless you just love Emacs lisp. Emacs also has some glaring issues - tramp being a major one. It’s slow and very unreliable. Vim is much more in line with the Unix philosophy. It’s a great editor that can be extended with fzf, ripgrep, lsps, git…

> some glaring issues - tramp being a major one. It’s slow and very unreliable. Over SSH? Did you turn on ssh connection sharing in ssh config? > ControlMaster auto > ControlPersist yes > ControlPath /tmp/ssh-%u-%r@%h:%p massive speedup when you do this, otherwise it starts a new connection for every operation.

Tramp is fast for me as well, it did take some work though. I had to configure it to use my controlmaster options from my ~/.ssh/config, set tramp-verbose to 0, set remote-file-name-inhibit-locks to t, and finally set vc-handled-backends to just Git. I'm glad I spent the effort to make it fast though, because now it's pretty magical.

Re: 916 Days of Emacs

#188
post #23

I've been a hardcore vi user pretty much my entire life, but I decided to force myself to spend a year using emacs a while back just to see what all the fuss was about. When the year was over and I "allowed" myself to return to vi, it was like a huge weight lifted off my shoulders... to this day I still don't see what the hype was about. On the plus side, though, I memorized the emacs cursor movement commands, which…

I did the same experiment and came to the same conclusion. There’s really nothing killer in Emacs that makes it a huge sell over just using vim which is a much better editor unless you just love Emacs lisp. Emacs also has some glaring issues - tramp being a major one. It’s slow and very unreliable. Vim is much more in line with the Unix philosophy. It’s a great editor that can be extended with fzf, ripgrep, lsps, git…

"Emacs has three versions of every plugin and they’re all usually not as good as the thin vim wrapper around fzf etc"

This is a bold claim. Not that fzf isn't good, but I'd like to hear about some specific ways in which fzf is better.

Re: 916 Days of Emacs

#189

Earlier quoted context omitted.

It sounds like they're not even aware that it was an option. Many people don't realize that emacs' default keybindings can be changed to be modal in exactly the same as vim, by using evil.

Sorry for the naive question, but if you're changing all your bindings to vim, then why use emacs at all? Is there any extra functional difference?

The clue lies in the fact that you can customize the editing experience to function like Vim. Because that’s one out of a thousand different ways you can customize that app to function like a one-off editor, a Git client, an email reader, and so on.

Re: 916 Days of Emacs

#190

Earlier quoted context omitted.

> and certain types of regex handling that vim can do better Hi, emacs user here, can you elaborate please.

See the \zs and \ze patterns in vim. I've asked for them to be implemented in evil, but have been told it's not possible because evil just uses emacs' regex engine, which can't do this.

I think these are lookahead's in some parlance, Emacs doesn't support them. On the rare occasions I need something like that I just use capture brackets. Suppose I want to delete a contiguous string of 'a' but only if it's followed by the letter 'b', then

   a+\(b\) → \1

   aaaab
   aa
gets you

   b
   aa        
So it works with a simple case. I guess it could get messy if you're doing anything really complex but TBH the above is about as far as I have ever needed to go.

Good luck vimming!

Post reply on HN