Hacker News new | ask | show | jobs
by panza 614 days ago
"Sakishi is based on Emacs key bindings. There is a very deep and logical reason for this, but for the purposes of this document, I will just state it as my preference."

I genuinely love Emacs people.

1 comments

I once set out to learn Emacs, but the stupidly multi-key bindings for very basic things (Ctrl-X Ctrl-C to copy, etc) turned me off. Deep and logical my ass.
I once set out to learn Vi, but the absurd modal editing and convoluted key combinations for basic tasks made it a nightmare. Efficient and logical, my ass!
I find it hard to believe you encountered a single key combination when starting to use vi. Maybe you got far enough to see "ctrl-v"? There are 108 unmodified choices before you'd ever need a combination.
: is shifted on almost every keyboard layout, so saving or quitting would require at least one key combination (OK, arguably you can quit with caps lock, Z, Z, caps lock).

But I suspect he meant "sequence of keys" by "key combination" in what was clearly intended to be a humorous parody of the previous comment.

I always remap : (colon) to ; (semicolon) in vi clones to avoid having to use the shift key.
Furiously spamming ctrl-c trying to quit ?

ctrl-f and ctrl-b are the one I use frequently and amongst the first ones I learned.

I also like Ctrl-o and Ctrl-i for fast-travel between positions (even across files), and especially that they make sense with an out/in mnemonic.
FWIW, my editor of choice is Kate (with LSP plugin!)

I have more respect for vi's key bindings though because they are, in fact, quite efficient. But I only know enough vi for basic editing.

I don't mean this to be a striking criticism of Emacs, however, I had the exact same experience. To be fair I've been using Vim for many years so that may have influenced how difficult it was for me to understand the Emacs key bindings. I didn't even have enough time to check out all the cool extensions
As an emacs user I genuinely believe vim bindings are better, but emacs is more powerful than at least vim (I can’t speak for neovim).

Edit: and I really do wish there was more unbiased content relating to the pros and cons of either.

Emacs has a very long tail indeed of elisp extensions which Neovim has yet to fully catch up with. Neovim is well on its way however, and uses a programming language which many people already know and which is in any case familiar and easy to pick up. Lua has its quirks, elisp is pretty weird even for a Lisp (credit where credit is due, the elisp documentation is fantastic).

I've used Emacs off and on for years, and lately have settled on Neovim. The Spacemacs / Doom style configuration gives Emacs a fairly nice user interface, but I've never managed to hit a sweet spot of running all the fancy stuff I want to run, and not having the editor randomly pause / stutter.

With Neovim I've found that I can load it up and it still starts in under half a second, keeps up with typing/scrolling under all circumstances, and so on. For me that's the right tradeoff, ymmv.

Thanks for your input.

I’m under the impression emacs performance will improve but agree it’s an issue, particularly on very long lines - my understanding is that any modes must recalculate things (font colors, etc) on every change and recalculate major parts of the file. Iirc emacs 30 implements treesitter and a few other things which should improve performance, but some issues still undoubtedly remain.

All I want is a cheatsheet between "how you would do it in vim" and "how you would do it on Emacs"

When a long time then use up and I want to give emacs a proper go, but I really can't live without some conveniences like "change inner string" or what have you.

How the hell do you do that in emacs, I cannot find out

In my experience LLMs are pretty decent at this, i.e. explain step by step how do I do X in Emacs/VIM.

It's not great, but right 4/5 times which is still faster than googling.

Actually it's M-w to copy. C-x C-x is to quit.
C-x C-c exits. C-x C-x moves point to the opposite end of the current region.