0 to LSP : Neovim RC From Scratch

Поділитися
Вставка
  • Опубліковано 20 вер 2024

КОМЕНТАРІ • 2,2 тис.

  • @ThePrimeagen
    @ThePrimeagen  Рік тому +1989

    *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

    • @arcariusmexen1104
      @arcariusmexen1104 Рік тому +33

      It's really good. Well done!

    • @ditchcomfort
      @ditchcomfort Рік тому +25

      Can I pretty much copy/paste this configuration and be up and running?

    • @newsgroupsusenet5486
      @newsgroupsusenet5486 Рік тому

      Good job, love your courses on FEM. Also hope that you can bring DevAsLife on UA-cam to your show! ua-cam.com/video/XTGABtNh2EY/v-deo.html

    • @ThePrimeagen
      @ThePrimeagen  Рік тому +35

      @@ditchcomfort yes

    • @jdawgforealz
      @jdawgforealz Рік тому +4

      @@ditchcomfort You should be able to!

  • @dotbhav
    @dotbhav Місяць тому +85

    We need a support group for anyone that has tried to follow this.

    • @QuantumVirus
      @QuantumVirus 20 днів тому +6

      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

    • @katto1937
      @katto1937 13 днів тому

      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

  • @captainbrainless
    @captainbrainless Рік тому +973

    Small note: At 6:50, you need to have ripgrep installed to make the grep-keymap work.

    • @clearnitesky
      @clearnitesky Рік тому +6

      thanks!

    • @GottZ
      @GottZ Рік тому +8

      ye. he should have pointed out to go to the repo for further instructions. he has it in the readme for a couple months :)

    • @captainbrainless
      @captainbrainless Рік тому +3

      @@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.☝️

    • @iamvalenci4
      @iamvalenci4 Рік тому +4

      thank you so much

    • @AbhayFaldu
      @AbhayFaldu Рік тому +3

      Thanks a lot man

  • @hm_webdev
    @hm_webdev Рік тому +153

    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 "".

    • @ulicnikmark24
      @ulicnikmark24 Рік тому +7

      You're a legend. I searched for comments containing harpoon to try to explain this, thanks!

    • @hm_webdev
      @hm_webdev Рік тому +3

      @@ulicnikmark24 I'm happy this helped. Thanks for commenting :)

    • @adityapradhan675
      @adityapradhan675 6 місяців тому +1

      God send!

    • @prawtism
      @prawtism 5 місяців тому +1

      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)

    • @gg1k
      @gg1k 2 місяці тому +1

      Opposite problem. I was expecting to have to remap those to something nice on dvorak, only to discover it was already done.

  • @nickmead8146
    @nickmead8146 8 місяців тому +134

    Anybody else have to watch this video at 0.75 speed just to follow along? Awesome stuff, thanks for sharing, @Theprimeagen!

    • @SlavkoStojshic
      @SlavkoStojshic 6 місяців тому +4

      I'm glad I'm not the only one :) Great video, just way too fast for me to follow :)

    • @thux2828
      @thux2828 6 місяців тому +14

      .75? You're quick. More like 0.5 and pausing to check the feed of keystrokes.

    • @mrfli24
      @mrfli24 6 місяців тому +8

      I actually pressed the control to set to 0.75 then found out I had done that already.

    • @nostalgicnow6001
      @nostalgicnow6001 6 місяців тому +1

      😅 I thought I was the only one 😂🤦🏾‍♂️

    • @nostalgicnow6001
      @nostalgicnow6001 6 місяців тому

      @@thux2828😂 exactly

  • @martiananomaly
    @martiananomaly Рік тому +1282

    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.

    • @manofqwerty
      @manofqwerty Рік тому +15

      Thanks for this - I created a alias in ~/.bashrc to have the same alias'

    • @zoc2
      @zoc2 Рік тому +30

      Jeez,thanks for the reminder! I was so confused!

    • @swaeyl3883
      @swaeyl3883 Рік тому +9

      OR, just use vim instead of nvim :)

    • @silak33
      @silak33 Рік тому +20

      @@swaeyl3883 :O BLASPHEMY!!!

    • @pabloaguila7977
      @pabloaguila7977 Рік тому +15

      not all heroes wear capes

  • @Gokuroro
    @Gokuroro Рік тому +504

    I never pre-like videos... but when I do, it is The Primeagen talking exactly about the topic I need to learn.

    • @nodidog
      @nodidog Рік тому +23

      I usually get mildly annoyed at being told to like a video, but Prime is a rare exception that qualifies for a pre-like

    • @seantwie0316
      @seantwie0316 Рік тому +1

      I did the same thing. Thanks Prime for showing me LSP Zero. I was struggling with nvim-cmp this morning.

    • @NeverCodeAlone
      @NeverCodeAlone Рік тому

      I love his kind of art in his movies. I also do a lot of videos but can not do it so nice.

    • @marwanfikrat7716
      @marwanfikrat7716 Рік тому +5

      I always pre-like this dudes videos. Even if I don't watch them

    • @NeverCodeAlone
      @NeverCodeAlone Рік тому +1

      @@marwanfikrat7716 Open source passion - i love it!!

  • @ioewguboiuewrgnl
    @ioewguboiuewrgnl Рік тому +674

    Wait wait, let me get my popcorn, blanket and laptop.

    • @sagarkapasi099
      @sagarkapasi099 Рік тому +5

      I love this comment

    • @ahmadieb
      @ahmadieb Рік тому +2

      Agreee watching this while waiting ❤️

    • @ericlawrencebrown3657
      @ericlawrencebrown3657 Рік тому +1

      :this:

    • @hasanpasha01
      @hasanpasha01 Рік тому

      Right now under my blanket, sipping tea and watching this video.

    • @BGraves
      @BGraves 7 місяців тому +7

      You forgot your coconut oil and tissue

  • @RT-ym9us
    @RT-ym9us Рік тому +10

    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!

  • @splitchunks7055
    @splitchunks7055 Рік тому +272

    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.

    • @r0yce
      @r0yce Рік тому +2

      Thanks man.

    • @JuanSB827
      @JuanSB827 Рік тому +7

      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`

    • @greglocker2124
      @greglocker2124 Рік тому +2

      ​@@JuanSB827 nobody here made that mistake

    • @joshduffney7954
      @joshduffney7954 Рік тому

      Thank you!

    • @wazz6003
      @wazz6003 Рік тому

      Thanks dude!

  • @scottiedoesno
    @scottiedoesno Рік тому +342

    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!

    • @ThePrimeagen
      @ThePrimeagen  Рік тому +75

      yayayayaya

    • @eduingarciacordero9255
      @eduingarciacordero9255 Рік тому +4

      the same here hahaaahah

    • @paulzupan3732
      @paulzupan3732 Рік тому +1

      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.

  • @earthling_parth
    @earthling_parth Рік тому +463

    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 ♥️

    • @earthling_parth
      @earthling_parth Рік тому +19

      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 🤩

    • @nezby3945
      @nezby3945 Рік тому +1

      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

  • @hemanthhvv4296
    @hemanthhvv4296 4 місяці тому +5

    For those who were getting error on 2:23 , He is not opening the vim , He had aliased it with nvim , so If you got an error such as not found or something at this step, try opening the file with "nvim remap.lua" rather then "vim remap.lua" (For those beginning in nvim editor)

    • @DeadlyDoom
      @DeadlyDoom 3 місяці тому +1

      Man you saved me. Thanks!!!!!

  • @paterson.
    @paterson. Рік тому +24

    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!

    • @ofeenee
      @ofeenee Рік тому +2

      I have the same problem. Thank you for sharing.

    • @reandov
      @reandov Рік тому +1

      I'm having the same issue... I did't want to go to iterm2 but that will be the case now :)

    • @goshmain982
      @goshmain982 Рік тому

      Thanks for helping

    • @ShadowKestrel
      @ShadowKestrel Рік тому +2

      the default mac terminal doesn't support truecolor. Color schemes *do not like this one bit.*

    • @jayreddy6038
      @jayreddy6038 Рік тому +1

      tmux is an alternative - supports truecolor

  • @duwangchew
    @duwangchew Рік тому +37

    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.

  • @Code12x
    @Code12x Рік тому +55

    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!

  • @awabkhan2977
    @awabkhan2977 Рік тому +56

    we need this video every year.

  • @aleatoriedades975
    @aleatoriedades975 4 дні тому

    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!

  • @heitorvrb
    @heitorvrb 4 місяці тому +130

    2024 Remake when

    • @TechnicolorMammoth
      @TechnicolorMammoth 3 місяці тому +1

      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….

    • @erickgilmore3810
      @erickgilmore3810 3 місяці тому +5

      @@TechnicolorMammoth The only thing that has change is treesitter playground, its deprecated since the functionality is included in Neovim

    • @ofeenee
      @ofeenee 3 місяці тому +5

      Yes please! Please please please remake with the lazy package manager! Please!🙏 🙏🙏🙏🙏

    • @katto1937
      @katto1937 13 днів тому +1

      @@ofeenee Why... you just use like 2 different words to download the package

    • @jtrtsay
      @jtrtsay 16 годин тому

      Yeah lazyvim is the goat now, packer rip

  • @maxreuv
    @maxreuv Рік тому +70

    This is great. I particularly liked how `after` is being used to configure installed plugints.

    • @ThePrimeagen
      @ThePrimeagen  Рік тому +12

      yayaya!

    • @JohnCostanzo
      @JohnCostanzo Рік тому +3

      Took me awhile to understand why he was doing this.

    • @SuperQuwertz
      @SuperQuwertz Рік тому +1

      My after folder is not loading, but it works with other configs. What could I have done wrong?

    • @nicholaswatching
      @nicholaswatching Рік тому +1

      @@SuperQuwertz same

    • @iron7956
      @iron7956 9 місяців тому

      @@JohnCostanzo I don't understand, can you explain it to me?

  • @geekboy328
    @geekboy328 Рік тому +21

    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!

    • @HarshYadav-yi7tv
      @HarshYadav-yi7tv 9 місяців тому +1

      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...

  • @industry_std
    @industry_std Рік тому +13

    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.

    • @ThePrimeagen
      @ThePrimeagen  Рік тому +2

      Absolutely correct and my fault!!!

    • @cipher01
      @cipher01 6 місяців тому +1

      @@ThePrimeagen pin this please !

    • @lostprince2251
      @lostprince2251 5 місяців тому

      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...

    • @jariocmjunior
      @jariocmjunior 4 місяці тому

      @@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).

    • @lostprince2251
      @lostprince2251 4 місяці тому +2

      @@jariocmjunior Oh wow, now I feel dumb, this was actually my problem, ty :)

  • @112358d15
    @112358d15 Рік тому +5

    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).

  • @nathanielthomas4437
    @nathanielthomas4437 3 місяці тому +11

    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
      @corbinslaymaker3346 29 днів тому +3

      i didn't even realize it was deprecated, ive been doing this all morning and it's been working fine.

    • @nathanielthomas4437
      @nathanielthomas4437 28 днів тому

      @@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).

    • @corbinslaymaker3346
      @corbinslaymaker3346 28 днів тому

      @@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.

    • @nathanielthomas4437
      @nathanielthomas4437 28 днів тому

      @@corbinslaymaker3346 Nothing wrong with using a preconfigured nvim setup, they come with just about everything you need.

    • @katto1937
      @katto1937 13 днів тому

      Just use something else for plugins, the actual process is still the same

  • @jona5002
    @jona5002 Рік тому +32

    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 :)

    • @ThePrimeagen
      @ThePrimeagen  Рік тому +8

      Tyty

    • @denverfishsauce9977
      @denverfishsauce9977 Рік тому

      Second the DAP. that's the last feature I'm interested in diving deep into with Neovim. Thanks again @ThePrimeagen

  • @tkd2526
    @tkd2526 Рік тому +52

    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."

  • @Don_XII
    @Don_XII Рік тому +10

    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 🙏

  • @oajitho
    @oajitho Рік тому +9

    I really needed a starter for neovim and this was really comprehensive. Thank you!

  • @wolverine9632
    @wolverine9632 Рік тому +4

    Man, I've been putting off switching to neovim for too long now. I can't thank you enough for this extremely helpful video!

  • @balincarmichael7688
    @balincarmichael7688 2 місяці тому +2

    If anyone is curious why when two windows are open only one of them have the transparent background, that's because the "normal" highlighting group doesn't include non-current windows. To set all of neovimt to be transparent, also use `vim.api.nvim_set_hl(0, "NormalNC, {})` for the normal non-current group.

  • @ingmarfalk3306
    @ingmarfalk3306 Рік тому +5

    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

  • @richienguyen2703
    @richienguyen2703 Рік тому +26

    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!

    • @dave4347
      @dave4347 Рік тому

      Yep, same. Wish I would have seen your comment first lol.

    • @selmanisaidamine9321
      @selmanisaidamine9321 11 місяців тому +1

      just use unstabble version

    • @eamonburns9597
      @eamonburns9597 8 місяців тому

      How did you install the version? The latest version apt has is 0.6.x

    • @aligulli123
      @aligulli123 7 місяців тому

      @@eamonburns9597 download from the releases section of the neovim git repo. They have detailed instructions for every environment.

    • @rc8s
      @rc8s 7 місяців тому

      @@eamonburns9597 Install it from source.

  • @DanielTateNZ
    @DanielTateNZ Рік тому +20

    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.

  • @AubreyLavigne
    @AubreyLavigne 8 місяців тому +2

    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

  • @ooogabooga5111
    @ooogabooga5111 7 місяців тому +1

    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.

  • @filipslezak5152
    @filipslezak5152 Рік тому +6

    Was doing 2-3 times but at last I found that building on top of nvchad config works the best for me.

  • @SownJevan
    @SownJevan Рік тому +3

    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.

  • @jumbo_mumbo1441
    @jumbo_mumbo1441 Рік тому +3

    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

  • @bmacf
    @bmacf 3 місяці тому

    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.

  • @FrontLine72
    @FrontLine72 Рік тому +2

    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.

    • @jebwatson
      @jebwatson Рік тому

      Thanks, that saved me some headache!

  • @dannielrolfe8079
    @dannielrolfe8079 Рік тому +3

    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.

  • @BRY0402
    @BRY0402 4 місяці тому +6

    As a newcomer to vim, all i saw was you doing black magic

  • @xtunasil0
    @xtunasil0 Рік тому +4

    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
      @greglocker2124 Рік тому

      Do it. Nobody ever told me those editors start lagging balls when you build a large codebase.

    • @xtunasil0
      @xtunasil0 Рік тому

      @@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. :/

  • @norcal6181
    @norcal6181 Рік тому +1

    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".

  • @norbermv
    @norbermv Місяць тому

    Thanks for this amazing video. I went through the whole thing and finally got my Neovim set up!

  • @aziz0x00
    @aziz0x00 Рік тому +11

    The keymaps at 25:36 for moving lines in visual mode are crazy!! Amazing video

    • @danielcooke3243
      @danielcooke3243 Рік тому +1

      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?

    • @aziz0x00
      @aziz0x00 Рік тому

      @@danielcooke3243 they flicker on my computer also

    • @aziz0x00
      @aziz0x00 Рік тому

      @@danielcooke3243 why not? because it automatically indents 👍

  • @wiskasIO
    @wiskasIO Рік тому +3

    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! 🙏

  • @codyk3383
    @codyk3383 Рік тому +7

    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.

  • @TheW00tguy
    @TheW00tguy 6 місяців тому

    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!

  • @blkgames1447
    @blkgames1447 Рік тому

    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.

  • @sykotes
    @sykotes Рік тому +4

    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

  • @richa8855
    @richa8855 7 місяців тому +5

    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.

  • @chrboesch
    @chrboesch Рік тому +8

    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! 🙂

  • @cagnolin.A
    @cagnolin.A Рік тому

    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.

  • @MurtagBY
    @MurtagBY Рік тому +1

    Keep the energy bro. Thanks for your content, amazed how you keep positive vibe over so long and intense sessions - I get into more reflexive state really fast

  • @aaronmcadam
    @aaronmcadam Рік тому +12

    I loved every second of this! More vim macro magic, please! 🙏

  • @oscare123
    @oscare123 Рік тому +7

    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)

    • @NilEoe
      @NilEoe Рік тому

      would ctrl + 9/0/-/= work?

    • @muhwyndham
      @muhwyndham 11 місяців тому

      I use 9/0/-/= for hotkeys and use \ for harpoon window. it works flawlessly

  • @domizianoscarcelli1936
    @domizianoscarcelli1936 5 місяців тому

    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

  • @mixcocam
    @mixcocam 3 місяці тому

    Thanks a lot for taking the time to do this. It shows how to organize things.

    • @mixcocam
      @mixcocam 3 місяці тому

      and how things work

  • @TBV4050
    @TBV4050 Рік тому +7

    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.

  • @rbledsaw3
    @rbledsaw3 Рік тому +12

    @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.

  • @khps9176
    @khps9176 Рік тому +24

    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!

    • @r2com641
      @r2com641 Рік тому +1

      🤡

    • @greglocker2124
      @greglocker2124 Рік тому

      Did you go past 2 hours?

    • @greglocker2124
      @greglocker2124 Рік тому

      ​@@r2com641 you should make that your pfp

    • @khps9176
      @khps9176 Рік тому +1

      @@greglocker2124 I did! I'm still using neovim, not used vscode again at all.

  • @theArgonautics
    @theArgonautics 25 днів тому

    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!

  • @DavidHanks90
    @DavidHanks90 Рік тому

    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!

    • @zekicaneksi
      @zekicaneksi 11 місяців тому

      package manager used here is left to die... fuck this tutorial

  • @Aikchun616
    @Aikchun616 Рік тому +3

    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!

    • @veerpratap1177
      @veerpratap1177 Рік тому

      in lsp git directory i cant see the code for packer

  • @qmurec
    @qmurec Рік тому +9

    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!

    • @williy_cole
      @williy_cole Рік тому

      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.

    • @AdamDymitruk
      @AdamDymitruk 11 місяців тому

      Was wondering if this was done on purpose. I want to make a more thorough version of this video

    • @ScrotoTBaggins
      @ScrotoTBaggins 4 місяці тому

      ​@@AdamDymitrukDid you make a video? I'm getting a ritalin contact high from this video

    • @tortugatortuga7505
      @tortugatortuga7505 2 місяці тому

      I was stuck at 4:38, thank you @qmurec

  • @MichaelDovgal
    @MichaelDovgal Рік тому +6

    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! 🎉

  • @pavloburyanov5842
    @pavloburyanov5842 Рік тому +1

    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)

  • @henriquefugaduran219
    @henriquefugaduran219 Рік тому

    Excelent video, makes it very clear and fast. That leaves no time for you to think about if you're doing really the right thing configuring this damn thing and in the and, when you less expect, you have a nvim configured. Congrats my boy

  • @AlexBlack-xz8hp
    @AlexBlack-xz8hp Рік тому +4

    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!

  • @anthonyparks505
    @anthonyparks505 Рік тому +3

    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

    • @jobinthomas6372
      @jobinthomas6372 8 місяців тому

      Can i ask which lsp you use for c++ ? Did you use Mason or something else?

    • @anthonyparks505
      @anthonyparks505 8 місяців тому

      clangd based@@jobinthomas6372

  • @EthanBradley1231
    @EthanBradley1231 Рік тому +4

    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,
    }

  • @trevor8416
    @trevor8416 7 місяців тому

    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!

  • @AdrianAyala
    @AdrianAyala Рік тому

    You gained my subscription before I got your 'Thank you'. Thanks Primeagen, just recently discovered the channel, this video was actually really funny and educational

  • @jdawgforealz
    @jdawgforealz Рік тому +4

    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!

  • @emeraldwhovian5213
    @emeraldwhovian5213 Рік тому +17

    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

  • @sculpt0r
    @sculpt0r Рік тому +8

    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... 🤞

  • @bahaaalhalabi8940
    @bahaaalhalabi8940 Рік тому +1

    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 🙏

    • @greglocker2124
      @greglocker2124 Рік тому

      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

    • @bahaaalhalabi8940
      @bahaaalhalabi8940 Рік тому

      @@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

  • @This_Guy-
    @This_Guy- 8 місяців тому

    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

  • @esquilo_atomico
    @esquilo_atomico Рік тому +4

    finalmente consegui entender como configurar o nvim, mt bom... e de quebra ainda deu pra aprender um pouco de lua

    • @hermessantos181
      @hermessantos181 Рік тому

      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 :(

  • @a8lg6p
    @a8lg6p 10 місяців тому +4

    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... 😠

  • @СергейЛюбимов-у3ф

    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)

  • @jeonghyunkim1579
    @jeonghyunkim1579 Рік тому

    Such a great vid. I decided to use nvim as my primary editor and this vid. taught me literally everything about nvim configs. Thank you so much.

  • @joergbeigang
    @joergbeigang Рік тому

    Love the pace of your vid. Usually video tutorials are just so slow and make me skipping through. And I finally said good bye to my good old init.vim. Thanks for that!

  • @brainstormsurge154
    @brainstormsurge154 Рік тому +3

    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.

  • @NullPointerExpert
    @NullPointerExpert 7 місяців тому +4

    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)...

  • @smugtomato5972
    @smugtomato5972 Рік тому +7

    If anyone is wondering why grep_string isn't working, you need to have 'ripgrep' installed

  • @DanielRodriguez-my3ow
    @DanielRodriguez-my3ow 2 місяці тому

    Thank you for your video. Documentation made sence when I watched you do the setups

  • @juangiordana
    @juangiordana Рік тому +2

    There aren't just enough likes for me to add to this video.
    I've watched it SO MANY times in the pasts few months and I just keep learning and improving my Neovim experience withi it.
    Thanks so much!

    • @chidam333
      @chidam333 8 місяців тому

      bro what why do you rewatch it ??

  • @splo2766
    @splo2766 Рік тому +4

    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.

    • @ThePrimeagen
      @ThePrimeagen  Рік тому +3

      i don't love lunar vim, but its also really good place to start if you don't know about vim :)

  • @gymdis
    @gymdis 9 місяців тому +6

    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".

    • @martinalvarez5128
      @martinalvarez5128 5 місяців тому +1

      Thank you, I was able to move on because of this comment!

  • @adriankocis8986
    @adriankocis8986 Рік тому +12

    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).

  • @thgeremilrivera-thorsen9556

    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.

  • @bob80808
    @bob80808 Рік тому +1

    This video is just the best! I must have watched it like 5 times in the last six months...
    I have to watch it at x0.5 speed tho 🤣 great job as always!!

  •  10 місяців тому +3

    If you think that you will do this in 30 minutes, think again sunshine... this video is blazingly fast

    • @d4rks1gm39
      @d4rks1gm39 7 місяців тому +1

      Doesn't help being in Windows 😭

  • @bikerinbeta
    @bikerinbeta Рік тому +2

    Every time I setup vim, at the end of it, I just go back to vscode

  • @theIbraDev
    @theIbraDev Рік тому +5

    packer nvim is not maintained anymore btw

    • @lvrsvid
      @lvrsvid 7 місяців тому

      Did you end up using packer anyway or did you use something else?

    • @theIbraDev
      @theIbraDev 6 місяців тому

      Sorry for a late response, i don't get notified about comments. I just used Packer anyways lmao. Works like a charm@@lvrsvid

  • @zehph
    @zehph 9 місяців тому

    Great tutorial! I started using vim again after watching your stuff, I cobbled together a config with vimscript which is what I knew, but this video I have converted my setup to this modularized setup with lua and copied some sections, but made it my own with some different bindings and other plugins. This was quite comprehensive and easy to follow despite the huge amount of information.

  • @sinashariati4412
    @sinashariati4412 Рік тому

    One of the bests videos I have ever seen on setting up neovim from scratch!
    Tnx man!
    I love your works!

  • @sayo9394
    @sayo9394 Рік тому +4

    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 😢

    • @mustafasamedkasal
      @mustafasamedkasal 10 місяців тому

      Nope, doing it right now. He sounds like drunk now. :D