24 ms·
LazyVim
- manaskarekar 3y agoThe other comparable setups: NvChad: https://github.com/NvChad/NvChad https://github.com/NvChad/NvChad AstroNvim: https://github.com/AstroNvim/AstroNvim https://github.com/AstroNvim/AstroNvim LunarVim: https://github.com/LunarVim/LunarVim https://github.com/LunarVim/LunarVim Never got into any of these, but I love that they showcase what's possible.
- yxre 3y agoI 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.
- adastra22 3y agoWhat is this speed you speak of? I developed in vim for a decade, then eMacs for another decade, before finally moving to VS Code. I’ve never been as productive with vim/eMacs as I am with Code, or Visual Studio proper / XCode when I have cause to sue them.
- ComputerGuru 3y agoEditor speed (i.e. responsiveness), not developer speed (i.e. productivity).
- User23 3y agoHaving used all three myself I bounced off VS Code hard because getting a usable Ruby setup with all the fixings like irb integration and sorbet ls was multiple days of frustration and still not working right compared to it just working out or the box with Doom Emacs. What’s the happy path that made VS Code work so well for you? I’m curious in case I did it wrong.
- jemmyw 3y agoThe ruby stuff for vscode isn't quite up to quality and I find I turn a lot of it off. I've had a good time with the fuzzy LSP https://marketplace.visualstudio.com/items?itemName=Blinknlights.fuzzy-ruby-server https://marketplace.visualstudio.com/items?itemName=Blinknli... I think sorbet hasn't got the critical mass of devs using it so tooling is hit or miss. And I personally don't like it even though I'm well onboard with typescript. What is irb integration? I tend to avoid that kind of thing and just do it in the terminal regardless of which editor I'm using.
- User23 3y ago> What is irb integration Stuff like having code locations in irb hyperlink back to the code buffer in another window.
- aulin 3y agoMay I ask what makes you more productive with vscode? Coming from decades of emacs I'm always wondering if I should try it. If anything because emacs is a huge time sink. You can get lost customizing it to your needs and forget that what you needed in the first place was get the work done.
- adastra22 3y agoIt's basically all the benefits of an expertly configured and finely tuned emacs setup, except maintained by other open source developers so competently that your only time spent configuring your editor is clicking "Install Plugin" the first time you open a file written in the language/framework you use. Sensible defaults, batteries included. The only downside is that as a web tech app it can have some noticeable latency. But on a beefy dev laptop or workstation the difference shouldn't be noticeable.
- cerved 3y agoSurely you jest, Visual Studio proper is absolute garbage
- adastra22 3y agoMaybe for your needs. When I worked as a game developer was amazing for visual debugging gigabytes of runtime data generated by a game engine with millions of lines of code. I could endlessly click through class hierarchies to see what interconnections arise at runtime, and setup all kinds of complicated breakpoint conditions. Obviously you can do all this with gdb or lldb as well, but in my experience it never approached the productivity boost of a graphical debugger. Visual Studio is a bit shit outside of games, .net, or windows desktop software though.
- mrinterweb 3y agoI really haven't experienced this. There was one time i noticed vim slow down, and that was related to a relative line number bug specific to Mac, but that was fixed a while ago. I've used many of the ide type neovim premade configs, and i use my own which has a lot going on. None seem slow to me. Guess it has been a while since I've used a vanilla config. Full ide setups in neovim don't seem slow to me, especially compared to other full ides or vs code.
- mrinterweb 3y agoOne more thing. You can start neovim with different configs, so if you wanted to launch neovim with a super light config, it is possible to have both. Need to do some trickery with env vars, but it's not hard.
- techwizrd 3y agoI also haven't experienced this much. I use the lazy loading functionality for vim-plug, along with async where I can. My neovim starts up in only a few milliseconds and avoids loading most plugins until I open specific file types or use a specific command.
- deleted 3y ago[deleted]
- vidyesh 3y agoThis is not a direct response to your experience but a little off topic but lazyvim uses lazy.vim which is a modern plugin manager that lazy loads plugins/extensions, it also loads plugins on demand instead of loading them all together at startup from your config. It also can lazy-load plugins based on events, keymaps, filetypes etc
- wruza 3y agoI 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.
- VoidWhisperer 3y agoThe last suggestion seems somewhat similar to what copilot does, although copilot tends to suggest whole statements instead of a word
- wruza 3y agoIt’s a similar job, but a different value. Copilot writes code you don’t know yet (supposedly), while this speeds up typing what you know you’d like to type. Both modes could be useful, I think.
- riffraff 3y agoI wish copilot.vim had a way to insert only a token from the suggestion. I often get stuff which is partly correct but "diverges".
- pynappo 3y agothere is a somewhat hacky way to accept just a word, to my understanding, since copilot.vim allows you to access the raw text that's being suggested. try out the snippet in the linked comment: https://github.com/orgs/community/discussions/12426#discussioncomment-3102062 https://github.com/orgs/community/discussions/12426#discussi...
- alwillis 3y ago> 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. Um… the word any is doing a lot of work in this sentence. I never had this problem on a 7 year-old iMac. I tried using VS Code on the same machine with just a few plugins on small projects and because it's an Electron app, I'd get frustrated and switch back to Neovim. VS Code has come a long way but it's no Neovim. The beauty of new plugin managers like Lazy.nvim [1] is you could have 30 plugins configured but Lazy doesn't load all of them at once. In fact, it doesn't load any of ones you don't need and when they do load, it's asynchronous. Plugins on Neovim run on separate threads from the editor itself, another reason we don't get those slowdowns you spoke of.
- zogrodea 3y agoI can't comment on any implementation details, but at least with LunarVim (which I use for daily coding), a slowdown when interacting with LSP is very noticeable. Some others have attested to this on a GitHub issue. I'm not doubting your experiences with the lack of a slowdown, but there is truth that others do experience it. That might be more of a problem with LunarVim itself rather than Vim, but how likely am I (as someone who would like to avoid what he calls "config hell") or other newcomers to avoid whatever pitfalls there are, if a distribution designed for ease of use by people who know better fall into them? https://github.com/LunarVim/LunarVim/discussions/3359 https://github.com/LunarVim/LunarVim/discussions/3359
- zogrodea 3y agoAfter re-reading my comment, I think it was somewhat unfair. LunarVim is still the best and most comfortable code editing solution for me and the performance hit isn't that bad. The point I made about config hell might also be a bit out of place in this subthread since ease of use wasn't brought up explicitly in the comment chain I'm replying to (although distributions aiming for ease of use were mentioned).
- loveparade 3y agoA 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 treatment from Microsoft. At this point, this is (somewhat unfortunately, I really like vim and emacs) a big selling point for vscode.
- raydiatian 3y agoAren’t you giving your code away to Microsoft if you use Copilot?
- whompyjaw 3y agoYa pretty sure using copilot only applies to personal projects. To my knowledge, you can’t use LLM’s while coding at work due to CCI. However, there are plugins to use LLM’s while coding with Neovim and Emacs, so, you can still use these editors for that if you want.
- deleted 3y ago[deleted]
- fernandotakai 3y ago> Ya pretty sure using copilot only applies to personal projects. To my knowledge, you can’t use LLM’s while coding at work due to CCI. copilot for business exists https://docs.github.com/en/enterprise-cloud@latest/copilot/overview-of-github-copilot/about-github-copilot-for-business https://docs.github.com/en/enterprise-cloud@latest/copilot/o...
- jemmyw 3y agoYou can now configure it to not use your code for learning
- 3y ago
- jetpackjoe 3y agoI really appreciate not only stating that the dependencies were, but also the a brief description of why they were necessary or helpful.
- djha-skin 3y agoThese 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.
- w0m 3y agoThe draw of these imo is as a framework for building my own config. Something as relatively niche as the lua config for NeoVim is hard enough to find good code examples that nicely flushed out configs like this are a goldmine.
- qudat 3y agoTotally agree, which is why I wanted to build a config directory to find good examples of code http://neovimcraft.com/c/index.html http://neovimcraft.com/c/index.html
- 4by4by4 3y agoUsing LazyVim got me over the hump to switch to neovim from vscode. My previous attempts failed when it took too long to get an IDE-compatible setup. I suppose I am the type of person that wants and IDE/editor that lives in the terminal!
- NathanielBaking 3y agoI did the same thing and it was also a great learning aid. Now I run my own my own set of plugins but this got me past that initial learning curve. I think it says something that it finally happened to me after 4 decades of software development.
- abarwick 3y agoThere's plenty of people inbetween the extremes. I don't want the bloat but I'm also busy (tired) and don't want to spend a weekend getting my dev env setup. These pre-made environments are great to dip my toes in the water; I get the speed of vim with some of the "batteries included" ergonomics of actual IDEs.
- elliot07 3y agoOff topic, but does anyone know what the vim theme is in the screenshot?
- localghost3000 3y agoAfter curating my own vim customizations for years I switched to this and have been happily using it for about 6 months now. It was very easy to change any settings I didn’t like and/or port over stuff I couldn’t live without. It opens lighting fast too despite how fully featured it is. Highly recommend.
- godelski 3y agoI 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 because that's the point. You should edit color schemes if you don't like them. Select only tools you actually want or will use. Learn native commands (because so many plugins do things that are native and even taught in vimtutor). Turn it into a game if you want. Whatever, it is personalized __for you__, and that's the point. Start here, but make sure to move on and make the editor __yours__
- mathisfun123 3y ago> 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, and tablesaw needed to be personalized. the reality is that software tools, like software itself, are much more complex than carpentry tools (and carpentry), and thus maybe can't be immediately useful in the same way. but that's why ux engineering exists for software tools and not for hammers. so i'm happy to leave it to the professionals to help me become productive as fast as possible (even if not immediately) when using my tools.
- lawn 3y ago> 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.
- mathisfun123 3y ago> 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.
- kristianpaul 3y agoI’m getting to learn use vim better. I liked spf13 until plugins started to give issues, very annoying. I compiled vim 8 recently, looks even better that my distro package by default. Its a new fresh start to me.
- pizza 3y agoBest 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
- qbasic_forever 3y agoI had luck using gnu stow to switch configs easily too.
- pizza 3y agoHadn’t heard of this. Thanks. I guess there are probably plenty of little GNU utilities out there that just haven’t hit their deserved mindshare yet
- tjferrara14 3y agohttps://kkovacs.eu/cool-but-obscure-unix-tools/ https://kkovacs.eu/cool-but-obscure-unix-tools/
- pynappo 3y agoyou can also use $NVIM_APPNAME if you want a more "full" switch between configurations. especially helpful for trying/switching between distributions (i use it for switching between my own config and lazyvim). basically, it modifies the paths where neovim looks for config and data files on startup: config path: $XDG_CONFIG_HOME/nvim/ -> $XDG_CONFIG_HOME/$NVIM_APPNAME/ data path on Windows: $LOCALAPPDATA/nvim-data/ -> $LOCALAPPDATA/{$NVIM_APPNAME}-data/ https://neovim.io/doc/user/starting.html#%24NVIM_APPNAME https://neovim.io/doc/user/starting.html#%24NVIM_APPNAME
- devnullbrain 3y agoWhy not stay in the editor and use `:source`?
- nithinbekal 3y agoA much simpler alternative to this is kickstart.nvim. My approach to customizing my neovim config was to use kickstart as a reference, and slowly add things that I needed. https://github.com/nvim-lua/kickstart.nvim https://github.com/nvim-lua/kickstart.nvim
- tjdevries 3y agoglad you are enjoying it :)
- throwing_away 3y agoI use it. The defaults are reasonable. https://github.com/folke/lazy.nvim https://github.com/folke/lazy.nvim is maybe a more interesting link
- _blz2 3y agoThat's just the plugin manager, lazyvim. github.com/LazyVim/LazyVim or github.com/folke/dot/nvim might be more useful to see how to get the most out of this neovim 'distro'.
- chris_armstrong 3y agoi love lazyvim, as someone who is productive with vim movements and keyboard macros, but has zero interest in learning every inch of the vim plugin ecosystem and writing the corresponding lua to configure it. In fact, I've found it easier to learn the ecosystem of what is going on and feel more comfortable customising it, now that I have a solid base of customisation to build upon. I just wish the documentation included more commentary on what each plugin does and why it is available - having to click through on each one is a bit annoying.
- dumpsterdiver 3y agoI feel like I should be the kind of person who prefers eMacs over vi(m), because I've always been a hotkey maniac. I'm actually not though at all, and I much prefer the simplicity of vim. I already have way too many hotkeys lingering in my brain, especially since I played the game Age of Empires II. I don't play many games these days, and I certainly don't use their hotkeys (I play exclusively on consoles these days, lazily). None of this likely has anything to do with the article. I'm sorry to report that I did not read it. I come here for the commentary, not the article. I am guilty of that.
- ghosty141 3y agoThe neat thing about emacs is that you can make it behave like vim but with easier/more customizability.
- mcpackieh 3y agoStick with what you like, if it works for you then that's what's most important. Personally I switched from neovim to emacs, but I don't care for the 'emacs style' of keybindings. Instead I use evil-mode and set my own bindings with hydra for everything else. Tbh main reason I switched was elisp envy; there's not really a whole lot that you can do with one but not the other.
- wudangmonk 3y agoI've had several people recommend me their IDEs or some new text editor from time to time by telling me that the editor supports Emacs style keybindings assuming that is the main difference between editors. I've never used emac's native keybindings, nor do I use vim's since I don't use qwerty. While my custom keybindings are something I would not want to give up they can be replicated in any other editor that provides this basic functionality. What cannot be replicated is the whole reason why I prefer emacs, I like being able to use it like a file explorer, like a terminal, I like being able to open or edit pretty much any type of file I ever use. When you combine the ability to work/view most of the files with consistent keybindings, that is the killer feature that emacs provides, its never been about the keybindings. I'm curious though, I never really got into vim as soon I realized that it only makes sense if your layout is qwerty. Is vim just its keybindings? or is it like emacs in that the keybindings are not the main reason people use it?.
- humility 3y agoA true IDE layer for neovim. The best part is that the developer(Folke) is very active with development and basically helping with all sorts of problems- the other day, I opened a pull request and it was resolved within hours.. Thank you Folke for the amazing work around neovim not limited to lazyvim.
- rochak 3y agoHe is such a beast. Have no idea how he manages to develop and maintain so many plugins.
- altonas 3y agoLazyVim got me back into vim. After years of custom configs and/or heavily editing lunarvim and nvChad I was getting a bit burnt out but decided to give lazyVim a try, and I was absolutely blown away. For the first time a vim setup actually felt like a real IDE. It took about 60 seconds to go from having lazyvim installed to having a fully functional IDE that I could use at work in a real environment. That's the same amount of effort it would have taken me to set up a fresh install of vs code with whatever plug-ins I wanted. If you've ever been put off by the complexity and setup of nvChad or lunarVim, then I highly suggest giving lazyvim (or astrovim, its similar but with more "batteries included") a try
- majkinetor 3y agoI don't buy it. I have so many custom little quirks that no ammount of integrated out of the box setup is gonna replace it in 60s. Thats unrealistic. I believe its good, but it must be for certain class of working habits (for example, its probably great for those people that use vanilla anything, including vim).
- wrapperup 3y agoAgreed. Back then, I tried to get into neovim with packer and a ton of plugins, then tried AstroVim and stuff broke all the time. Went back to vscode. I tried it again about half a year ago with a much leaner, custom lazy (plugin manager, not LazyVim) setup, and now it's my main IDE for everything except C++ (clangd sucks, sorry) It took me less than a day to get a decent config, and now I rarely touch it (occasionally there may be a nice plugin to throw in). Config is about 2-300 lines, with LSP (rust, typescript), harpoon, oil.nvim telescope, etc. Works great.
- javitury 3y agoThere is also mason for installing LSP servers, DAP adapters, formatters and linters. https://github.com/williamboman/mason.nvim https://github.com/williamboman/mason.nvim
- dicytea 3y agoI'm still using this, but now I'm contemplating on switching to my system's package manager instead. It was pretty useful when I was on Windows, but now I'm just feeling less and less of its benefits. The scope is also intentionally limited, so you need to eventually install some tools manually anyways (e.g. ccls). But I can see the benefits if you work on both Windows and Linux.
- X6S1x6Okd1st 3y agoAfter using vim for more than a decade and slowly acquiring my personal config I switched to lazyvim. No regrets. Also for simple chores like mass converting your config from vimscript to lua I'd really recommend bing chat, an LLM with the docs loaded works wonders on it, getting all my stuff ported and lazyvim set up took less than an hour IIRC
- danjac 3y agoI've been using vim for years, switched to neovim, and at this point I'm ready to throw in the towel and just use vscode for anything beyond simple text editing. The amount of work needed to get a basic IDE up and running for your languages of choice, even for commonly used languages such as Python or Javascript, is far too much for someone who wants to get on with their day job or hobby coding and doesn't want to spend precious hours fixing obscure issues in Lua. Furthermore, the community does not have a good culture of documentation and learning: too many plugins have very sparse docs, and other online resources such as the Neovim subreddit are hostile to newcomers with "RTFM" a common answer. The community is also fragmented, with too many ways to do the same thing in the name of some platonic ideal of personal freedom over practicality. A simple question like "How do I set up Black with neovim to format my Python files on save?" will yield a dozen answers, each one with someone's favourite plugin. Setting up that plugin will require another plugin, and so on until you end up with a Jenga tower of dependencies that doesn't quite work the way you want, but is too fragile and time-consuming to tweak correctly. In the meantime, I can just Ctrl+P and install what I need in vscode and be on my way in a few minutes. I don't particularly like vscode. It's heavy and slow and janky, particularly on older laptops. I don't like being sucked back into the Microsoft ecosystem after spending years getting away from it. But ultimately, I want to just get on with my job, and my job is not Lua Developer or Neovim Plugin Expert.
- TonyStr 3y agoDid you try LazyVim or any other neovim distro? Seems like you're complaining about configuring neovim from scratch, which is that pain that neovim distros aim to remove
- danjac 3y agoYes I did. And they work fine, until you need to do that one thing (e.g. "Set up Black to format on save"). Now you are back in that world of pain of figuring out which plugin needs to be installed/configured, only now you are figuring out someone else's way of doing it.
- 3y ago
- stevebmark 3y agoWhat was the name of the original Vim magic-auto-default setup project? I wish I could remember it! There used to be so many Vim questions on Stackoverflow from people who installed Vim ________ (?) and had no idea what it did. The advice was always: "Stop using that, and learn Vim." This project smells like that. There are two types of Vim users: 1. "Stop trying to make Vim and IDE with all your fancy plugins, learn Vim!" 2. "Vim is so much more than a text editor, of course you can use it as an IDE." These two Vim users are usually the same person. You have to learn Vim's terrible, verbose, antiquated commands in depth in order to justify using Vim. If you don't use q: (q colon) and q/ (q forward slash) in Vim, for example, you probably don't know Vim well enough to justify the efficiency loss you have compared to you using a modern IDE with multiple cursors. Aside: It blows my mind that there are still plugin managers being invented for Vim. That's a bad sign for an editor. This shouldn't exist in userland.
- alwillis 3y ago> Aside: It blows my mind that there are still plugin managers being invented for Vim. That's a bad sign for an editor. This shouldn't exist in userland. I'm not sure what you're talking about… the fact that plugin managers continue to be developed for Vim and Neovim tells us there are new use cases today that didn't exist 20 years ago. Neovim isn't your undergraduate Vi/Vim from back in the day. What's amazing is the plugin managers continue to improve, especially for Neovim. Lazy.vim [1] is amazingly good. Refactoring eliminated 30% of Vim's legacy code and the choice of Lua for the scripting language has unleashed a stunning amount of creativity in Neovim/Vim community. [1]: https://github.com/folke/lazy.nvim https://github.com/folke/lazy.nvim
- TonyStr 3y agoI would argue vim's cryptic commands like q/, gg, ciw, etc. are anything but verbose. Especially compared to gui editors where similar actions are achieved by clicking through menus. Your example of commands is a bit odd; I've used many editors without knowing how to access search/command history without that being a detriment to my usability of the editor. If your argument is that one needs a high degree of understanding of vim for it to be useful (more so than IDEs), then I have to disagree. Vim motions alone skyrocket productivity. Anything you can do with multiple cursors, can be done with substitution, repeat motions, block select, macros, etc. Then there are always plugins, should the built in features not satisfy.
- thatxliner 3y agoHow does this compare to https://github.com/AstroNvim/AstroNvim https://github.com/AstroNvim/AstroNvim
- pkulak 3y agoNot as much stuff baked in. They are very similar. AstroNvim uses Lazy as the package manager as well.
- joshka 3y agoI dallied in this briefly, but couldn't get a good rust setup exactly how I liked, so went back to vscode pretty quick. Perhaps there's a good lazy+rust guide somewhere? I ran into the usual sorts of problems of some random plugin with instructions for how to install it in some other plugin manager for nvim, which means you have to learn two plugin managers and both their underlying concepts in order to port the config.
- hiAndrewQuinn 3y agoI switched to LazyVim from nvChad because it was the only Neovim flavor that had actual documentation for how to get Copilot set up.
- raphinou 3y agoNvChad[1]is the first vim/neovim config that worked for me for coding. What I also like in NvChad is that all my custom configs can be placed under a `custom` directory, leaving the provided config as is and easing upgrades of NvChad itself. This doesn't seem to be the case with LazyVim. [1]: https://nvchad.com/ https://nvchad.com/
- noud 3y agoAm I the only one using vanilla vim with a minimal configuration file (<50 lines)? I set tabs to 4 spaces, put syntax highlighting on, set background to dark, add fuzzy finding, and configure netrw (default file browsing). Very easy to setup. Moreover, when I'm on a different computer and open (vanilla) vim without any configurations. I know that everything is more or less the same as my default vim environment. I think it's not that hard to learn developing in the default vim environment, with some minor tweaks. Also related, How to Do 90% of What Plugins Do (With Just Vim): https://www.youtube.com/watch?v=XA2WjJbmmoM https://www.youtube.com/watch?v=XA2WjJbmmoM
- thenoblesunfish 3y agoNot at all. This boring answer is very useful for general use. I have some fun plugins that have been useful (YouCompleteMe was helpful for C development) but they break and I don't notice. But at work someome else maintains an IDE for me, so I use that.
- nextlevelwizard 3y agoThere is always people coming over from established purpose made IDEs who want to test to waters and bare vim is pretty feature parse out of the box, so these huge plugin & configuration monoliths offer easy stepping stone into vim. Of course with these packages you are trading flexibility for features and you are inheriting ways of working from someone stranger, but it is not that much different than using any IDE. While this offers a nice(r) gate into vim-ming it does kind a miss the biggest perk of using vim - which is molding it to your exact needs and preferences, but that is not something you will do over night. I have been in both camps. I have installed way too many plugins and then gone to very sparse configuration. I think with NeoVim I have found somewhat of a balance, but I think reworking your vim config is a natural thing every five years or so. We grow as people and developers and our needs change and the tools evolve.
- stefncb 3y agoYou're not, mine is only 10 lines and no plugins.
- szszrk 3y ago
- fvgs 3y agoMy attention span for text editor configuration decreased drastically after I finished school. For better or worse, being a professional means making the correct trade off when time, money, and productivity are at stake. In the modern era, there are sufficiently many practical editors and IDE's with major economic investment behind making them highly functional out of the box. I simply cannot justify spending copious amounts of time configuring a text editor when there's sufficiently good and productive options out there. Looks like the last edit I published to my Vim config was 5 years ago https://github.com/fvgs/.vim https://github.com/fvgs/.vim But hey, maybe I'll find some "lazy" time to give LazyVim a go and give VSCode a break.
- nextlevelwizard 3y agoAs long as you know your tools and can achieve everything it doesn't matter which tool you choose. I tend to mentor a lot of newbies and they often use VSCode, but since they are newbies they don't know how to do basic things like search (and replace) and I can't help them since I've only used vim. I have tried to give VSCode a go couple times to get more familiar with it, but I run into same issue as you - I simply can't justify in my head the time and effort to familiarize myself with the editor, figure out what settings to use and which addons to add.
- drngdds 3y agoYeah, I don't get the "use Vim for everything" approach unless you're just doing it because you find the customization and configuration fun. I usually use VS Code for quick editing and full IDEs for real work with big projects. Modal editing is awesome though. I use modified Vim keybinds for everything, even web browsing.
- CiTyBear 3y agoMany people complain about the time you need to have a proper vim. In computer security, I learnt to make my own tools, to develop my own script that match what I want to do/scan. For vim, this is exactly the same. I started with Python so my vim became the best Python IDE (for me) and that's all. What I said to junior dev is "Here my vim conf, you are allowed to copy/paste only what you understand". Then I did some Typescript and added a configuration that works for me. Thus, some pain point came from my old config in python, I found new good plugins and added them. And so on with rust and ruby. Everything is commited so now, on a new machine, it takes me the time to copy/paste my config and write :PlugInstall. Everytime I test vscode, it does not do what I want and when I look into it, I can't configure it correctly. Vim has always my back.
- majkinetor 3y agoIndeed, yet I switched to vscode after 10 years of vim because it is next in line to vim when powerfull editor is in question, and once you set it up you can have it 0 on-boarding everywhere else working on ANY machine you use, including browser. I use a lot of machines and I want my editor with me. Its mind blowing that you can just login in GitHubs vscode within a web browser on any repository and have your own vscode with config, hotkeys, extensions and whatnot, the same as on the desktop. I do miss vim editing constantly, and I could never feel vim emulations as a native thing, but vscode is really awesome, particularly its keyboard centric design and sync. Once vim has this "works everywhere and my setup installs in 1 command" I will get back to it.
- lawn 3y agoFor me it feels easy to migrate my config. Just copy/clone the dotfiles, launch neovim and run a command to update the plugins and everything is good to go.
- tenacious_tuna 3y ago> Just copy/clone the dotfiles, launch neovim and run a command to update the plugins and everything is good to go. The last time I did anything like this was back in 2016, where I'd cribbed a relatively customized vim config that my boss had rigged up for python and C++ development. I spent so much time troubleshooting plugins and integrations across the various systems I was trying to do development on, I've been burned out on "just install a plugin and update stuff." Even now, working with Ruby and VS Code, I feel like I have to troubleshoot my plugin stack once every other month because some behavior isn't working quite right. I loathe the idea of ever having to set this up on another machine, and I miss when I was a Mac developer who just (had to) use XCode. It was flawed, certainly, but the base function set Just Worked. I used to have the stomach for having to chase down config issues and customizing my esoteric editor, but now I get extremely suspicious whenever someone says something like "just copy the files and re-run the install command". It's never been that simple in my experience.
- ctenb 3y agoWhat ide functionality is provided by lazy vim?
- kzrdude 3y agoLSP integration gives access to completion, linter or compiler warnings and errors, formatting. It adds file browser views. And it preconfigures a nice way to resume an editing session (preserve open files).
- izoow 3y agoI've recently been exploring various neovim distributions and I feel like at this point neovims package ecosystem has gotten good enough that these distributions don't really seem to make my life much easier. Many times quite the opposite actually, as I often find myself fighting with them when I want fo change something. The experience is still not as painless as effortless as VS Code, distribution or not, but it's definitely gotten a lot better than it used to be.
- mdoliwa 3y agoI'm Ruby developer, and tried multiple times to switch to vscode or one of these heavy IDE like plugins. All the time I'm back to my simple setup which is basically vim + fzf(powered by ripgrep). CTRL+P I run fzf to find files, CTRL+F to scan files content. It's so fast, that every time I'm doing the test switch to another tool, I'm missing this speed and get back to it. Some time ago I wrote an article for company that I used to work for, describing my workflow: https://thecodest.co/blog/rails-development-with-tmux-vim-fzf-ripgrep/ https://thecodest.co/blog/rails-development-with-tmux-vim-fz... you can check it for more details.
- bilekas 3y agoThis is cool and convenient but a bit bloated for my tastes.. It's taking forever to install, hangs and the usual Mason issues.. In my opinion there is no "One size sits all" configuration of vim that could be packaged up for mass adoption.
- S1M0N38379 3y agoI have been using LazyVim as my daily text editor/IDE on my 2014 Macbook Air for about 6 months. It is the only IDE that runs smoothly and provides good Language Server Protocol (LSP) and plugin support. After delving into the configuration rabbit hole, I started prioritizing 'getting things done,' and LazyVim proved to be a good choice. 1. It is easier to disable a plugin than to configure it. 2. It's Vim, so it is fully customizable. For instance, I use it to write LaTeX and compile it upon saving using my preferred LaTeX compiler, thanks to LSP. 3. It's Vim, so my mental muscle are grateful. The only aspect I feel could be improved is the AI-assisted experience. The available plugins cannot compare to Copilot X Chat on VSCode, so most of the time, I find myself switching between the editor and a browser window with a ChatGPT-like chat to ask for boilerplate code. However, I'm confident that the Neovim community will rise to the challenge (zbirenbaum/copilot.lua and jackMort/ChatGPT.nvim are good starting points).
- birds_are_drone 3y agoFor those s who want a nvim experience without the hassle of a config file as long as my arm : I warmly recommend you to try helix. Exploratory terminal based interface (much like zellij if you use that) , terminal based, fast as fk, minimal config required(just having the LSP in your path is enough) and the documentation is mostly complete. Try it out
- motbus3 3y agoI still use vim. What am I missing?
- t43562 3y agoI think it's hard to beat Pycharm when one is writing something new in python - even the community edition - but I always gravitate back to vim/nvim without thinking about it because my IDE is really the commandline. It's about how big the project is and how much I know it. The smaller and more known it is, the more I cannot be bothered with the extreme inconvenience of having to steer a huge oil-tanker-like IDE to do what I want and accept that it doesn't exist on this machine or that were I want to do work remotely. It has all the searching and finding and probably SFTP stuff that could do things but that means I cannot use all my CLI muscle memory and ways which are far more generally useful. In a project I'm not familiar with, Pycharm helps me autodiscover what's going on better and not waste as much time. It's also good for refactoring things with more certainty about whether I've broken it or not. A good set of unit tests are much better than an IDE but since that's not often available I'll take any advantage I can get. I find that having flake8 setup so that it runs in vim is an enormous help on its own even though it doesn't begin to match what an IDE can do. For 2-4 screen scripts it gives a good balance of preventing annoyingly silly mistakes versus convenience.
- ryanslade 3y agoIMHO the best thing about vim are movements and modal editing. Once you have the muscle memory for that it's really hard to go back. However, almost every major editor / IDE has a vim mode these days which for me is the best of both worlds. I don't need to mess with configurations for days but I still get (almost) all the power of the vim editing model.
- deleted 3y ago[deleted]
- column 3y ago:i to insert :q to quit without saving :x to quit with saving For everything else, I use a GUI.
- wauter 3y agoGreat project!
- cutler 3y agoI don't get the [Neo]Vim IDEs dichotomy. VS Code and IntelliJ both have excellent Vim plugins.
- pratikch1253 3y agoI have tried most of these out of the box neovim stuff and they do work for the most part but as soon as you want to tweak things it's not as easy. Besides that sometimes plug-ins can just break due to a bad merge and that can just break some core feature and now you are stuck either finding a fix or just go back and use VSCode
- articsputnik 3y agoMost people miss "Vim Is More than Just an Editor." The Vim Language, its motions, and its modes will make you a better programmer and writer. If you invested in the vim language early on, you can use it on each editor, browser, and other apps. This has nothing to do with the editor yet – these are universal and available. For example, there's VSVim for VSCode, IdeaVim for the JetBrains products, Vintage Mode for Sublime, and so on. But there are also Browser extensions like Vimium or Firenvim, and Gmail even adopted some of Vim's shortcuts for navigation (j, k for moving, g for jumping). Everyone who types on a computer eight hours a day should learn the Vim language. Yes it's hard initially, but that's the case with everything new and different. But getting better every day and having more fun coding or writing should be motivation enough. Also, imagine, if you work over a decade, how many times you had to learn a new editor (notepad++, atom, eclipse, ...) some of which do not exist anymore. If you once learned the vim language, you are getting stronger. There is a reason the editor has existed since the eclipse of programming. The Vim grammar is exceptional, as spoken language has verbs, subjects, and objects, as does the Vim language. The grammar has different verbs, to begin with. Copying (or yanking) in Vim with y, deleting with d, pasting with p, changing with c, and so on. You can also see in the comments here people fight over Vim and VSCode, where the natural beauty is the language behind Vim. If you do not want to configure and customize your own, use VSCode and add the Vim extension. But if you're going to get better at your job, you should try the Vim language. Once mastered, you edit text at the speed of thought. Sounds cheeky, but it's true for me. Instead of thinking, "I want to edit that word," my fingers jump to it and change it with a few keystrokes. I wrote more on https://www.ssp.sh/blog/why-using-neovim-data-engineer-and-writer-2023/ https://www.ssp.sh/blog/why-using-neovim-data-engineer-and-w... in case you are interested.
- DoubleFree 3y agoI would substantially nuance most of what you say. I really like vim and use it almost exclusively, but it is not necessarily the "only" way, or even necessarily the "best" way to do things. If the vim grammar clicks for you, great, by all means use it. There are people for whom it doesn't click, and that's fine too. I do encourage everyone to try it for a bit. I also would not say learning vim makes you a better programmer or a better writer. It makes inputting and changing text easier and faster, but that's not what programming or writing is about. I agree that the vim grammar is nice, but the bigger thing that differentiates editing text in vim versus other editors is its modality. And it is the modality that allows it to have a grammar in the first place. And that grammar does break down in places, just look at every keybind starting with g. So yes, try vim, because it is pretty great. But if it doesn't work for you, move on to something that does.
- pratikch1253 3y agoWhy is this upvoted so much this is nothing new??
- Dead_Lemon 3y agoNo exactly on topic, but I enjoyed this parody, Interview with a VIM Enthusiast: https://youtu.be/9n1dtmzqnCU https://youtu.be/9n1dtmzqnCU also, Interview with a Emacs Enthusiast: https://youtu.be/urcL86UpqZc https://youtu.be/urcL86UpqZc
- snitty 3y agoI just open a file stream and write the hex straight to the storage device. Anything else is cheating.
- TheRealDunkirk 3y agoOblig. https://xkcd.com/378/ https://xkcd.com/378/
- snitty 3y agoOoooh, I'd forgotten about that one. Thanks!
- Timpy 3y agoI really wish I could just put a native neovim or vim text editor inside VSCode and call it a day. I absolutely love the lightning fast experience of editing with vim. When I know exactly what I want to do, I feel like I just ripped a line of spice and piloted a trade vehicle across Frank Herbert's universe. But a lot of my job is exploring a code base and trying to figure out what the hell is going on, and I have to concede that setting up vim to do this kind of broad exploration isn't that great. Being able to click around at random and juggle tabs in the UI instead of storing buffers in my head is nice. I know vim can solve all of this, but I just found myself gravitating towards VSCode when I'm crunched for time and can't be bothered with vim.
- pseufaux 3y agoHave you tried the vscode-neovim extension? That's basically what it does. https://github.com/vscode-neovim/vscode-neovim https://github.com/vscode-neovim/vscode-neovim
- Timpy 3y agoIt sounds like that's exactly what I was looking for. Thank you!
- mnrode 3y agoHave you looked at the "VSCode Neovim" extension? It uses a native neovim editor in the background (instead of just emulating VIM like VSCodeVim), so the editing experience is the same as native vim.
- deleted 3y ago[deleted]
- synergy20 3y agothe original vim has always been my daily editor, yes I did spend time learning it along the way and it worth every minute I invested, it does everything vscode or other IDE can do for me. typing while moving mouse and clicking here and there on an IDE is not as productive comparing focusing on keyboard typing, to say the least. the beauty is that I can use it on any servers too.
- moistoreos 3y agoThe mnemonic bindings I get from my config are an integral part of my workflow and super easy to add/update/change. But the primary reason for using Neovim is I don't have to leave the terminal. I switched entirely to the CLI a few years ago and I am more productive here. If I wanted an IDE, I'd switch to the terminal version of Emacs.
- _V_ 3y agoI was using neovim but nowdays I just fire up Sublime. neovim remains as a choice when I jump to other servers with SSH. The thing is that when I'm (for example) trying to RE some protocol and have bytes-only view, I move things around quite a lot. And Sublime has a powerfull tool for this: multiple cursors. I can create as many cursors as I need and edit multuple instances/bytes at once.
- vincentkriek 3y agoI dont understand the multiple cursors, is this better than search and replace? I am guessing you are replacing it to the same thing at every cursor, but I guess the value is then that the from could be different at the cursors?
- xrendan 3y agoI use this all the time and you can copy a range of values with multiple cursors and then paste them into the same size range. It's nice for hashes or modifying static lists that all need the same changes, but are annoying to regex for
- _V_ 3y agoIt works perfectly together - one is not necessarily replacement for the other. For more complicated things or bigger changes you would go with regex search & replace or sed/awk/grep but for small one-shot things it is way quicker to just click 5 times and do whatever you need to.
- _7tgr 3y agoYou can use marks in (n)vim for this! m<key> creates a mark. If <key> is a capital letter, you can jump to it across files. '<key> jumps to the line of the mark. `<key> jumps to the line + column of the mark. Although this doesn't let you _edit_ at the mark. There's multiple cursor plugins for that, I suppose... (I'll note that macros are useful in a lot of the same ways as multiple cursors) Edit: You can also use :vimgrep or another command that populates the quickfix list, and use :cdo to execute a command on every entry in the quickfix list.
- weka 3y agoI use AstroVim in the same vein. Been using vim for a while but the hardest part of me actually making me want to keep using it is the formatting. Somehow, someway, the linting and formatting (whether its eslint vs prettier vs whatever else) always makes it a battle. VS Code does this to perfection. With vim, I have to battle and make small concessions on how formatting behaves.
- pacomerh 3y agoI have been using Lua to customize Neovim for some time now and generally, the experience has been good. From time to time, I do encounter issues such as dependency incompatibilities butI always manage to find a solution. Recently, though, I experimented with LazyVim, and I must admit, it might replace my current setup. LazyVim fulfills all of my requirements, it works and looks great. Btw, if you this is your first trying it check out Elijah Manor's video: https://www.youtube.com/watch?v=N93cTbtLCIM https://www.youtube.com/watch?v=N93cTbtLCIM
- Octplane 3y agoI switched to LazyVim earlier this year after giving up on Sublime Text, mostly because I want to be able to some motion-based editing and... LazyVim is nice. The builtins are rich enough to cover a lot of stuff you want to do without having to reopen another editor every 5 minutes and for my Scala daily work, it's good enough. The versatility of the configuration allows me to use all my languages with the same editor and a reasonable level of usability. Also, I started using it with Wezterm and its multiplexing feature, ie though SSH and it's very nice to be at ease with your editor when it's also running in the Cloud.
- Dowwie 3y agoVery buggy installation. I installed in macos. Now, when it starts I get several plugin related errors related to lua, json, etc..
- lancekrogers 3y agoI recently switched to lunarvim, it took a few weeks to port my neovim config over to lunarvim, but now it's perfect. My neovim config was a port from my .vimrc and was outdated, switching to lunarvim has been great. I've used the jetbrains sweet of IDEs, vscode, atom and many other text editors and IDEs over my career but always come back to vim or neovim. After the initial hurdle of learning vim, everything is easier. My hands and shoulders hurt less and I can navigate code much more quickly. It also helps me stay more focused and actually remember what tools I have available and enables easy tweaking if the tools are broken or not 100% what I need. I do project planning and time tracking in neovim now and have my notes synced across all devices using obsidian
- stickperson 3y agoUsing setups like this is a great way to get into neovim. Over time you'll start tweaking it and then realize you can just read the source code and implement your own version. That's what my journey over the past ~8 months has been, at least. Here's to hoping we get a nice way to play with containers in neovim. I'm sorely missing devcontainers from vscode.
- sanderjd 3y agoI switched from vim to jetbrains IDEs (with vim keybindings) nearly a decade ago because of visual debuggers being incredibly useful. Is there one of these for vim (or neovim) now that works well with popular languages?