1. 17

  2. 7

    I caught this on the orange site and thought I’d give it a shot. I’m impressed. In 5 minutes I’ve already got a vim that’s behaving better than what I spent a chunk of last weekend tuning.

    1. 4

      It sounded interesting, so I went to look at the installation instructions to give it a try. The only documented way of installing it is to take a shell script from the Internet and run it. No thanks, but I thought I’d take a look at what the script does. It looks like it depends on both Node.js and Python 3. I usually manage to avoid having Node and often manage to avoid Python on most of my VMs, so I think I’ll skip it.

      I’ve been very happy recently with ALE, which lets me use clangd and friends with only a couple of lines of vim config.

      1. 3

        When I see this kind of thing I genuinely have to ask, why not just plonk evil-mode or such on emacs and call it a day?

        1. 5

          Because then I’d have to learn how to reproduce all of my configuration, custom functions, mappings, and plugins in emacs.

          1. 3

            Because you need the whole of spacemacs (or one of its competitors) not just one keybinding mode to make Emacs info an IDE. After you’ve installed all that, it’s no longer low-latency. (This was one of the things that eventually made me give up on Emacs.)

            Pretty much all vi emulations have infelicities, so if you have muscle memory for vi it’s advantageous to be using the real thing.

            1. 1

              So is it that Doom/Spacemacs have inherent increased latency compared to vim/nvim or the addition of LSP modes to them causes this lag?
              I ask because if I enable CoC , I see hiccups here and there in my vim (unstable) setup.

              1. 2

                I remain a fan of Spacemacs. In my experience there was often a little lag even when using modes that didn’t rely on an lsp iirc, and even though it was lazy loading. I wouldn’t say it was slow, but it often wasn’t as responsive as my vim config, and that caused it to feel kind of heavy. I tried Doom, which seemed a lot quicker than spacemacs, but I don’t think it has the documentation that spacemacs has and quickly gave it up.

                I switched to neoclide/coc.nvim with its lsp support last week, mainly out of curiosity, while I was tooling around with go source. I thought it worked out pretty good compared to my previous ncm/ncm2 setup. In both cases there was pretty noticeable startup lag that I wasn’t thrilled with but tolerated. I think it’s possible that the cause of that lag in the former was the addition of the LSP modes I’d installed, but I couldn’t say for sure.

                I haven’t used lunarvim for more than a day but the startup and responsiveness I’ve seen are significantly improved compared to my older configs. lunarvim is lazy loading its language support like spacemacs, but it seems to do a better job.

                1. 3

                  The native compilation support in emacs HEAD (ant 28, when that lands) is also good at reducing editor jitter.

                2. 2

                  My experience(*) was that the Elisp interpreter was blocking on CPU. There’s only a single thread and it wasn’t fast enough to keep up with typing, once syntax highlighting & the rest was going on.

                  (* from a few years ago now, this predates the use of LSPs)

              2. 1

                i’ve tried evil mode a time or two, and a full fledged spacemacs installation once. never stuck with it long, because it’s always felt distinctly less responsive than vim.

              3. 1

                “My minimal config with a good amount less code than LunarVim loads 40ms slower. Time to switch.”

                • @mvllow, Potential LunarVim user.

                This made me wonder - does LunarVim perform any sort of optimizations on top of lazy-loading plugins?

                1. 2

                  One thing I saw in the source is the use of ftplugin to lazily configure filetype LSP. Other projects tend to configure LSP up front.