Live data from Hacker News

The extensible vi layer for Emacs

github.com

41–50 of 104 posts

Re: The extensible vi layer for Emacs

#41

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've always preferred having LSPs installed in my user bin folder (or system wide). I like to hop nto other editors and some of them, like Helix, do not have auto installer for LSPs and tries to use the locally installed package. In other words, I like to have 1 LSP installed in my system for all of them.

I am the same and Neovim has a plugin, Mason, that auto installs them all into a bin folder. I just include that bin folder in my path and all other apps can use the same LSP servers.

Re: The extensible vi layer for Emacs

#42
post #37

Emacs also has a vi layer built in: viper mode.

Viper mode is terrible though. Half the things I am used to in proper Vim do not work correctly in Viper mode. I don't remember those annoyances anymore but someone who has recently tried viper mode may be able to share the details. (Edit: Turns out I do remember some of the annoyances. See the grandchild comment below where I have noted some examples.) I found Evil mode is so much better at emulating Vim than viper…

viper is just a vi layer, not vim, as far as I know. Being able to have basic vi movement and operators is where most of the value in vi[m] layers comes from, IMO, and I haven't yet found any problems there. The most recent bug I've been aware of in viper (not that I am any authority here) was when the Emacs maintainers broke basic Emacs alt/meta key sequences when viper was active, and that happened because they just weren't thinking/caring about viper, which is the reason I spoke up here in the first place - people don't really think about it and it gets neglected. It's a vicious cycle.

Re: The extensible vi layer for Emacs

#43

I used that settings for a few years, then tried to move entirely to vim, and now I'm very happy with vscode + vim. I like vim as a touch typer, I think it's a setting that minimize end motions. It's also very convenient in the terminal. On the other hand, I think it's not convenient as an IDE: too many shortcuts, clumsy integration with LSPs, especially when you need to work with different languages. For me it works…

> That being said, I wonder if I wouldn't be better off moving away from vim entirely

That's a surprising sentence to read, as someone who's also used to vim (although I've moved from vim to emacs+evil and not the other way around).

I have some gripes with my emacs+evil setup, just as I had some gripes with my vim (and then neovim) setup. But none of those gripes were related to the actual text editing, but rather making those tools behave like an IDE.

For the modal text editing, after I got used to it, I have zero complaints, and I feel much more comfortable editing any sort of text/code that way.

If I had to choose, I'd rather give up syntax highlighting than modal editing, because it has become so ingrained.

Re: The extensible vi layer for Emacs

#45

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.

Re: The extensible vi layer for Emacs

#46

Earlier quoted context omitted.

Neovim isn't emacs, and you can't make it emacs no matter how hard you try - Emacs is writen mainly in lisp, neovim has a lot of c. You don't have to worry about if something is possible in emacs, you can just hack onto it, on neovim you have to spend an awful lot of time seeing if something is possible - Emacs has decades of ecosystem, neovim does not - Emacs is build on lisp and has first class support, fennel is a…

As I said, If you're trying to use vim like emacs, you're doing it wrong. You can and people do, but that's not the point. See my second link on the subject.

By telling people to use Vim instead of Emacs, you are implying that Vim is a replacement for their use case, so they can use Vim like Emacs.

Re: The extensible vi layer for Emacs

#47

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…

Is Spacemacs still in active development?

Yes. Their main branch is the only one being developed, if you are wondering looking at their releases.

Re: The extensible vi layer for Emacs

#48

I used that settings for a few years, then tried to move entirely to vim, and now I'm very happy with vscode + vim. I like vim as a touch typer, I think it's a setting that minimize end motions. It's also very convenient in the terminal. On the other hand, I think it's not convenient as an IDE: too many shortcuts, clumsy integration with LSPs, especially when you need to work with different languages. For me it works…

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.

Re: The extensible vi layer for Emacs

#50
post #34

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.

There's also a Mason[0] plugin that handles the installation of LSP (also DAP/linters/formatters) installation in a very visual way. [0] https://github.com/williamboman/mason.nvim

Thanks! Will try to hack it up into my setup this weekend.
Post reply on HN