I personally became interested in neovim, after my vscode just started lagging like hell during hackathon. I tried your config, kickstart, configuring my own, but it looked like a mess and was absolutely unaware of what I was doing. Finally I used NVChad for 3 months and then wrote my own config without any problems. I think starting from the neovim distro may be a good idea. And I use arch, btw.
Kind of in the same place, downloaded neovim today due to vscode vim lagging the hell out. Nvchad is so much more comfortable than vanilla nvim, im sure with more experience I will start messing around with config and plug-ins but I can’t think about that rn
On a big project with a bunch of plugins it becomes noticeably slow, in my case I had even scrolling animation lagging. And I was doing it on a m1 macbook. The problem is not with the pc, but with the electron.
I also started hating vscode after it was laggy as fuck using java. The lag + slowly converting to the vim motions, it was inevitable i would eventually end up on neovim And now i wouldn't even use zed, although it would've been a perfect choise it was present when j started coding
My nvim config is a minimal kickstart clone (17 lines), a series of independent single file plugin configs, an utilities file (mainly yanked from the LazyVim repo) and a settings file for custom non-plugin configs and keymaps. Kickstart is really the best place to start, once you went through the whole repo you already know how to make your own config.
Honestly got to agree with prime here. The problem I have with distributions are that they include too much. There isn't much that is really necessary for editing and writing code. Basically all that is needed is an LSP, a way to browse files (netrw and telescope), and the editor itself. I followed prime's tutorial and got a kinda minimal config with like 5 plugins, and that let me do everything I really needed. Then I was really able to focus on coding and getting a grasp on vim.
Yep, I'm just running telescope, an LSP, cmp, and a colorscheme w/ treesitter, and it's all I need for the time being. Now my main focus is getting used to nvim split windows commands and navigation to move away from tmux
I've once tried lunarvim. I was overwhelmed, but it was a good showcase of what kind of features can be used in vim and a reference implementation you can learn stuff from.
But you kinda have to adapt your workflow which might need adjustments and switching is easier when you gradually start to edit the config and then create your own
Agree completely. I followed your tutorial and it not only made me finally understand "the deal" with vim; starting from scratch and building things up was way more useful. I now know what plugins I have, how to use them, and how to add and configure more.
I am of the opinion that if you don't write your own config, you won't be able to add/change the stuff you need or hate when you need to Also kickstart.nvim is probably the best compromise as a starting point
This is one of the reasons why I like kakoune so much. The amount of breaking changes over the last several years can be counted on one hand. I wrote a few plugins several years ago and they continue to function just fine. Neovim sounds like javascript in how quickly it evolves, whereas i just want to configure once and then get to work.
Honestly I started with AstroNvim because I hated configuring base, installed two LSPs ant TS from the easy installer and now using it for 3 weeks at work without much problem. Maybe it's not for everyone but it works.
I don't think I'll ever switch out from Asto as long as it maintained. I love how it's preconfigured and flexible. Bloated a bit, but pretty good. And I don't want to waste a lot of time configuring neovim from the ground having very flexible framework
I did neovim from scratch and then just installed lunarvim and in the year + of using it i dont really see a reason to swap to my own config. I havent had to touch my config in months, updates are always smooth and nothing ever breaks. edit: 10 months later I'm on my own config because i wanted a more minimalist setup
Lucky. LunarVim updates sometimes destroyed my config and I never figured out why. Switched to vanilla neovim then later to Astro. It was probably something weird in my config, but Astro works, so I don’t care anymore.
Yup. I used kickstarter for some month, and now i am mantaing my own config with 21 plugins. It is worthy to know how my config works, this way if i ever need to change something i can easily do it.
I did a bit of a mix here personally, started out with your 0 to lsp series which I really liked and put into its own git branch. Then I took a look at what nvchad did in another branch to see if there was anything I really liked, so played around with that a bit. Later I integrated some things I liked from nvchad into the config I ended up with thanks to your videos. I do end up in configuration hell sometimes as the more I see the more I want to customise my vim config 😂 even talking about it now has me wanting to change my configuration again, so I know what I'm doing tomorrow!
Funnily enough my nvchad config had trouble updating the day after I posted this, so I indeed went for a config with Teej's kickstart.nvim the next day. It's honestly a lot better now for the most part, still missing a few minor things but otherwise I much much prefer it!
@Prime, you have done an excellent job by contributing harpoon and git worktree plugins to neovim ecosystem. It will be great if you could spare sometime to maintain those plugins. I like those plugins very much. Thanks!
100% agree with Prime. I tried using nvim distros like 3 different times and every time I dropped it after a few DAYS. It was just way too much all at once. I love vim motions, I have them set up in vscode and obsidian, but there were just too many hotkeys and plugins and stuff, and it just felt overwhelming. I heard about kickstart, spent a solid 3 hours reading the config and setting some custom keybinds, and it was great. Still super new, but I’ve been using it for like 2 weeks now, slowly tinkering with it, and its been fantastic.
@@thelatifproject Yep, it has absolutely become my go-to, I do still occasionally use vs-code when collaborating (its easier to explain how to do stuff using the shared language of microsoft products lol) or if I need some specific extension that would be difficult to set up, though neovim has some incredibly impressive support for common extensions these days. I would say I am faster at reading and editing code, though tbh the difference is mostly negligible if you're counting the time I spend configuring vim. Honestly I'd only recommend vim/neovim if you enjoy the vim editing experience and are ok with a few hours of initial configuration (I enjoy this part, which is probably why I've stuck with it). Kickstart makes it incredibly easy to get started and if you're interested I'd absolutely say give it a shot for a week or two and see how you like it.
I started with vim about 6 years ago, when neovim was just a vim clone (or at least I thought it was), trying to learn bash and shell commands. I learned bash and vim first, then wrote my first program with it😁 and agreed with known the system/environment, I see what knowledge it gave me and it was (actually still is) helpful, from How a compiler works to the syscalls, signals and return statement, and even more. I googled and wrote my own vimrc, time to time when I saw some useful tricks or plugins, I would add it and use it, I still keep some of keybindings from someone else's vimrc which I saw on a youtube video. and after switching to neovim, when the lua API became a thing and gets much powerful, I ported some of my old habbits (😁) to lua. Hell of journey which I LOVE and proud😁 btw trying ed is a awesome idea! ed is always installed on my system and love to play with it time to time😁
But a neovim plugin can always be looked into, while vscod3 extensions can be closed source Plus lua it's just stupidly easy to read, compared to the trashcan of garbage called javascript
I'm fairly new, and astro has knocked it out of the park for me, I may try kickstart at some point but I don't really have anything that needs changing. I do like the idea of having a single config file, because currently I have 3 or 4, but they're very short, just a little bit of fine tuning.
I use Arch, btw and my adventure with Vim/Nvim started few years ago when my CTO told me that we will use Nano instead of Vim for server operations. I knew what Nano was but was totally unaware what Vim is. Then i spend months watching primes first tutorial series how to setup Vim. The rest is history. Now I use AstroNvim and I am really happy with it. I could do the same setup my self but when I need to switch to other Linux instance i can just pull AstroNvim and I'm ready to kick some azz and chew bubble gum, and I'm all out of gum... :D
As a beginner, I wholeheartedly agree with the article. Getting started from scratch is overwhelming and time consuming. NvChad just gives me everything I wanted out of the box. If I need further configuration/personalisation, then I can still do that but now I can get developing out of the gate and not spend countless hours reinventing the wheel. I mean why do that when VSCode is right there and completely fine for me?
The only thing I'm missing in helix is option to install copilot. Say what you what but copilot makes me go a lot faster especially when doing some boring stuff at work. I also believe that these tools will only get better and investing time into learning to use them will soon be essential for being competitive in the field.
I had been running vim since 2000 with an 8 line vimrc. Picked up neovim about a month ago, installed Chad, and now I'm ripping it apart and making it my own. Learning a ton about how plugins do what they do and I'd be fairly comfortable writing a small one at this point. Using a distro gave me a good idea of what I could do with neovim. Before long, there won't be many remnants of chad left.
I tried configuring my own as a beginner but was held back when I learned what LSPs were and trying to add one into my config. I couldn’t figure it out and now I’m using nvchad with the recommended default config. It’s been such a huge help. I would recommend using a pre configured distro as a beginner
I started with Kickstart, then added a few Mason plugins for LSP and debug, that's it. My code output has literally been 10x what it was back when I still use VSCode. And for the first time I actually enjoy writing code for hours. It's insane.
I learned vim pluginless at first. I did learn a lot and take a lot of inspiration from a modified version of spf13 that one of my coworkers had setup as the default at one of my jobs though. this was before the plugin ecosystem was very big and before neovim was a thing though.
I actually think starting from scratch to understand the guts of neovim is a good idea. Then if you get tired of fiddling with configs switch to a distro. That way you at least understand the internals instead of fully relying on someone else to just “handle” it for you.
When I got tired of configuring and keeping up, I just gave up on language servers altogether and my vimrc is down to 3 lines set nu set relativenumber syntax on
Going back to ed is a good idea as long as you eventually get back out and use the big guns. Also, using ed will improve your memory because you will need to memorize which line you want to edit and stuff
Holy shit you just described me in your take. After being deep into vim 10 years ago and letting my config go unmaintained, I just couldn't find the time to get caught up with the latest plugins in the nvim ecosystem and roll my own config. These days, I've just settled into lazyvim since it's good for what I need and I just need a few lines of customization to tune it to my taste.
Yes please! I'd love a primagen version of kickstart. I hate to admit but I wasn't able to follow along with the other nvim setup vid. Skill/commitment issue i know but ya
Interesting. Started with Nvim cold turkey based on Primes tutorials, then a few dozen plugins later, I find myself really confused how it all works. I got quite good with key maps and core plugins (telescope, nvim-tree, lsp-zero, etc.), but my current config looks like a Frankenstein and is not always clear to me. Thinking to stick with it for a few months and then do full restart on NvChad, hopefully giving me a more opinionated structure to follow and expand my understanding of Lua. Thought I gotta say that starting from scratch was a good experience for me as I got to understood the basics (which were dead ass coz I came from VsCode lul).❤
Update: restarting on NvChad was a good idea. Offered sensible defaults yet was much easier to customize than my old scrappy config. By extending my NvChad fork I the learned basics of Lua, and now I'm able to add new plugins with relative ease. What I miss from VsCode is the one-click syntax+linting+format support for most languages. On Nvim it can be a struggle (e.g. Helm charts/Jinja templates) to get it working well when plugins don't have good docs. The upside is endless customisation of the editor, I can see how powerful you can get once you really master the config - not to mention the motions and keybindings, which give you superpowers.
I’ve never been able to get my own NeoVim configured and working and I tried it on 3 different Linux distributions multiple times, thanks to one Vim plugin, so I 100% agree.
Hmm, I would advise against that, better to learn vim motions with basic setup and then try distro to avoid config hell - constant config fiddling ...😂
I love editing my configuration, my nvim config is my temple, and I shape it as I please. And honestly, I find it quite empowering once you get to a certain point. You stop relying on distros to fix your problems and find your own solutions. It kinda becomes more of a lifestyle than a tool though, in fact I use it mostly for configuring rather than coding lol, but I do find it fun and it gave me great insights on the ecosystem, different tools, and lua coding, but that's not everyone's cup of tea. If you want a terminal editor ready to go from the start you're probably better off with helix to be perfectly honest, if the different motions aren't a deal breaker ofc.
With lazyvim u get the best of both worlds. You minimise the effort maintaining ur config and you can configure everything like it's your own, documentation is top tier too
I conf my own neo vim 2 days ago it is minimal and I have all the things I want (I am learning programming so I am using it for web dev and DSA). If anytings breaks or I want to add new pluagin it pretty easy to update.
Hola 👋🏼. I set up kickstart just two days ago as a Neovim newbie. Your kickstart extension would be neat to dive in and keep learning + growing. I would dig it!
Agree exactly as an almost beginner. If you're a seasoned neovim enjoyer that doesn't really wanna spend time configuring it, use a distro. If you're a beginner, a distro simply adds to the confusion already present if you're first configuring it, you should stick to something simple that will teach you the basics. I do wish kickstart was more modular, since having a single file for everything is still a bit overwhelming, but I've had a lovely experience with it nonetheless.
I think (I'm admittedly not through all these steps) start with a vim motions plugin in your current IDE. Then switch either to a distribution or follow along with a well done NeoVim config video (the benefit of the video is that it should give you an understanding of what each thing does) then start to tweak things as you continue to explore
A smart strategy is to use your Neovim IDE layer of choice as a playground for experimentation, but keep your main nvim installation minimal. Then you can customize your nvim accordingly after seeing what works in LazyVim, LunarVim, or whatever you're using.
I agree. I have years of experience with vim but not with neovim or lua (or even vimscript). I am confortable with vim motions and don't mind using vim as an editor, but had reservations about switching to neovim full time. Nvchad and Astrovim came to the rescue and now I am using them nearly full time for my personal projects. Learning how to setup neovim from scratch will have to wait, though. If I feel that way, someone who's a beginner and still getting used to vim motions will probably have a higher cognitive load learning that as well as lua for setup.
I agree with the idea of avoid unnecessary layers of abstraction, is better learning from scratch and find your ideal minimal configuration. I agree with John Blow... sorry I agree with Prime
Hi, Prime! I love your videos. I believe it would be great for non programmers like myself if you use a neovim configuration and pick it apart for us, and explain what you think is good and what not, i don't know. Something like that. Anyway, have a great day!
Ohhh I was in that civil war. I started In the 80's with ed and moved to vi. And always wanted to learn what this crazy emacs was. But I read Unix manuals in the back of the Unix Lab. WOW
@@Ben-rc9br I'll check it out. The VIM work style didn't really suit me because I find myself working with a bunch of different windows files and folders & I found trying to navigate all of these things w/o a mouse was confusing 😥
I think the only thing I would consider to be actually essential extra setup to a beginner starting out with vim is lsp configuration. Assuming they are familiar with vim motions. Sure it may not look particularly pleasant but just regular vim out of the box is already an incredibly feature rich editor. Most of the plugins are either completely aesthetic or save you at most 5 or so key presses once in a while compared to just using the builtin features.
year old vid but I share my thoughts. Depends what your expectations and goals are. If you are looking for an experience close to modern IDEs and don't want to spend long time building it, distros are lbetter option. If you want rather simple / minimal text editor and/or learn little by littlle with time, building own config makes sense.
I've used vim when vim scripted was used to configure it and i really loved it , now there are a lot of pre-configured i tried many of them but for some reason they are became hard to configure which makes them limited in my opinion ! but even so much love for nvim !
I think beginners should learn how to code, and focus on that. Spending days and weeks configuring your editor while barely understanding what you're doing is a terrible experience for people who are simply just trying to get stuff to happen (i.e., code something). I'd actually suggest someone start with arduino, or making a crap website, or make some pre-coded game with python, with the most hand-holding IDE available. Once you know what you're doing, what you like, and what you want to do, then sure, use neovim.
Kickstarter is the way to go. I started there and after some setting up, painful at first, specially if you are also getting started with vim motions, but it's relatively easy to pick up even if you don't know Lua.
Oh, and you also have to start with the mindset that you are not looking to get the same experience as with visual studio, it's a different approach with its own pros and cons.
I used vanilla vim for months in school but getting to fulltime I needed something with more power. No more single file assignments. So I used NVchad after bashing my head against all the options I had and random bugs that came from trying to essentially rebuild what NVchad already offered. My hot take is not to start with vim motions in another IDE. It’s too easy to fall back on your mouse.
True i just started using neovim with nvchad for the same reason i tried to use vim motions with vscode but i was keep going for the mouse. It was like a natural instead. It's been four days and i already becoming comfortable using keyboard only
First time I started using NeoVim I used NvChad. Quickly got rid of that because everything worked great but I had no idea how. Started again following your 0 to RC video and have since set up using that method from memory a couple times now
I tried a preconfigured solution, I didn’t like it. I prefer starting from default and customizing as I go. My reasoning for this is that there is a lot I just don’t need, and I am fiddling with someone else’s config and not my own… I really don’t like messing with others configuration as they tend to be all over the place.
I have really struggled to get into Neovim until I stumbled upon Dreams of Code setup videos and NVChad. It's made the approach for easier and and been really enjoying neovim
I started with kickstart, got extremely frustrated because I wanted to program instead of configure it, installed astronvim and after a few months I went back to kickstart. I think that distros are good for beginners that don't want to configure their environment all at once
Same sort of experience for me, doesn't make much sense to go through all the time you'd spend researching and then setting up your config if you still don't know whether or not nvim is for you. Spent a good amount of time in lunarvim, experienced how it feels to actually write code in a good config and then started my own to change what I disliked.
I agree that vim motions will make you generically faster at everything, regardless of whether or not you decide to push forward towards neovim as your daily driver. The keybindings are literally everywhere from the web browser (vimium) to the command line (set -o vi). If you take nothing else from this video, give vim motions a try and I promise you'll never look back.
Just in the process of pondering whether I should start from scratch after configuring LazyVim. I'm an original Vim guy so no experience with Lua and nvim idiosyncrasies. It *is* nice to start out with, but as soon as you try to change defaults and add your own stuff, you are hitting the limitations of the "framework" and there is a lot less documentation than for vanilla nvim. Most of the examples on plugins won't work as you would have to translate it to the LazyVim way. Not impossible, but not much fun either.
FWIW, LazyVim is the most polished Neovim IDE layer I've tried, and I've tried most of them. It's also the fastest I've tried. As a long-time Vim/Neovim user, it takes care of the plugin management and gives me what I need to get work done.
@@danielstoddart I think so too. I ended up with nvim-lua/kickstart-nvim and transplanted the bits I found most useful from lazyvim over. Quite the roundabout way I have to admit, but I guess it was just the work/time needed to be put into it to really feel comfortable with the new setup and to have the confidence and overview to change it to my tastes.
I started with kickstart, but at the end of the day, I just dont have the time nor energy to configure it all from scratch. Lazy Vim runs really wel, all of the key bindings make sense to me and I'm able to ship some code. I want to try to set it up myself at some point, but then again I am someone that truly HATES configs. Never hire me for devops.
Прошел по пути автора статьи и полностью с ним согласен, сборки nvim - это как магазин плагинов с возможностью просмотра функционала как только ты понимаешь, что тебе нужно и что ты действительно используешь - копируешь себе
sed and awk: Perl is still everywhere and a *lot* nicer than those two. If you think Perl has it's quirks, wait what (g)awk and (to a lesser degree) sed has in store for you. sed can be understood if you already used vim's s///g a lot, but man awk is a different beast altogether. There actually *is* a reason why Perl took of when it did. It made it a lot easier to get everything awk/sed have to over in a much, much nicer package.
one thing that I do recomment beginners, is that they don't start with vim and go streight up to neovim that just makes more sense, now i have a 99% .vimrc based config and it is a little bit annoying without nvim you just miss out on some features like autocomplition, so I'd recommend not starting with vim or even touching vimscript config.
I think i will say a obvios idea but i think every individual mind speaks a diferent way of mapping things. And every developer should map his own Vim config through his individual experiencies and needs. That is what makes it so natural to aquire. Tweaks should be personal and maybe you should contradict some fashion on how to name things or how to build that or that things to do it for tour own. Just like a musical instrument. Keep It near of your thinking and it will be near your soul.
so vimscript in vimrc felt overwhelming? well, that is why you should use emacs and copy stuff from org-mode literate emacs configurations. you can even make org-mode literate vimrc for vim and neovim
The worst part of the preconfigs is that you’ll finally figure out how to extend the configuration, only to then have the project to be rearchitected and your configuration is bust and you’re stuck figuring out where tf your changes need to go in the new setup.
Maybe you should Fast for 24 hrs every week, to detox on whatever you're high apparently. Also probably you could use a Continuous Glucose Monitors. Vim is a poor excuse of an IDE, fact
If someone's already got experience with a graphical IDE, they should switch to vim bindings and learn that before switching to neovim (in my poorly informed opinion)
They should watch some videos to understand what each plugin does, but only after learning motions and other sections then play with the configuration.
don't be a delicate flower "start with vim motions first in your current editor" go to vim directly and start with strict mode and follow vi tutor that is all you need. ancestors: hunting mammoths at 13 year olds grown ass married man with children at 35 years old: 😨start with delicate steps, use vim motions first.😨
I personally became interested in neovim, after my vscode just started lagging like hell during hackathon. I tried your config, kickstart, configuring my own, but it looked like a mess and was absolutely unaware of what I was doing. Finally I used NVChad for 3 months and then wrote my own config without any problems.
I think starting from the neovim distro may be a good idea. And I use arch, btw.
Kind of in the same place, downloaded neovim today due to vscode vim lagging the hell out. Nvchad is so much more comfortable than vanilla nvim, im sure with more experience I will start messing around with config and plug-ins but I can’t think about that rn
How can vsc be laggy if you have a okayish pc 😂
On a big project with a bunch of plugins it becomes noticeably slow, in my case I had even scrolling animation lagging. And I was doing it on a m1 macbook. The problem is not with the pc, but with the electron.
I also started hating vscode after it was laggy as fuck using java.
The lag + slowly converting to the vim motions, it was inevitable i would eventually end up on neovim
And now i wouldn't even use zed, although it would've been a perfect choise it was present when j started coding
My nvim config is a minimal kickstart clone (17 lines),
a series of independent single file plugin configs,
an utilities file (mainly yanked from the LazyVim repo)
and a settings file for custom non-plugin configs and keymaps.
Kickstart is really the best place to start, once you went through the whole repo you already know how to make your own config.
CLion is my preconfigured distribution
I am fine with this
Honestly got to agree with prime here. The problem I have with distributions are that they include too much. There isn't much that is really necessary for editing and writing code. Basically all that is needed is an LSP, a way to browse files (netrw and telescope), and the editor itself. I followed prime's tutorial and got a kinda minimal config with like 5 plugins, and that let me do everything I really needed. Then I was really able to focus on coding and getting a grasp on vim.
Yep, I'm just running telescope, an LSP, cmp, and a colorscheme w/ treesitter, and it's all I need for the time being. Now my main focus is getting used to nvim split windows commands and navigation to move away from tmux
I've once tried lunarvim. I was overwhelmed, but it was a good showcase of what kind of features can be used in vim and a reference implementation you can learn stuff from.
But you kinda have to adapt your workflow which might need adjustments and switching is easier when you gradually start to edit the config and then create your own
Do you count mason mason-lspconfig and nvim-lspconfig as one plugin?
Agree completely. I followed your tutorial and it not only made me finally understand "the deal" with vim; starting from scratch and building things up was way more useful. I now know what plugins I have, how to use them, and how to add and configure more.
I am of the opinion that if you don't write your own config, you won't be able to add/change the stuff you need or hate when you need to
Also kickstart.nvim is probably the best compromise as a starting point
This is one of the reasons why I like kakoune so much. The amount of breaking changes over the last several years can be counted on one hand. I wrote a few plugins several years ago and they continue to function just fine. Neovim sounds like javascript in how quickly it evolves, whereas i just want to configure once and then get to work.
Kakoune brothers ❤
KRASTORIO mentioned
Just update my neovim config once in 6 months or a year
Honestly I started with AstroNvim because I hated configuring base, installed two LSPs ant TS from the easy installer and now using it for 3 weeks at work without much problem. Maybe it's not for everyone but it works.
I don't think I'll ever switch out from Asto as long as it maintained. I love how it's preconfigured and flexible. Bloated a bit, but pretty good. And I don't want to waste a lot of time configuring neovim from the ground having very flexible framework
Yes, I tried them all but astro just jived perfectly with me 🎉
yes, agree, Astronvim is great. more consistent than other distros IMHO.
I did neovim from scratch and then just installed lunarvim and in the year + of using it i dont really see a reason to swap to my own config. I havent had to touch my config in months, updates are always smooth and nothing ever breaks.
edit: 10 months later I'm on my own config because i wanted a more minimalist setup
Lucky. LunarVim updates sometimes destroyed my config and I never figured out why. Switched to vanilla neovim then later to Astro.
It was probably something weird in my config, but Astro works, so I don’t care anymore.
Yup.
I used kickstarter for some month, and now i am mantaing my own config with 21 plugins.
It is worthy to know how my config works, this way if i ever need to change something i can easily do it.
I did a bit of a mix here personally, started out with your 0 to lsp series which I really liked and put into its own git branch. Then I took a look at what nvchad did in another branch to see if there was anything I really liked, so played around with that a bit.
Later I integrated some things I liked from nvchad into the config I ended up with thanks to your videos.
I do end up in configuration hell sometimes as the more I see the more I want to customise my vim config 😂 even talking about it now has me wanting to change my configuration again, so I know what I'm doing tomorrow!
Funnily enough my nvchad config had trouble updating the day after I posted this, so I indeed went for a config with Teej's kickstart.nvim the next day.
It's honestly a lot better now for the most part, still missing a few minor things but otherwise I much much prefer it!
@Prime, you have done an excellent job by contributing harpoon and git worktree plugins to neovim ecosystem. It will be great if you could spare sometime to maintain those plugins. I like those plugins very much. Thanks!
100% agree with Prime. I tried using nvim distros like 3 different times and every time I dropped it after a few DAYS. It was just way too much all at once. I love vim motions, I have them set up in vscode and obsidian, but there were just too many hotkeys and plugins and stuff, and it just felt overwhelming.
I heard about kickstart, spent a solid 3 hours reading the config and setting some custom keybinds, and it was great. Still super new, but I’ve been using it for like 2 weeks now, slowly tinkering with it, and its been fantastic.
has it become your goto over vscode now? are you more productive?
@@thelatifproject Yep, it has absolutely become my go-to, I do still occasionally use vs-code when collaborating (its easier to explain how to do stuff using the shared language of microsoft products lol) or if I need some specific extension that would be difficult to set up, though neovim has some incredibly impressive support for common extensions these days.
I would say I am faster at reading and editing code, though tbh the difference is mostly negligible if you're counting the time I spend configuring vim. Honestly I'd only recommend vim/neovim if you enjoy the vim editing experience and are ok with a few hours of initial configuration (I enjoy this part, which is probably why I've stuck with it).
Kickstart makes it incredibly easy to get started and if you're interested I'd absolutely say give it a shot for a week or two and see how you like it.
I started with vim about 6 years ago, when neovim was just a vim clone (or at least I thought it was), trying to learn bash and shell commands. I learned bash and vim first, then wrote my first program with it😁
and agreed with known the system/environment, I see what knowledge it gave me and it was (actually still is) helpful, from How a compiler works to the syscalls, signals and return statement, and even more.
I googled and wrote my own vimrc, time to time when I saw some useful tricks or plugins, I would add it and use it, I still keep some of keybindings from someone else's vimrc which I saw on a youtube video. and after switching to neovim, when the lua API became a thing and gets much powerful, I ported some of my old habbits (😁) to lua.
Hell of journey which I LOVE and proud😁
btw trying ed is a awesome idea! ed is always installed on my system and love to play with it time to time😁
to counter prime's argument we don't even really know how vscode plugin system works so using a distro is practically the same
But a neovim plugin can always be looked into, while vscod3 extensions can be closed source
Plus lua it's just stupidly easy to read, compared to the trashcan of garbage called javascript
I'm fairly new, and astro has knocked it out of the park for me, I may try kickstart at some point but I don't really have anything that needs changing. I do like the idea of having a single config file, because currently I have 3 or 4, but they're very short, just a little bit of fine tuning.
I use Arch, btw and my adventure with Vim/Nvim started few years ago when my CTO told me that we will use Nano instead of Vim for server operations. I knew what Nano was but was totally unaware what Vim is. Then i spend months watching primes first tutorial series how to setup Vim. The rest is history. Now I use AstroNvim and I am really happy with it. I could do the same setup my self but when I need to switch to other Linux instance i can just pull AstroNvim and I'm ready to kick some azz and chew bubble gum, and I'm all out of gum... :D
As a beginner, I wholeheartedly agree with the article. Getting started from scratch is overwhelming and time consuming. NvChad just gives me everything I wanted out of the box. If I need further configuration/personalisation, then I can still do that but now I can get developing out of the gate and not spend countless hours reinventing the wheel. I mean why do that when VSCode is right there and completely fine for me?
Neovim should have sane defaults like Helix does
noooo but the linux philosophy 😢
@@awesomesauce1157 Just a flag to generate a good default config with some plugins would be fine
@@awesomesauce1157which is the Unix philosophy
The only thing I'm missing in helix is option to install copilot. Say what you what but copilot makes me go a lot faster especially when doing some boring stuff at work. I also believe that these tools will only get better and investing time into learning to use them will soon be essential for being competitive in the field.
@@awesomesauce1157actually it's GNU/Linux philosophy, or as I like to call it GNU plus Linux
I had been running vim since 2000 with an 8 line vimrc. Picked up neovim about a month ago, installed Chad, and now I'm ripping it apart and making it my own. Learning a ton about how plugins do what they do and I'd be fairly comfortable writing a small one at this point. Using a distro gave me a good idea of what I could do with neovim. Before long, there won't be many remnants of chad left.
Prime KickStart sounds great, really would love to see it.
I tried configuring my own as a beginner but was held back when I learned what LSPs were and trying to add one into my config. I couldn’t figure it out and now I’m using nvchad with the recommended default config. It’s been such a huge help. I would recommend using a pre configured distro as a beginner
I started with Kickstart, then added a few Mason plugins for LSP and debug, that's it. My code output has literally been 10x what it was back when I still use VSCode. And for the first time I actually enjoy writing code for hours. It's insane.
I personally use a distro, AstroNvim because I want to spend my time writing actual code rather than writing/editing my config files 😅
Well I’m waiting for neovimegan kickstart
I learned vim pluginless at first. I did learn a lot and take a lot of inspiration from a modified version of spf13 that one of my coworkers had setup as the default at one of my jobs though. this was before the plugin ecosystem was very big and before neovim was a thing though.
I actually think starting from scratch to understand the guts of neovim is a good idea. Then if you get tired of fiddling with configs switch to a distro. That way you at least understand the internals instead of fully relying on someone else to just “handle” it for you.
When I got tired of configuring and keeping up, I just gave up on language servers altogether and my vimrc is down to 3 lines
set nu
set relativenumber
syntax on
And what's the point of understanding the guts of neovim? Sounds like a waste of time
Going back to ed is a good idea as long as you eventually get back out and use the big guns. Also, using ed will improve your memory because you will need to memorize which line you want to edit and stuff
This has to be a meme
Holy shit you just described me in your take. After being deep into vim 10 years ago and letting my config go unmaintained, I just couldn't find the time to get caught up with the latest plugins in the nvim ecosystem and roll my own config. These days, I've just settled into lazyvim since it's good for what I need and I just need a few lines of customization to tune it to my taste.
Yes please! I'd love a primagen version of kickstart. I hate to admit but I wasn't able to follow along with the other nvim setup vid. Skill/commitment issue i know but ya
Interesting. Started with Nvim cold turkey based on Primes tutorials, then a few dozen plugins later, I find myself really confused how it all works. I got quite good with key maps and core plugins (telescope, nvim-tree, lsp-zero, etc.), but my current config looks like a Frankenstein and is not always clear to me. Thinking to stick with it for a few months and then do full restart on NvChad, hopefully giving me a more opinionated structure to follow and expand my understanding of Lua. Thought I gotta say that starting from scratch was a good experience for me as I got to understood the basics (which were dead ass coz I came from VsCode lul).❤
Update: restarting on NvChad was a good idea. Offered sensible defaults yet was much easier to customize than my old scrappy config. By extending my NvChad fork I the learned basics of Lua, and now I'm able to add new plugins with relative ease. What I miss from VsCode is the one-click syntax+linting+format support for most languages. On Nvim it can be a struggle (e.g. Helm charts/Jinja templates) to get it working well when plugins don't have good docs. The upside is endless customisation of the editor, I can see how powerful you can get once you really master the config - not to mention the motions and keybindings, which give you superpowers.
LazyVim is also good and has sane defaults + great UX
I’ve never been able to get my own NeoVim configured and working and I tried it on 3 different Linux distributions multiple times, thanks to one Vim plugin, so I 100% agree.
Hmm, I would advise against that, better to learn vim motions with basic setup and then try distro to avoid config hell - constant config fiddling ...😂
I love editing my configuration, my nvim config is my temple, and I shape it as I please. And honestly, I find it quite empowering once you get to a certain point. You stop relying on distros to fix your problems and find your own solutions. It kinda becomes more of a lifestyle than a tool though, in fact I use it mostly for configuring rather than coding lol, but I do find it fun and it gave me great insights on the ecosystem, different tools, and lua coding, but that's not everyone's cup of tea.
If you want a terminal editor ready to go from the start you're probably better off with helix to be perfectly honest, if the different motions aren't a deal breaker ofc.
With lazyvim u get the best of both worlds. You minimise the effort maintaining ur config and you can configure everything like it's your own, documentation is top tier too
agreed 100%
I've tried most of these Neovim layers and so far LazyVim has been the most polished of all of them IMO.
I started with Neovim using coc-config, but I wasn't satisfied with it. So, I set up my own configuration in Lua, and it works amazingly.
I conf my own neo vim 2 days ago it is minimal and I have all the things I want (I am learning programming so I am using it for web dev and DSA). If anytings breaks or I want to add new pluagin it pretty easy to update.
Hola 👋🏼. I set up kickstart just two days ago as a Neovim newbie. Your kickstart extension would be neat to dive in and keep learning + growing. I would dig it!
Agree exactly as an almost beginner. If you're a seasoned neovim enjoyer that doesn't really wanna spend time configuring it, use a distro. If you're a beginner, a distro simply adds to the confusion already present if you're first configuring it, you should stick to something simple that will teach you the basics. I do wish kickstart was more modular, since having a single file for everything is still a bit overwhelming, but I've had a lovely experience with it nonetheless.
I think (I'm admittedly not through all these steps) start with a vim motions plugin in your current IDE. Then switch either to a distribution or follow along with a well done NeoVim config video (the benefit of the video is that it should give you an understanding of what each thing does) then start to tweak things as you continue to explore
I think trying them out for a while and then building your config from scratch is the way to go.
A smart strategy is to use your Neovim IDE layer of choice as a playground for experimentation, but keep your main nvim installation minimal. Then you can customize your nvim accordingly after seeing what works in LazyVim, LunarVim, or whatever you're using.
there are also: doomneovim, cosmic nvim, personal neovim configs, and some popular dotfiles that include neovim config out there
I agree. I have years of experience with vim but not with neovim or lua (or even vimscript). I am confortable with vim motions and don't mind using vim as an editor, but had reservations about switching to neovim full time. Nvchad and Astrovim came to the rescue and now I am using them nearly full time for my personal projects. Learning how to setup neovim from scratch will have to wait, though. If I feel that way, someone who's a beginner and still getting used to vim motions will probably have a higher cognitive load learning that as well as lua for setup.
I’m currently using NvChad/AstroVim and I do feel the ‘other persons setup’ very much
I agree with the idea of avoid unnecessary layers of abstraction, is better learning from scratch and find your ideal minimal configuration. I agree with John Blow... sorry I agree with Prime
Hi, Prime! I love your videos. I believe it would be great for non programmers like myself if you use a neovim configuration and pick it apart for us, and explain what you think is good and what not, i don't know. Something like that. Anyway, have a great day!
Ohhh I was in that civil war. I started In the 80's with ed and moved to vi. And always wanted to learn what this crazy emacs was. But I read Unix manuals in the back of the Unix Lab. WOW
I am using Vim w/ vscode thanks to your videos. It actually does make a huge difference.
LazyVim is also good if you're like me and don't like to spend 6 days configuring things
@@Ben-rc9br I'll check it out. The VIM work style didn't really suit me because I find myself working with a bunch of different windows files and folders & I found trying to navigate all of these things w/o a mouse was confusing 😥
Still haven't dared to explore VIM. Still anxious. A Cickstarter-Prime would definitely give me the necessary nudge. I would appreciate!!!
Your kickstart extension could be called the kickstart-Primer
I just followed your video and setup minimal barebones nvim and it works for me.
I started(again!) with Lazyvim. It's just folke's kickstarter implementation in a way.
1:05 the casual Arch had me choking on my food
it was tofu & beef for anyone wondering
Would love to see a video on using ed for a week
I think the only thing I would consider to be actually essential extra setup to a beginner starting out with vim is lsp configuration. Assuming they are familiar with vim motions.
Sure it may not look particularly pleasant but just regular vim out of the box is already an incredibly feature rich editor. Most of the plugins are either completely aesthetic or save you at most 5 or so key presses once in a while compared to just using the builtin features.
year old vid but I share my thoughts. Depends what your expectations and goals are. If you are looking for an experience close to modern IDEs and don't want to spend long time building it, distros are lbetter option. If you want rather simple / minimal text editor and/or learn little by littlle with time, building own config makes sense.
Adding to the voices of please do your kickstart extention
I've used vim when vim scripted was used to configure it and i really loved it , now there are a lot of pre-configured i tried many of them but for some reason they are became hard to configure which makes them limited in my opinion ! but even so much love for nvim !
i would agree with the title
if i didnt use a distro. i wouldnt have grown to like neovim enough to go through neovim config tutorial hell
I think beginners should learn how to code, and focus on that. Spending days and weeks configuring your editor while barely understanding what you're doing is a terrible experience for people who are simply just trying to get stuff to happen (i.e., code something). I'd actually suggest someone start with arduino, or making a crap website, or make some pre-coded game with python, with the most hand-holding IDE available.
Once you know what you're doing, what you like, and what you want to do, then sure, use neovim.
Kickstarter is the way to go. I started there and after some setting up, painful at first, specially if you are also getting started with vim motions, but it's relatively easy to pick up even if you don't know Lua.
Oh, and you also have to start with the mindset that you are not looking to get the same experience as with visual studio, it's a different approach with its own pros and cons.
I used vanilla vim for months in school but getting to fulltime I needed something with more power. No more single file assignments. So I used NVchad after bashing my head against all the options I had and random bugs that came from trying to essentially rebuild what NVchad already offered.
My hot take is not to start with vim motions in another IDE. It’s too easy to fall back on your mouse.
True i just started using neovim with nvchad for the same reason i tried to use vim motions with vscode but i was keep going for the mouse. It was like a natural instead.
It's been four days and i already becoming comfortable using keyboard only
First time I started using NeoVim I used NvChad. Quickly got rid of that because everything worked great but I had no idea how. Started again following your 0 to RC video and have since set up using that method from memory a couple times now
I tried a preconfigured solution, I didn’t like it. I prefer starting from default and customizing as I go. My reasoning for this is that there is a lot I just don’t need, and I am fiddling with someone else’s config and not my own… I really don’t like messing with others configuration as they tend to be all over the place.
I started just by copying your config video lol (thanks)
and gradually fit it into my needs and wants.
I have really struggled to get into Neovim until I stumbled upon Dreams of Code setup videos and NVChad. It's made the approach for easier and and been really enjoying neovim
I started with kickstart, got extremely frustrated because I wanted to program instead of configure it, installed astronvim and after a few months I went back to kickstart.
I think that distros are good for beginners that don't want to configure their environment all at once
Same sort of experience for me, doesn't make much sense to go through all the time you'd spend researching and then setting up your config if you still don't know whether or not nvim is for you. Spent a good amount of time in lunarvim, experienced how it feels to actually write code in a good config and then started my own to change what I disliked.
PrimeStart sounds good...
But kick-agen would be hilarious.
I agree that vim motions will make you generically faster at everything, regardless of whether or not you decide to push forward towards neovim as your daily driver. The keybindings are literally everywhere from the web browser (vimium) to the command line (set -o vi). If you take nothing else from this video, give vim motions a try and I promise you'll never look back.
I would love prime kickstart!
Just in the process of pondering whether I should start from scratch after configuring LazyVim. I'm an original Vim guy so no experience with Lua and nvim idiosyncrasies. It *is* nice to start out with, but as soon as you try to change defaults and add your own stuff, you are hitting the limitations of the "framework" and there is a lot less documentation than for vanilla nvim. Most of the examples on plugins won't work as you would have to translate it to the LazyVim way. Not impossible, but not much fun either.
FWIW, LazyVim is the most polished Neovim IDE layer I've tried, and I've tried most of them. It's also the fastest I've tried. As a long-time Vim/Neovim user, it takes care of the plugin management and gives me what I need to get work done.
@@danielstoddart I think so too. I ended up with nvim-lua/kickstart-nvim and transplanted the bits I found most useful from lazyvim over. Quite the roundabout way I have to admit, but I guess it was just the work/time needed to be put into it to really feel comfortable with the new setup and to have the confidence and overview to change it to my tastes.
I started with kickstart, but at the end of the day, I just dont have the time nor energy to configure it all from scratch. Lazy Vim runs really wel, all of the key bindings make sense to me and I'm able to ship some code.
I want to try to set it up myself at some point, but then again I am someone that truly HATES configs. Never hire me for devops.
It's best to start from the ground up and create your own electricity
I'd go even more extreme with how little you should start from to get to Vim. I have a video tutorial on it.
Прошел по пути автора статьи и полностью с ним согласен, сборки nvim - это как магазин плагинов с возможностью просмотра функционала
как только ты понимаешь, что тебе нужно и что ты действительно используешь - копируешь себе
sed and awk: Perl is still everywhere and a *lot* nicer than those two. If you think Perl has it's quirks, wait what (g)awk and (to a lesser degree) sed has in store for you. sed can be understood if you already used vim's s///g a lot, but man awk is a different beast altogether. There actually *is* a reason why Perl took of when it did. It made it a lot easier to get everything awk/sed have to over in a much, much nicer package.
The only nvim begineers config I need is the neovimagen
Got the same feeling configuring NixOS for the first time.
one thing that I do recomment beginners, is that they don't start with vim and go streight up to neovim
that just makes more sense, now i have a 99% .vimrc based config and it is a little bit annoying
without nvim you just miss out on some features like autocomplition, so I'd recommend not starting with vim or even touching vimscript config.
I use kickstart and customized what I wanted. Many of the distros just have too much stuff in them. I have been a vim guy since the mid 90s.
Prime KickStart sounds Cool, I'd vote 4 em
Are you me? Trying out ed is on my todo list. Im fact writing ed2023 with treasitter for syntax highlighting is on my endless bucket list
I lost it at "I'm fine with using something that close to reenacting the civil war" 😂
Please prime kickstart ! 100% interested and I’m sure lots of other would too
You have to have had a hard life or Into some kinky shit to want to go through the pain of using vim.
I think i will say a obvios idea but i think every individual mind speaks a diferent way of mapping things. And every developer should map his own Vim config through his individual experiencies and needs. That is what makes it so natural to aquire. Tweaks should be personal and maybe you should contradict some fashion on how to name things or how to build that or that things to do it for tour own. Just like a musical instrument. Keep It near of your thinking and it will be near your soul.
Next you should try out coding onto punch cards, see where it REALLY all started
omg. it's like he knows me. I started raw vimrc vim, then neovim, then lua hit, then I went f**k this I can't be bothered and started using lazyvim.
The linux guys got bored of their OS Distro arguments and joined Neovim chat.
man, you gotta make the prime kickstart
so vimscript in vimrc felt overwhelming? well, that is why you should use emacs and copy stuff from org-mode literate emacs configurations. you can even make org-mode literate vimrc for vim and neovim
Lazyvim is really good but I might make my own config with nix in the future. Who knows
I have learned vim using vimtutor mainly motions.
Embrace vim motions
Extend your vim config
Extinguish your vscode installation.
The worst part of the preconfigs is that you’ll finally figure out how to extend the configuration, only to then have the project to be rearchitected and your configuration is bust and you’re stuck figuring out where tf your changes need to go in the new setup.
Maybe you should Fast for 24 hrs every week, to detox on whatever you're high apparently. Also probably you could use a Continuous Glucose Monitors.
Vim is a poor excuse of an IDE, fact
5:31 - 5:35 , I bet folke likes that too 😂😂
The early gang here!
Astronvim
If someone's already got experience with a graphical IDE, they should switch to vim bindings and learn that before switching to neovim (in my poorly informed opinion)
I like my lazy vim for the most part. Lunarvim was slower than vs code, a lot slower than vs code
Yes they should really, so as they can start working
They should watch some videos to understand what each plugin does, but only after learning motions and other sections then play with the configuration.
don't be a delicate flower "start with vim motions first in your current editor" go to vim directly and start with strict mode and follow vi tutor that is all you need.
ancestors: hunting mammoths at 13 year olds
grown ass married man with children at 35 years old: 😨start with delicate steps, use vim motions first.😨