Not really; you should only need to literally follow along for the first couple of plugins, after that; you should've already known the pattern, you'll find a lot of plugin setup methods being called differently now in their repos, just use what's in their docs and not exactly copy what's in the video because things change
I followed it and actually been using nvim ever since, and it's been fucking great. I tried to switch like 3-4 times before but I could never get completions, highlighting and intellisense working without hours of wasted effort. And this legend just showed me how to do all 3 in 10 minutes What did you not get? It's all pretty "do this, do y" imo
@@GottZ thanks for the hint. For some odd reason, I had this self-implied (irrational) limitation of: „Either do it yourself from scratch OR check out the repo.“ 🙈 It’s generally advisable to look at every available information before starting.☝️
Regarding the Harpoon keymaps, Prime uses a dvorak keyboard, so the equivalent keymaps for the ui.nav_file lines on a qwerty keyboard would be "", "", "" and "".
did this, I see he's switching between files with ctrl+t and ctrl+h, but for me neither these two nor hjkl do anything (Edit: was missing the < before every "C -" :D)
For those who find themselves faced with the following error from nvim-treesitter: "lua:86: Parser not available for language...'". Re-watch 11:18 but DO NOT add "help" to the "ensure_installed" options list. Instead, you'll want to replace it with "vimdoc". After that, as of writing this, you shouldn't get any parser errors coming from nvim-treesitter.
also, if you are on macOS (and u have apple silicon ) make sure your terminal app (e.g iTerm2) is not running in rosetta mode otherwise tree sitter will throw `wrong architecture needs arm64 found x86_64`
My terminal colors went nuts when I installed the rose-pine package (7:10) for coloring (funnily all background went CYAN lol). It turned out the reason why the colors went haywire was because of the terminal I was using. (I was using just the native Mac terminal). I think it was something like rose-pine was using colors that the terminal didn't support. I installed iTerm2 and everything was good. Thanks for the video Primeagen!
fyi, the greatest key remap ever @ 27:11, where you paste without copying the selected text that you're pasting over. You can accomplish the same thing by just pasting with capital "P" instead of lowercase "p".
Videos like this make vim SO much more approachable. If not for your original vimrc videos, I wouldn't have stuck with it for over 2 years at this point. Thank you for what you do!
Yes same here. Prime was the one that explained plugins in a way that I finally understood. If not for prime, I'm not sure if I would even be as into tech in general as I am today.
Prime, I'll do you one better by pre-thanking you! Words cannot describe how useful this video will be to me and many many other people starting out with Neovim. Much, much appreciated ♥️
I've got to say insane video! thanks for donating to this amazing person I've struggled a bit to configure neovim myself and this video explained it really well and in very nice detail I can even do my own remaps now! Amazing
Setting up my own nvim config along-side this video was great! (much pausing and seeking back needed ). Truly a great video. P.S. 8 months down the line some of the plugins have evolved from the versions shown in the video (i.e. the configuration snippets taken from the various plugin readme files don't match anymore).
Thank you! I've been using vim full time since 2016, and I have been meaning to give Neovim a try but have been dragging my feet. This primer is a great entrypoint for understanding neovim configuration, so I actually have an idea how the neovim ecosystem actually works
This is amazing. Finally allowed me to properly use nvim. I tried other preconfigured nvim setups, like lunarvim or nvchad and never fully liked them. Yet messing around with nvim rc seemed daunting and other videos weren't quite as comprehensive. Thanks primeagen, keep up the good work.
I would love an updated video. A lot has changed since this video came out, for example, Packer is deprecated and Harpoon is now on V2. It makes this a little harder to follow. But still an awesome video! Thanks!
@@corbinslaymaker3346 It may work fine now, but using depracated software is generally discouraged. A new nvim releaase can break it, other plugins can break it, and nothing can be done to fix it (unless you go and fork packer yourself to fix it, but then you're just making your own plugin manager).
@@nathanielthomas4437 thanks ya i didn't know much about all that. i ended up installing NvChad anyways, which i'm already liking a lot. it's still really minimal but didn't require really any configuration at all.
Honestly, I don't know how anyone is supposed to get started with vim without your videos... I've been going over your last several vim videos the past few days trying to figure out how to get it to work. This video helped more than you could imagine :D Thank you!
i didn't follow this exactly but i built up my own neovim by the end it took me in the range of 5 - 8 hours i think but its worth it because i not only know everything i have installed but i also understand how it all works and got to set my own binds. for someone who is new to neovim this was extremely helpful
I'm an old new programmer and I just get overwhelmed with this guy so easy but it only feeds my curiosity so much to aspire to higher levels of skill one day! 🙏
I don't know who needs to hear this, but order of operations matter when setting up remaps and options. I have spent 30 minutes trying to figure out why my pv wasn't working and the problem was the remap.lua was "required" before the set.lua thus the leader key was not yet remapped to the space key. Great video as always, though. Keep them coming.
Hey, I'm completely new to this and have this issue. But I have no idea what you mean by 'remap.lua was "required" before the set.lua'... Can you tell me what to do to get this to work? For now, I'm trying to continue without remapping it, but I'd really appreciate the help :) Edit: Sorry, now that I have continued watching the Video I know what you mean, sadly this was not the issue that I was having :( If you want / know how to help anyway: When I press pv it doesn't recognize(?) it as leader and I just paste and then go into visual mode...
I've used vim on and off since college, but not gonna lie all the new complexity around LSP & Lua has kept me away from trying it seriously. I really appreciate having a resource like this that shows how to go from zero to an IDE-like experience. Keep up the good work!
Bro, you just got my words ! Exactly the complexity around LSP & Lua is f*ckin sick. You have to spend ages to learn this stuff I will step back and would like to appreciate the beauty of simplicity of vim...
Former Vim user for 10 years, but switched to VSCode for TS/React. Going back. I love you, thank you for revitalizing my interest in Vim and Neovim. Everything made sense.
Pressing the like button is honestly not enough for an effort like this. I have to thank you. Even though I have my own config it is always fun and interesting to see other people's setup. Thank you so much 🙏
At 15:37 heard myself thinking "holy shit." I've been using vim for around 4 years now and just never really customized it much (used tmux while at my last job but just found it to be alright), but that harpoon just looks so amazing. So many improvements over vim in this video that I can't wait to use. Thanks so much Prime
Besides updated plugins, what else has changed that you can’t extrapolate yourself? Writing lua code and vim scripts hasn’t changed. Why does he need to spend another 10+ hours on this a year and a half over the previous was made? A lot if not everything is the same in this….
I want to thank you primeagen after 1 month of neovim, everything is better now, life is alot greener. I do almost everything in neovim except java(my new hobby learning). Thank you for all your community contributions. Long live humanity.
This video took 0.5 day for me. I got a lot of issues with nvim. But! Now Im able to write some rustic code in nvim. Thank you very much, you changed my life kinda)
Amazing video! The information density is impressive. I have been on the journey for over a year now, but I still learned a lot in the past 30 minutes. I would absolutely love a video in this style about setting up the DAP. But most importantly, enjoy the Christmas break :)
Thanks! Saved my ass after years of vscode hell and its terrible C++ support and general terribleness. Using the vim keybindings for years but nvim + tmux is all I need anymore. On top of that, I regained enthusiasm for my work because I am not yelling at my editor all the time. THANK YOU
I’ve been using neovim out of the box plug-ins like LunarVim and LazyVim and never really thought about doing my own config, least to say I haven’t looked back I’m having so much fun customising it, been a treat!
I recently started learning vim because of you. You make it look so easier and way less overcomplicated. I might definitely replace intelliJ (with which I'm proficient) with it soon. Thank you!
@@greglocker2124 I'm working on a very large one. IntelliJ's products work pretty well on it except... When I switch to a previous version for XYZ reason. Then, the IDE starts to scan the repo(s) to rebuild its indexes and this takes a shit tons load of time. :/
I had used vim in college for a while, but nothing too serious. I had dabbled in the configs of registers and remaps, looked up into fuzzy file search and buffers and such but i ended up never really using vim for anything serious. Its a extremely customizable ecosystem, but that creates a huge barrier of entry (its not just clicking on pretty buttons like vscode lol) I cannot stress enough how much valuable tutorials like these are, showing step by step, explaining each config line, showing examples and how to install/configure new plugins I've lost count of how many things i learned, either directly by something you said or indirectly by looking at your keystrokes, or reading the documentation for plugins Its much easier now to get back to vim and actually be productive in it, its literally blazingly fast
This is the best neovim video on the internet. We need a new one of these every 6 months to keep up to date with the best starting packages and if any apis of configs have changed. Awesome work.
I think it's great that you made this video, because now all newcomers can not only see how great (Neo)Vim is, but also get a very solid basic equipment at hand, which actually leaves nothing to be desired. And if you do, it's very easy to expand it. Thanks for that! 🙂
Thank you for such a fantastic walk through. I was looking for alternatives to my current IDE. This is exactly what I was looking for. The speed of these tools is impressive. Also I have been using Harpoon for a week now. What a solid tool. Great work.
The content of the video is nice, but what was the most useful is following the keystrokes to learn how you navigate and edit documents. It was eye opening!
It has been a few months since I’ve installed vim extension in vscode to familiarize with vim motions, and now I feel like starting to make the switch. This video was fantastic to better understand the nvim setup, which can be overwhelming to a heavy vscoder lol. Also those remaps are ESSENTIAL
The best vim/nvim starter video I have seen to date. Love it, you really helped me actually understand and create my own nvim setup instead of mindlessly copying somebody elses config
Ameutuer programmer and now comp sci major here, used vscode and the arduino ide for around a year before discovering your videos and eventually being convinced to move to vim, and now neovim. Just wanted to say thanks for all the useful information, switching to vim has been a real time-saver, and I can no longer live without the speed lol. Great stuff man.
Dude this was awesome for me as a Vim user for 10 years. I've been meaning to cleanup my Vim setup for such a long time but honestly ... I've forgot what half the things in the Vim setup ACTUALLY do. I'm removing a bunch of stuff and either replacing it with some of the simple remaps here or getting rid of it altogether. Also getting rid of CoC and putting LSP Zero in. I had such a headache with all the configuring I needed to do with that. Thanks for the vid!
I set up according to this vid yesterday and got half way through the first file of :Totur. Today I'm finishing up the first Tutor. I can already understand why people are fan of Vim Motions. First Rust... now Vim... I'm slowly becoming a hipster thanks to Prime.
His harpoon shortcuts make sense on dvorak. The equivalent for qwerty would be ctrl + h/j/k/l. These will clash with his quick fix navigation remaps so you'll need to find something that works for you (for example you could change the quickfix navs to use ctrl + uppercase J and K)
I started using vim emulator in vscode a week and a half ago and i absolutely love it. Thank you primeagen 🙏 i do not like vscode and i never thought of changing it as basically everyone i know swears of it. But finding your channel blew my mind how fast you were, hope to be like you in the near future 🙏
It will let you down once you have a big enough codebase. I wish someone would've told me before my LSP starting taking 2+ seconds to respond. Classic Microsoft dumpsterware
@@greglocker2124 i've had slowdowns in a small node serverless aws repo, but very little in a large next app, i don't know what the reason is. I still out weigh the benefits of it over the slowness of auto imports and such
Knowledge + Charisma = Quality content. Amazing video. I've followed another guides and have mason as a plugin manager, but I'm really looking forward to implement some of your tweaks.
Another thing to note, if you find some of his key mappings a little wonky, its because he's ascended as uses a non-standard keyboard layout like dvorak. Adjust to your liking!
Thanks for making neovim so much more accessible. Especially to a long time vim user. The LSP setup made it so much easier to start and get productive with my current projects. Really appreciate it!
meu problema só está dando ao configurar a leader key, sempre que entro e saio do vim ela não funciona mais, preciso is dentro do remap.lua e rodar :so de novo :(
No cap, this is amazing. I've bounced around editors for the past few years, most recently using VSCode with an extension that makes it work like Spacemacs (long story). This is great. I've used Vim bindings for a long time now and this was the push to get me fully onboard with using Vim as my actual editor. Harpoon is *chef's kiss* beautiful. Thanks for taking the time to make this!
This is SUCH A GOOD VIDEO thank you. I have an old Vim-script setup that worked really well but needed an overhaul, didn't utilize LSP or Telescope or anything. And this video got me 50% of the way in no time.
This is sooooo cool! Only wish I watched this like 15 years ago when I was first getting into coding. I remember trying to figure out why everyone loved vim so much and just never saw this side of it. This is awesome!
I had to drink three cups of coffee to follow what you were doing here, but as someone who just rolled my own "Neovim from scratch", I appreciate what you did with this video and I learned something new about cool keybindings.
Had to add a "require("user.packer")" to the lua/user/init.lua, otherwiese packer would not be loaded up when starting nvim. Otherwise: great video, really helped to get up to speed with neovim!
Thanks, you saved me from just going the lazyvim route. Been using vimplugins for a hot min and really wanna run a base set up before dabbling with something pre configured.
I've watch videos about navigation and I have to say: I know most of them - not a the fastest typer, but still they are really cool. The thing is I still use vim plugin for vsc... Mostly because of plugins etc. The last chance in this year to back to pure nvim... 🤞
To those who got stuck at 1:10 with %-sign/percent-sign not working - you need to start with "vim ." to enter netrw mode from the command line, not "vim".
This is fantastic. After like 5 years of primarily using VSCode with Vim extensions, I think I want to make the switch. But... at the LSP part, and it looks like there have been a lot of breaking changes. Looks like I'm going to have to actually read and work my way through the docs... 😠
At 10:15, if you have never installed treesitter before then the "use" line in the video won't work. You need the following to install treesitter (then source the lua file and run PackerSync), and then you can change it to be the "use" line that Prime gave. use { 'nvim-treesitter/nvim-treesitter', run = function() local ts_update = require('nvim-treesitter.install').update({ with_sync = true }) ts_update() end, }
Excellent video. It's interesting to see how fast paced the development of Neovim (and its ecosystem) is. For instance, Packer is no longer the recommended "plugin manager" and "lsp-zero" is not really a plugin anymore.
Was just rewriting my vim config and stumbled upon this, love it! it helps that i learned so much of my vim setup from you in the past, so every plugin you mention is a slamdunk for me already.
I was trying to figure out `h`, `t`, `n` and `s` by looking at a QWERTY keymap, and it made no sense. Then I realized - ThePrimeagen uses dvorak! (hint - those are home row on the right hand on dvorak)...
I get into nvim recently, I am so happy about your video and I like your energy. Do you have any thoughts of starting with lunarvim project default as nvim config? I found it less scary / more practical rather than learning to do a config from scratch.
Thanks for the content ! An issue I had was setting the grep_string function. It didn't work, after checking :checkhealth, I found out it's because you need ripgrep installed on your system
Other things I often use on C::B, and I don't remember you had mention: - Bookmarks: Ctrl-B on different locations. Then hold Alt, and PgUp/PgDown (hold or not) to navigate 1 or more times through them (without release them, in this last case). - Applying current syntax highlight to any file extension opened. It "doesn't make sense", but I find it to be much pleasant to read that way. I just need to add that extension in a menu, for applying any current highlight I have at the moment. Easier to memorize, due to key colors on key locations. So, often I use to open files on this IDE, instead of text editors. Because these apply highlight according to the file extension, with iron fist. - Abbreviations: Ctrl-J expands some user custom keywords to code. It's possible to set variables dynamically, so that it'll open a menu to type what variable will be placed in what location, among the code expansion. I can put an entire big fat class there, with plenty of variables. - Jump between words, horizontally: hold Ctrl, and Right/Left (hold or not). Let's say I have an abbreviation for a for with const iterators, and for some reason I don't have the nonconst version. So I type rngfor and Ctrl-J. It expands to: for (const auto some_itr = obj.cbegin(); some_itr != obj.cend(); some_itr++); So I want to cut const and the 'c's. I can't do that in 1 replace. Plus, it could erase other 'c's. So it's faster to go Ctrl-RightRightRight... till reach any word to delete. Then Ctrl-Shift-Right (select word), Del (all with the right hand). - Default code: if I have a template of a project, this is faster than load from some other project, and saving as...
Hey Prime, you can drop the greatest remap ever (p), the functionality is built-in since Vim 8.2.4881 / NVIM v0.8.0 (g7978660e). Just paste with P in visual mode to not replace the unnamed register (see :help v_P).
Unfortunately the LSP Setup at 18:06 is already out of date. This video is showing their 1.x version and as of now they are on 3.x and while they have a guide for the new version I was only able to fix the Mason stuff as I'm just a noob.
i was holding back on neovim before this. Now I'm about halfway through (in the treesitter bit), and i'm basically sold. I'll still finish 'vim the hard way' and spend time with vanilla vim since e.g. my shared webhost only offers vim, not nvim. But I'm amazed. It also prodded me to go through the git clone; make; make install; cycle to get the latest version.
This dude thinks we are judging him because he used ONE jetbrains keymapping. When in reality we are admiring this incredibly well thought out and minimal setup.
*Requires neovim 0.9.x*
This took 10 hours to record :) It was really really hard.
I forgot to link this: github.com/ThePrimeagen/init.lua
It's really good. Well done!
Can I pretty much copy/paste this configuration and be up and running?
Good job, love your courses on FEM. Also hope that you can bring DevAsLife on TH-cam to your show! th-cam.com/video/XTGABtNh2EY/w-d-xo.html
@@ditchcomfort yes
@@ditchcomfort You should be able to!
We need a support group for anyone that has tried to follow this.
Not really; you should only need to literally follow along for the first couple of plugins,
after that; you should've already known the pattern, you'll find a lot of plugin setup methods being called differently now in their repos, just use what's in their docs and not exactly copy what's in the video because things change
I followed it and actually been using nvim ever since, and it's been fucking great. I tried to switch like 3-4 times before but I could never get completions, highlighting and intellisense working without hours of wasted effort. And this legend just showed me how to do all 3 in 10 minutes
What did you not get? It's all pretty "do this, do y" imo
@@QuantumVirus That and packer is now abandoned so the video is obsolete as he's migrated to lazy in his own video.
learned so much in the first 40 seconds
Just needs a lot of pausing to copy the code in. Easy.
0:38 Just a reminder for people to use nvim command and not vim command to open neovim. He has the vim command aliased to open nvim.
Thanks for this - I created a alias in ~/.bashrc to have the same alias'
Jeez,thanks for the reminder! I was so confused!
OR, just use vim instead of nvim :)
@@swaeyl3883 :O BLASPHEMY!!!
not all heroes wear capes
Small note: At 6:50, you need to have ripgrep installed to make the grep-keymap work.
thanks!
ye. he should have pointed out to go to the repo for further instructions. he has it in the readme for a couple months :)
@@GottZ thanks for the hint. For some odd reason, I had this self-implied (irrational) limitation of: „Either do it yourself from scratch OR check out the repo.“ 🙈 It’s generally advisable to look at every available information before starting.☝️
thank you so much
Thanks a lot man
Regarding the Harpoon keymaps, Prime uses a dvorak keyboard, so the equivalent keymaps for the ui.nav_file lines on a qwerty keyboard would be "", "", "" and "".
You're a legend. I searched for comments containing harpoon to try to explain this, thanks!
@@ulicnikmark24 I'm happy this helped. Thanks for commenting :)
God send!
did this, I see he's switching between files with ctrl+t and ctrl+h, but for me neither these two nor hjkl do anything (Edit: was missing the < before every "C -" :D)
Opposite problem. I was expecting to have to remap those to something nice on dvorak, only to discover it was already done.
For those who find themselves faced with the following error from nvim-treesitter: "lua:86: Parser not available for language...'". Re-watch 11:18 but DO NOT add "help" to the "ensure_installed" options list. Instead, you'll want to replace it with "vimdoc". After that, as of writing this, you shouldn't get any parser errors coming from nvim-treesitter.
Thanks man.
also, if you are on macOS (and u have apple silicon ) make sure your terminal app (e.g iTerm2) is not running in rosetta mode
otherwise tree sitter will throw `wrong architecture needs arm64 found x86_64`
@@JuanSB827 nobody here made that mistake
Thank you!
Thanks dude!
Anybody else have to watch this video at 0.75 speed just to follow along? Awesome stuff, thanks for sharing, @Theprimeagen!
I'm glad I'm not the only one :) Great video, just way too fast for me to follow :)
.75? You're quick. More like 0.5 and pausing to check the feed of keystrokes.
I actually pressed the control to set to 0.75 then found out I had done that already.
😅 I thought I was the only one 😂🤦🏾♂️
@@thux2828😂 exactly
I never pre-like videos... but when I do, it is The Primeagen talking exactly about the topic I need to learn.
I usually get mildly annoyed at being told to like a video, but Prime is a rare exception that qualifies for a pre-like
I did the same thing. Thanks Prime for showing me LSP Zero. I was struggling with nvim-cmp this morning.
I love his kind of art in his movies. I also do a lot of videos but can not do it so nice.
I always pre-like this dudes videos. Even if I don't watch them
@@marwanfikrat7716 Open source passion - i love it!!
My terminal colors went nuts when I installed the rose-pine package (7:10) for coloring (funnily all background went CYAN lol). It turned out the reason why the colors went haywire was because of the terminal I was using. (I was using just the native Mac terminal). I think it was something like rose-pine was using colors that the terminal didn't support. I installed iTerm2 and everything was good. Thanks for the video Primeagen!
I have the same problem. Thank you for sharing.
I'm having the same issue... I did't want to go to iterm2 but that will be the case now :)
Thanks for helping
the default mac terminal doesn't support truecolor. Color schemes *do not like this one bit.*
tmux is an alternative - supports truecolor
fyi, the greatest key remap ever @ 27:11, where you paste without copying the selected text that you're pasting over. You can accomplish the same thing by just pasting with capital "P" instead of lowercase "p".
Videos like this make vim SO much more approachable. If not for your original vimrc videos, I wouldn't have stuck with it for over 2 years at this point. Thank you for what you do!
yayayayaya
the same here hahaaahah
Yes same here. Prime was the one that explained plugins in a way that I finally understood. If not for prime, I'm not sure if I would even be as into tech in general as I am today.
Prime, I'll do you one better by pre-thanking you! Words cannot describe how useful this video will be to me and many many other people starting out with Neovim. Much, much appreciated ♥️
After watching the video, I can say I learned much more than I expected. *SO MUCH COCONUT OIL* that my hands are _slipping_ from the keyboard 🤩
I've got to say insane video! thanks for donating to this amazing person I've struggled a bit to configure neovim myself and this video explained it really well and in very nice detail I can even do my own remaps now! Amazing
Setting up my own nvim config along-side this video was great! (much pausing and seeking back needed ). Truly a great video.
P.S. 8 months down the line some of the plugins have evolved from the versions shown in the video (i.e. the configuration snippets taken from the various plugin readme files don't match anymore).
Thank you! I've been using vim full time since 2016, and I have been meaning to give Neovim a try but have been dragging my feet. This primer is a great entrypoint for understanding neovim configuration, so I actually have an idea how the neovim ecosystem actually works
This is amazing.
Finally allowed me to properly use nvim.
I tried other preconfigured nvim setups, like lunarvim or nvchad and never fully liked them.
Yet messing around with nvim rc seemed daunting and other videos weren't quite as comprehensive.
Thanks primeagen, keep up the good work.
Wait wait, let me get my popcorn, blanket and laptop.
I love this comment
Agreee watching this while waiting ❤️
:this:
Right now under my blanket, sipping tea and watching this video.
You forgot your coconut oil and tissue
For those of you who stuck from 2:32, I had a old version of Neovim (0.6.1) and installed the latest release (0.8.1). The error goes away!
Yep, same. Wish I would have seen your comment first lol.
just use unstabble version
How did you install the version? The latest version apt has is 0.6.x
@@eamonburns9597 download from the releases section of the neovim git repo. They have detailed instructions for every environment.
@@eamonburns9597 Install it from source.
I'm running this video at 0.5 speed to follow along, and by howdy is that a trip. Thanks for putting this together Prime!
I would love an updated video. A lot has changed since this video came out, for example, Packer is deprecated and Harpoon is now on V2. It makes this a little harder to follow. But still an awesome video! Thanks!
i didn't even realize it was deprecated, ive been doing this all morning and it's been working fine.
@@corbinslaymaker3346 It may work fine now, but using depracated software is generally discouraged. A new nvim releaase can break it, other plugins can break it, and nothing can be done to fix it (unless you go and fork packer yourself to fix it, but then you're just making your own plugin manager).
@@nathanielthomas4437 thanks ya i didn't know much about all that. i ended up installing NvChad anyways, which i'm already liking a lot. it's still really minimal but didn't require really any configuration at all.
@@corbinslaymaker3346 Nothing wrong with using a preconfigured nvim setup, they come with just about everything you need.
Just use something else for plugins, the actual process is still the same
This is great. I particularly liked how `after` is being used to configure installed plugints.
yayaya!
Took me awhile to understand why he was doing this.
My after folder is not loading, but it works with other configs. What could I have done wrong?
@@SuperQuwertz same
@@JohnCostanzo I don't understand, can you explain it to me?
we need this video every year.
Yes!
Honestly, I don't know how anyone is supposed to get started with vim without your videos... I've been going over your last several vim videos the past few days trying to figure out how to get it to work. This video helped more than you could imagine :D Thank you!
Let's go!!!!!
@@lostintheinternet2814 VSC is trash
@@greglocker2124 we don't say that word here...
i didn't follow this exactly but i built up my own neovim by the end it took me in the range of 5 - 8 hours i think but its worth it because i not only know everything i have installed but i also understand how it all works and got to set my own binds. for someone who is new to neovim this was extremely helpful
I'm an old new programmer and I just get overwhelmed with this guy so easy but it only feeds my curiosity so much to aspire to higher levels of skill one day! 🙏
I don't know who needs to hear this, but order of operations matter when setting up remaps and options. I have spent 30 minutes trying to figure out why my pv wasn't working and the problem was the remap.lua was "required" before the set.lua thus the leader key was not yet remapped to the space key. Great video as always, though. Keep them coming.
Absolutely correct and my fault!!!
@@ThePrimeagen pin this please !
Hey, I'm completely new to this and have this issue. But I have no idea what you mean by 'remap.lua was "required" before the set.lua'... Can you tell me what to do to get this to work? For now, I'm trying to continue without remapping it, but I'd really appreciate the help :)
Edit:
Sorry, now that I have continued watching the Video I know what you mean, sadly this was not the issue that I was having :(
If you want / know how to help anyway: When I press pv it doesn't recognize(?) it as leader and I just paste and then go into visual mode...
@@lostprince2251 You need to prime the keys in a certain time to map works as expected (i.e. if you delay in prime " "pv the map maybe not work).
@@jariocmjunior Oh wow, now I feel dumb, this was actually my problem, ty :)
Helpful mention for telescope's grep_string:
"BurntSushi/ripgrep is required for live_grep and grep_string and is the first priority for find_files."
Thanks a lot :) I was wondering why this is not working.
Thank you for this!!!!!!
This should be pinned
Thanks :)
I've used vim on and off since college, but not gonna lie all the new complexity around LSP & Lua has kept me away from trying it seriously. I really appreciate having a resource like this that shows how to go from zero to an IDE-like experience. Keep up the good work!
Bro, you just got my words ! Exactly the complexity around LSP & Lua is f*ckin sick. You have to spend ages to learn this stuff I will step back and would like to appreciate the beauty of simplicity of vim...
Was doing 2-3 times but at last I found that building on top of nvchad config works the best for me.
Former Vim user for 10 years, but switched to VSCode for TS/React. Going back. I love you, thank you for revitalizing my interest in Vim and Neovim. Everything made sense.
I've started with astronvim and I was lost in how the things worked.
After watching the setup from scratch I feel much more comfortable now!
Pressing the like button is honestly not enough for an effort like this. I have to thank you. Even though I have my own config it is always fun and interesting to see other people's setup. Thank you so much 🙏
At 15:37 heard myself thinking "holy shit." I've been using vim for around 4 years now and just never really customized it much (used tmux while at my last job but just found it to be alright), but that harpoon just looks so amazing. So many improvements over vim in this video that I can't wait to use. Thanks so much Prime
2024 Remake when
Besides updated plugins, what else has changed that you can’t extrapolate yourself? Writing lua code and vim scripts hasn’t changed. Why does he need to spend another 10+ hours on this a year and a half over the previous was made? A lot if not everything is the same in this….
@@TechnicolorMammoth The only thing that has change is treesitter playground, its deprecated since the functionality is included in Neovim
Yes please! Please please please remake with the lazy package manager! Please!🙏 🙏🙏🙏🙏
@@ofeenee Why... you just use like 2 different words to download the package
Yeah lazyvim is the goat now, packer rip
I want to thank you primeagen after 1 month of neovim, everything is better now, life is alot greener. I do almost everything in neovim except java(my new hobby learning). Thank you for all your community contributions. Long live humanity.
This video took 0.5 day for me. I got a lot of issues with nvim. But! Now Im able to write some rustic code in nvim. Thank you very much, you changed my life kinda)
Man, I've been putting off switching to neovim for too long now. I can't thank you enough for this extremely helpful video!
Amazing video! The information density is impressive. I have been on the journey for over a year now, but I still learned a lot in the past 30 minutes. I would absolutely love a video in this style about setting up the DAP. But most importantly, enjoy the Christmas break :)
Tyty
Second the DAP. that's the last feature I'm interested in diving deep into with Neovim. Thanks again @ThePrimeagen
Thanks! Saved my ass after years of vscode hell and its terrible C++ support and general terribleness. Using the vim keybindings for years but nvim + tmux is all I need anymore. On top of that, I regained enthusiasm for my work because I am not yelling at my editor all the time. THANK YOU
Can i ask which lsp you use for c++ ? Did you use Mason or something else?
clangd based@@jobinthomas6372
This was so overwhelming to me at first but now since I have a better understand, I pretty much understood everything he did here.
I’ve been using neovim out of the box plug-ins like LunarVim and LazyVim and never really thought about doing my own config, least to say I haven’t looked back I’m having so much fun customising it, been a treat!
I really needed a starter for neovim and this was really comprehensive. Thank you!
I recently started learning vim because of you.
You make it look so easier and way less overcomplicated.
I might definitely replace intelliJ (with which I'm proficient) with it soon.
Thank you!
Do it. Nobody ever told me those editors start lagging balls when you build a large codebase.
@@greglocker2124 I'm working on a very large one.
IntelliJ's products work pretty well on it except... When I switch to a previous version for XYZ reason. Then, the IDE starts to scan the repo(s) to rebuild its indexes and this takes a shit tons load of time. :/
I've been using Neovim with your config for 2 hours now, and absolutely love it! Never touched vim before this, time to ditch VSCode! Let's go!
🤡
Did you go past 2 hours?
@@r2com641 you should make that your pfp
@@greglocker2124 I did! I'm still using neovim, not used vscode again at all.
I had used vim in college for a while, but nothing too serious. I had dabbled in the configs of registers and remaps, looked up into fuzzy file search and buffers and such but i ended up never really using vim for anything serious.
Its a extremely customizable ecosystem, but that creates a huge barrier of entry (its not just clicking on pretty buttons like vscode lol)
I cannot stress enough how much valuable tutorials like these are, showing step by step, explaining each config line, showing examples and how to install/configure new plugins
I've lost count of how many things i learned, either directly by something you said or indirectly by looking at your keystrokes, or reading the documentation for plugins
Its much easier now to get back to vim and actually be productive in it, its literally blazingly fast
Thanks for posting this! Looks very helpful. One thing you may want to add a note on though: ripgrep is required for the telescope grep search.
Thanks, that saved me some headache!
This is the best neovim video on the internet. We need a new one of these every 6 months to keep up to date with the best starting packages and if any apis of configs have changed. Awesome work.
I think it's great that you made this video, because now all newcomers can not only see how great (Neo)Vim is, but also get a very solid basic equipment at hand, which actually leaves nothing to be desired. And if you do, it's very easy to expand it. Thanks for that! 🙂
Thank you for such a fantastic walk through. I was looking for alternatives to my current IDE. This is exactly what I was looking for. The speed of these tools is impressive. Also I have been using Harpoon for a week now. What a solid tool. Great work.
The content of the video is nice, but what was the most useful is following the keystrokes to learn how you navigate and edit documents. It was eye opening!
It has been a few months since I’ve installed vim extension in vscode to familiarize with vim motions, and now I feel like starting to make the switch. This video was fantastic to better understand the nvim setup, which can be overwhelming to a heavy vscoder lol. Also those remaps are ESSENTIAL
The best vim/nvim starter video I have seen to date. Love it, you really helped me actually understand and create my own nvim setup instead of mindlessly copying somebody elses config
The keymaps at 25:36 for moving lines in visual mode are crazy!! Amazing video
but also quite uneccesary imo, you rarely need to use visual mode - why not just d the lines and p them in where you want?
@@danielcooke3243 they flicker on my computer also
@@danielcooke3243 why not? because it automatically indents 👍
As a newcomer to vim, all i saw was you doing black magic
I decided to get into vim the other day, after some googling I have found this video and I very much appreciate your work. Thank you!
Idk what possessed me but i understood everything he did in this video
Ameutuer programmer and now comp sci major here, used vscode and the arduino ide for around a year before discovering your videos and eventually being convinced to move to vim, and now neovim. Just wanted to say thanks for all the useful information, switching to vim has been a real time-saver, and I can no longer live without the speed lol. Great stuff man.
Nice to do this once a year or so as a way to see what you really still need and rethink some pieces that you don't like anymore.
Dude this was awesome for me as a Vim user for 10 years. I've been meaning to cleanup my Vim setup for such a long time but honestly ... I've forgot what half the things in the Vim setup ACTUALLY do. I'm removing a bunch of stuff and either replacing it with some of the simple remaps here or getting rid of it altogether. Also getting rid of CoC and putting LSP Zero in. I had such a headache with all the configuring I needed to do with that. Thanks for the vid!
I set up according to this vid yesterday and got half way through the first file of :Totur. Today I'm finishing up the first Tutor. I can already understand why people are fan of Vim Motions.
First Rust... now Vim... I'm slowly becoming a hipster thanks to Prime.
This video is so damn fire. I like it a lot, the humour with prime just closes your eyes to the multiple errors along the way.
i think this is a compliment, ty
His harpoon shortcuts make sense on dvorak. The equivalent for qwerty would be ctrl + h/j/k/l. These will clash with his quick fix navigation remaps so you'll need to find something that works for you (for example you could change the quickfix navs to use ctrl + uppercase J and K)
would ctrl + 9/0/-/= work?
I use 9/0/-/= for hotkeys and use \ for harpoon window. it works flawlessly
Oh man. I’m using vim and neovim for last six years, but never tried to setup it for more that just text editor. This is looks amazing! Inspiring! 🎉
I started using vim emulator in vscode a week and a half ago and i absolutely love it. Thank you primeagen 🙏 i do not like vscode and i never thought of changing it as basically everyone i know swears of it. But finding your channel blew my mind how fast you were, hope to be like you in the near future 🙏
It will let you down once you have a big enough codebase. I wish someone would've told me before my LSP starting taking 2+ seconds to respond.
Classic Microsoft dumpsterware
@@greglocker2124 i've had slowdowns in a small node serverless aws repo, but very little in a large next app, i don't know what the reason is. I still out weigh the benefits of it over the slowness of auto imports and such
Knowledge + Charisma = Quality content. Amazing video. I've followed another guides and have mason as a plugin manager, but I'm really looking forward to implement some of your tweaks.
Another thing to note, if you find some of his key mappings a little wonky, its because he's ascended as uses a non-standard keyboard layout like dvorak. Adjust to your liking!
facts
Thanks for making neovim so much more accessible. Especially to a long time vim user. The LSP setup made it so much easier to start and get productive with my current projects. Really appreciate it!
in lsp git directory i cant see the code for packer
finalmente consegui entender como configurar o nvim, mt bom... e de quebra ainda deu pra aprender um pouco de lua
meu problema só está dando ao configurar a leader key, sempre que entro e saio do vim ela não funciona mais, preciso is dentro do remap.lua e rodar :so de novo :(
No cap, this is amazing. I've bounced around editors for the past few years, most recently using VSCode with an extension that makes it work like Spacemacs (long story). This is great. I've used Vim bindings for a long time now and this was the push to get me fully onboard with using Vim as my actual editor.
Harpoon is *chef's kiss* beautiful. Thanks for taking the time to make this!
package manager used here is left to die... fuck this tutorial
This is SUCH A GOOD VIDEO thank you. I have an old Vim-script setup that worked really well but needed an overhaul, didn't utilize LSP or Telescope or anything. And this video got me 50% of the way in no time.
This is sooooo cool! Only wish I watched this like 15 years ago when I was first getting into coding. I remember trying to figure out why everyone loved vim so much and just never saw this side of it. This is awesome!
it took 3 uninstalls, a bruise on my hand, and a dent in my desk but I am changed man. Also I use vim.
I loved every second of this! More vim macro magic, please! 🙏
I had to drink three cups of coffee to follow what you were doing here, but as someone who just rolled my own "Neovim from scratch", I appreciate what you did with this video and I learned something new about cool keybindings.
Had to add a "require("user.packer")" to the lua/user/init.lua, otherwiese packer would not be loaded up when starting nvim. Otherwise: great video, really helped to get up to speed with neovim!
Thanks, you saved me from just going the lazyvim route. Been using vimplugins for a hot min and really wanna run a base set up before dabbling with something pre configured.
Was wondering if this was done on purpose. I want to make a more thorough version of this video
@@AdamDymitrukDid you make a video? I'm getting a ritalin contact high from this video
I was stuck at 4:38, thank you @qmurec
@11:48 if you are getting an error the "help" parser cannot be installed, it's because it's been renamed to "vimdoc" since this video has been made.
ty
thanks
I've watch videos about navigation and I have to say: I know most of them - not a the fastest typer, but still they are really cool. The thing is I still use vim plugin for vsc... Mostly because of plugins etc. The last chance in this year to back to pure nvim... 🤞
lets go
I finished this and will figure out what to do with the journal I kept as I traversed the video. Thank you The Primeagen.
I've been trying to find time to explore Neovim for a long time. Finally, I found time to watch your video. Thank you for the content.
To those who got stuck at 1:10 with %-sign/percent-sign not working - you need to start with "vim ." to enter netrw mode from the command line, not "vim".
Thank you, I was able to move on because of this comment!
Thanks a lot!
This is fantastic. After like 5 years of primarily using VSCode with Vim extensions, I think I want to make the switch. But... at the LSP part, and it looks like there have been a lot of breaking changes. Looks like I'm going to have to actually read and work my way through the docs... 😠
Yet another great video! Could you also add setting up debugger in Nvim, working with virtualenvs and terminals (I use toggleterm and it's great)
wow the way you customized vim is next level i followed your config as a templet and made it fully according to my preference . Thank you
Thanks for this! I’ve given Vim a try many times before but always ended up not using it. I think this time it’ll stick thanks to this walkthrough!
If anyone is wondering why grep_string isn't working, you need to have 'ripgrep' installed
Thanks
You saved my life, i was going insane, thanks thanks thanks
At 10:15, if you have never installed treesitter before then the "use" line in the video won't work. You need the following to install treesitter (then source the lua file and run PackerSync), and then you can change it to be the "use" line that Prime gave.
use {
'nvim-treesitter/nvim-treesitter',
run = function()
local ts_update = require('nvim-treesitter.install').update({ with_sync = true })
ts_update()
end,
}
you absolute hero thank you
If you think that you will do this in 30 minutes, think again sunshine... this video is blazingly fast
Doesn't help being in Windows 😭
Excellent video. It's interesting to see how fast paced the development of Neovim (and its ecosystem) is. For instance, Packer is no longer the recommended "plugin manager" and "lsp-zero" is not really a plugin anymore.
Was just rewriting my vim config and stumbled upon this, love it! it helps that i learned so much of my vim setup from you in the past, so every plugin you mention is a slamdunk for me already.
I was trying to figure out `h`, `t`, `n` and `s` by looking at a QWERTY keymap, and it made no sense. Then I realized - ThePrimeagen uses dvorak! (hint - those are home row on the right hand on dvorak)...
I get into nvim recently, I am so happy about your video and I like your energy.
Do you have any thoughts of starting with lunarvim project default as nvim config? I found it less scary / more practical rather than learning to do a config from scratch.
i don't love lunar vim, but its also really good place to start if you don't know about vim :)
Thanks for the content !
An issue I had was setting the grep_string function. It didn't work, after checking :checkhealth, I found out it's because you need ripgrep installed on your system
Thanks! That helped a lot
tysm
i added some lualine and refined the colors to make it look how i want and now it's a really nice ide, thank you prime!
Other things I often use on C::B, and I don't remember you had mention:
- Bookmarks: Ctrl-B on different locations. Then hold Alt, and PgUp/PgDown (hold or not) to navigate 1 or more times through them (without release them, in this last case).
- Applying current syntax highlight to any file extension opened. It "doesn't make sense", but I find it to be much pleasant to read that way. I just need to add that extension in a menu, for applying any current highlight I have at the moment. Easier to memorize, due to key colors on key locations. So, often I use to open files on this IDE, instead of text editors. Because these apply highlight according to the file extension, with iron fist.
- Abbreviations: Ctrl-J expands some user custom keywords to code. It's possible to set variables dynamically, so that it'll open a menu to type what variable will be placed in what location, among the code expansion. I can put an entire big fat class there, with plenty of variables.
- Jump between words, horizontally: hold Ctrl, and Right/Left (hold or not).
Let's say I have an abbreviation for a for with const iterators, and for some reason I don't have the nonconst version. So I type rngfor and Ctrl-J. It expands to:
for (const auto some_itr = obj.cbegin(); some_itr != obj.cend(); some_itr++);
So I want to cut const and the 'c's. I can't do that in 1 replace. Plus, it could erase other 'c's. So it's faster to go Ctrl-RightRightRight... till reach any word to delete. Then Ctrl-Shift-Right (select word), Del (all with the right hand).
- Default code: if I have a template of a project, this is faster than load from some other project, and saving as...
Hey Prime, you can drop the greatest remap ever (p), the functionality is built-in since Vim 8.2.4881 / NVIM v0.8.0 (g7978660e).
Just paste with P in visual mode to not replace the unnamed register (see :help v_P).
God bless you sir!! ❤
Every time I setup vim, at the end of it, I just go back to vscode
Unfortunately the LSP Setup at 18:06 is already out of date. This video is showing their 1.x version and as of now they are on 3.x and while they have a guide for the new version I was only able to fix the Mason stuff as I'm just a noob.
bro can you please share the dotfile
i was holding back on neovim before this. Now I'm about halfway through (in the treesitter bit), and i'm basically sold. I'll still finish 'vim the hard way' and spend time with vanilla vim since e.g. my shared webhost only offers vim, not nvim. But I'm amazed. It also prodded me to go through the git clone; make; make install; cycle to get the latest version.
This dude thinks we are judging him because he used ONE jetbrains keymapping. When in reality we are admiring this incredibly well thought out and minimal setup.
am i the only who watches @ThePrimeagen at 0.75 playback speed? 😮
Oh how much I wish this was targeted for C++ audience, instead of Rust 😢
Nope, doing it right now. He sounds like drunk now. :D
packer nvim is not maintained anymore btw
Did you end up using packer anyway or did you use something else?
Sorry for a late response, i don't get notified about comments. I just used Packer anyways lmao. Works like a charm@@lvrsvid