Live data from Hacker News

LazyVim

lazyvim.org

51–60 of 537 posts

Re: LazyVim

#51
post #3

The other comparable setups: NvChad: https://github.com/NvChad/NvChad AstroNvim: https://github.com/AstroNvim/AstroNvim LunarVim: https://github.com/LunarVim/LunarVim Never got into any of these, but I love that they showcase what's possible.

I find that any IDE-type setup in vim causes vim to lose the most important thing, speed. If your movements slow down because of too many plugins, the experience is far worse than in a normal non-modal IDE.

I don’t mind slowdowns as long as they are synchronous and deterministic. But most IDEs and IDE-like plugins work asynchronously, so you have to wait and sync all the time. I think that this async-all approach gains technically but loses methodically, so I stick to basic editing. Ymmw.

What I would like to try is an asynchronous non-inplace helper. Like a side panel or a bg overlay to the right-ish that understands what you’re doing and suggests identifiers, reference snippets, full type info, etc. Like the whole page in a smaller font dedicated to what’s under the cursor. Then you could choose what to type into the code, or ignore it because I already know that. I don’t mind typing if it doesn’t require too much attention.

Another thing I’d like to try is mobile-style typing suggestions. First - semi-transparent popups above words in case there’s a typo or an obvious continuation, applied via M-CR. Second - 3-5 most obvious next tokens to insert without even starting to type. Like in

  let start = new Date
  let date|
Suggests [“=“]. When you choose it, it suggests [“new”, “start”, “Date”, “undefined”]. I bet one could type pages with this alone.

This might work nicely with any editing model, imo.

Re: LazyVim

#52

A bit off-topic, but I wonder how much Copilot/GPT cuts into the market share of editors like vim and emacs. I used emacs for the past few years, but I recently switched (back) to vscode because the Copilot integration is really good. There are a lot GPT integraton packages for other editors, but they don't come close to the deeper integration that vscode has. And of course, vscode will probably get priority treatmen…

I use copilot, but I it’s not a super game changer in my opinion. I can live without it. I often turn it off when I’m using SQL or something when it hinders more than helps. It’s honestly best when I’m writing JavaScript because I’m not very good with the language. But when I’m writing a language like python which I’ve been using for a long time it kind of gets in the way.

Re: LazyVim

#53
post #50

Earlier quoted context omitted.

> Turn it into a game if you want. some of us don't have time to play games? i mean definitely used to when i was a kid but now i have lots of deadlines and little enough time to play games with my human friends let alone with my editor. > make the editor __yours__ a good tool is useful immediately and has the potential to be personalized. i mean imagine how little carpentry would ever get done if every hammer, drill…

> a good tool is useful immediately and has the potential to be personalized. Vim is useful immediately! I use it without customization all the time when I ssh into a new system for instance.

> I use it without customization

i do too - all i know is :bn, :bp, b, e, ciw, v and shift+v (and :wq) and it's all i've known for over 10 years. i use the arrow keys on the keyboard too! fingers crossed it'll last me the rest of my career too.

but i mostly use clion/pycharm and there the defaults are reasonable and the ux of shift+shift is absolutely unbeatable.

Re: LazyVim

#54

These don't usually take off because people who use vim and emacs are people who insist on customizability and aren't into all the bloat that comes with IDEs. People who want IDEs aren't interested in an editor that lives in the terminal. There is a very limited market for something like this.

I use IntelliJ Idea for work, and the most bloated NeoVim setup in the world doesn't even compare. I type "vim ." in a project directory and NeoVim, with a billion plugins, has come up by the time my finger is a cm off the enter key.

Re: LazyVim

#55
Best protip I heard about (n)vim customization: use git branches when you want to switch between different configurations. Eg something like:

- vanilla/default

- minimal

- fancy

depending on what you want to deal with. If I go months between using all these plugins I forget what they do and what changed and it’s just noisy distractions that invariably lead me to open my init.lua file rather than what I actually had intended to work on

Re: LazyVim

#57

I know it sounds like a pain, but I really am a big advocate for learning how to customize vim (or emacs) yourself. These are great places to start, but the power of terminal editors is that they cater to you at a very personal level. The problem with "IDEs" isn't that they are bulky, it is that they railroad you into doing something a very specific way. Terminal emulators put the custom configuration in your face be…

> but I really am a big advocate for learning how to customize vim (or emacs) yourself

I got caught into this and, for me, it was a waste of a month. I found that configuring your editor serves as a great way to procrastinate doing "real work". There's always that one last thing you wanna get right

Re: LazyVim

#58
post #51
post #3

Earlier quoted context omitted.

I find that any IDE-type setup in vim causes vim to lose the most important thing, speed. If your movements slow down because of too many plugins, the experience is far worse than in a normal non-modal IDE.

I don’t mind slowdowns as long as they are synchronous and deterministic. But most IDEs and IDE-like plugins work asynchronously, so you have to wait and sync all the time. I think that this async-all approach gains technically but loses methodically, so I stick to basic editing. Ymmw. What I would like to try is an asynchronous non-inplace helper. Like a side panel or a bg overlay to the right-ish that understands w…

The last suggestion seems somewhat similar to what copilot does, although copilot tends to suggest whole statements instead of a word

Re: LazyVim

#59
post #42
post #21

Earlier quoted context omitted.

copilot works wonderfully inside NeoVim; I use it daily. You are right that some of the more advanced integrations (Chat, direct analysis/explanation) aren't ported though. I use shellgpt in tmux for a (not as good but almost) experience.

I gave it a try the other day using copilot.lua, and it made the whole editor unusably slow. It somehow caused syntax highlighting to "lag" for tens of seconds every time I made any sort of edit. Maybe I need to be using the official plugin, and maybe I need to disable LSP based syntax highlighting, but that makes me wonder what it's doing.

What languages and LSPs are you using? I've never experienced this with Python (pyright), Go (gopls) or Rust (rust-analyzer). I'm using tree-sitter for syntax highlighting. The only special thing is that I'm using lazy.nvim (the plugin manager) to load copilot.lua on the InsertEnter event.

Re: LazyVim

#60

I know it sounds like a pain, but I really am a big advocate for learning how to customize vim (or emacs) yourself. These are great places to start, but the power of terminal editors is that they cater to you at a very personal level. The problem with "IDEs" isn't that they are bulky, it is that they railroad you into doing something a very specific way. Terminal emulators put the custom configuration in your face be…

I use lazyvim and you're still going to be configuring a _lot_ of stuff by hand with it. It's really just a framework for configuring neovim with an opinionated file structure. Compared to other neovim plugin 'distributions' this one is pretty hands off as far as out of the box config--it really just has the bare minimum to get popular language LSPs up, and a lot of missing LSP features that neovim hasn't implemented yet (like autocompletions). For everything else, like defining your own little shortcuts and commands, it's wide open and up to you to figure out just like regular neovim.

Basically this distro is useful if you want to play with neovim plugins but don't want to spend days surveying the landscape to see what are the most popular and usable plugins... lazyvim is doing that for you. As far as using neovim goes this doesn't do much and it's still up to you to do the work to learn and configure it.

Post reply on HN