Live data from Hacker News

The extensible vi layer for Emacs

github.com

81–90 of 104 posts

Re: The extensible vi layer for Emacs

#81
A personal anecdote:

I grew up using Emacs—I think the first time I fired it up was when I was about 7 and was learning how to use mutt to read and send email. I used Emacs exclusively—I did learn the basics of vi bindings but never seriously used it—until I was about 24. I got a nasty case of RSI from using a mouse too much for too long. I went all-in on my ergonomic setup: I got a split/tented keyboard, a standing desk, went to physical therapy, etc.

I also took a look at my keystrokes and decided to 1.) get a keyboard with a thumb cluster so I could put modifier keys on my thumbs, and 2.) switched to Evil mode for the Vim bindings.

Life is awesome now.

I believe Emacs+Evil is the best of both worlds. I initially poo-pooed modal editing (why do I have to distinguish between inserting and appending?! It's so stupid!) but I've relented—using Vim bindings is like having a little composable language to talk about text editing. It's amazing.

Evil is incredible too. I'm still tweaking my setup to this day. But that's the thing—I like being able to tweak my setup to get to the maximum ergonomic configuration for me. I think there's some room for some better defaults and/or starter kits in this space (e.g. switching to vterm-mode should automatically take you out of Evil and drop you into the normal Emacs bindings, etc.) but things like evil-collection makes it so that I don't have to switch in and out of Vim-movement thinking.

Some things that switching to Evil-mode feasable:

- I started using the GUI so that Emacs could distinguish between e.g. Ctrl-Shift-x and Ctrl-x—it's nice having richer modifier combinations at your disposal.

- Having Ctrl-z bound to `emacs-evil-state` is a life-saver in situtations where you want to switch back to Emacs bindings for whatever reason.

As I understand it, Evil is the best Vim emulation out there bar none. E.g. I can use `/` as a motion command: `c/foo ` will delete from the point to the next occurrence of `foo` and put me into insert mode. All this without loosing any of the customizability and the larger package ecosystem of Emacs.

Re: The extensible vi layer for Emacs

#82

Just use vim. Yes, emacs has a lisp engine, but so does nvim[1]. Really, though, using vim properly means that it doesn't need to swallow the kitchen sink[2]. Just use vim. 1: https://github.com/Olical/aniseed 2: https://blog.djha.skin/p/emacs-users-im-okay-i-promise/

When I first started using code editors I chose Emacs but was often worried I made the wrong choice and should have used vim. Until one day I realized that what makes vim great is the keybindings, not the software. Take away the modal editing and all you are left with is another crappy terminal editor. Once I had that epiphany I switched to evil mode and never looked back.

I came to a similar conclusion—Vim truly has Emacs beat with the keybindings. Emacs is a win though because it can be reprogrammed to emulate Vim with near-flawless fidelity.

Re: The extensible vi layer for Emacs

#83
post #48

Earlier quoted context omitted.

Spacemacs is also a good option. I use VSCode + vim for remote development which is super nice now, I think VSCode has by far the best remote development experience, I even use it as my main terminal. For local development I use Webstorm, Rubymine, intellij etc. with IdeaVim, this is mainly because I prefer not fiddling around with plugins and configs I want my IDE to “just work” no matter what language I am using. F…

Intellij/Webstorm doesn't "just work", at least for javascript: https://youtrack.jetbrains.com/issue/WEB-57184/wrong-warning... It's a real turn off that a commercial IDE can't get fundamental stuff like the one show in the bug tracker correct (or fixed in a timely manner). You start to question why you are even paying for the thing.

I can't work out what is actually wrong here - there appears to be very little detail, would you mind explaining?

Re: The extensible vi layer for Emacs

#84
post #59

Earlier quoted context omitted.

NeoVim has got native LSP support, and works pretty well for me out-of-the-box for most languages. LSP servers need to be installed externally, but I hope they manage to bundle them somehow in the future. LunarVim already provides automatic LSP server installation.

I doubt Neovim would bundle them. I asked for two things which are conceptually much simpler: 1. a project manager/file explorer solution (file browser plugins have always been super popular for Vim; plus Sublime, VS Code, etc, all offer file explorers, they're extremely useful for... exploring projects for folks. 2. moving the command bar at the top And they were both closed as WONTFIX mentioning that the Neovim cor…

https://www.lazyvim.org/ is really good. I use it for rust, golang, typescript (with react etc.), markdown, haskell, f#, c# and probably some others. Most all ready to go - the only exception was needing to uncomment two lines in the config for typescript lsp, all others set themselves up and away I go.

The command/status bar pops up in a modal akin to ctrl+p in vscode.

Re: The extensible vi layer for Emacs

#85

I used to use emacs-evil but found myself having to remember both vim and emacs keybindings. That may be my own fault since I probably wasn't using ALL the settings / extra packages that make vim keybindings work everywhere. I've since switched to god-mode [0], which just turns emacs keybindings into modal ones. I find it works quite well. I think emacs keybindings are easier to remember but harder to use. Turning th…

Although it is in the orphanage, the current maintainer is very receptive to contributions. I believe there isn't much activity because it is very stable, and there aren't that many users to find its flaws. For me, the biggest problem is remembering to turn it off before starting editing, but I guess that fault is on me, and it must happen to everyone at least once in a while.

Re: The extensible vi layer for Emacs

#87

There's also meow-mode[1], which isn't a vim emulator as such, but it is a different modal editing layer for Emacs which is a lot faster and has a lot of neat ideas. It doesn't interfere w/the stock keybinds at all though, which is much nicer imo (I use a 'hybrid' editing style generally) 1: https://github.com/meow-edit/meow

I've been seeing posts about packages like God Mode, Boon, and Meow[1] for a long time, and just haven't set aside time to check Meow out yet bit am very exited to c: 1: https://esrh.me/posts/2021-12-18-switching-to-meow.html

[deleted]

Re: The extensible vi layer for Emacs

#88

There's also meow-mode[1], which isn't a vim emulator as such, but it is a different modal editing layer for Emacs which is a lot faster and has a lot of neat ideas. It doesn't interfere w/the stock keybinds at all though, which is much nicer imo (I use a 'hybrid' editing style generally) 1: https://github.com/meow-edit/meow

I've been seeing posts about packages like God Mode, Boon, and Meow[1] for a long time, and just haven't set aside time to check Meow out yet bit am very exited to c: 1: https://esrh.me/posts/2021-12-18-switching-to-meow.html

Haven’t tried others, but I really like boon. It’s so simple and it has the verbal actions like delete

I’ve patched the boon code to support switching between Dvorak and QWERTY

Re: The extensible vi layer for Emacs

#89

Just use vim. Yes, emacs has a lisp engine, but so does nvim[1]. Really, though, using vim properly means that it doesn't need to swallow the kitchen sink[2]. Just use vim. 1: https://github.com/Olical/aniseed 2: https://blog.djha.skin/p/emacs-users-im-okay-i-promise/

Emacs vs. Vim is a meme. You wrote a whole blog post as a PSA over a meme.

Re: The extensible vi layer for Emacs

#90
post #83
post #48

Earlier quoted context omitted.

Intellij/Webstorm doesn't "just work", at least for javascript: https://youtrack.jetbrains.com/issue/WEB-57184/wrong-warning... It's a real turn off that a commercial IDE can't get fundamental stuff like the one show in the bug tracker correct (or fixed in a timely manner). You start to question why you are even paying for the thing.

I can't work out what is actually wrong here - there appears to be very little detail, would you mind explaining?

False warning about unused definition 'salary' when it is actually being used.
Post reply on HN