0 to LSP : Neovim RC From Scratch

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 พ.ย. 2024

ความคิดเห็น • 2.2K

  • @ThePrimeagen
    @ThePrimeagen  ปีที่แล้ว +2066

    *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 ปีที่แล้ว +34

      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 TH-cam to your show! th-cam.com/video/XTGABtNh2EY/w-d-xo.html

    • @ThePrimeagen
      @ThePrimeagen  ปีที่แล้ว +35

      @@ditchcomfort yes

    • @jdawgforealz
      @jdawgforealz ปีที่แล้ว +4

      @@ditchcomfort You should be able to!

  • @dotbhav
    @dotbhav 3 หลายเดือนก่อน +252

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

    • @QuantumVirus
      @QuantumVirus 2 หลายเดือนก่อน +15

      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 2 หลายเดือนก่อน

      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

    • @marcpearson2913
      @marcpearson2913 หลายเดือนก่อน +10

      @@QuantumVirus That and packer is now abandoned so the video is obsolete as he's migrated to lazy in his own video.

    • @awrarisq
      @awrarisq หลายเดือนก่อน +4

      learned so much in the first 40 seconds

    • @demolazer
      @demolazer หลายเดือนก่อน

      Just needs a lot of pausing to copy the code in. Easy.

  • @martiananomaly
    @martiananomaly ปีที่แล้ว +1388

    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 ปีที่แล้ว +10

      OR, just use vim instead of nvim :)

    • @silak33
      @silak33 ปีที่แล้ว +21

      @@swaeyl3883 :O BLASPHEMY!!!

    • @pabloaguila7977
      @pabloaguila7977 ปีที่แล้ว +17

      not all heroes wear capes

  • @captainbrainless
    @captainbrainless ปีที่แล้ว +1019

    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 ปีที่แล้ว +180

    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 ปีที่แล้ว +12

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

    • @hm_webdev
      @hm_webdev ปีที่แล้ว +4

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

    • @adityapradhan675
      @adityapradhan675 8 หลายเดือนก่อน +2

      God send!

    • @prawtism
      @prawtism 7 หลายเดือนก่อน +2

      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 4 หลายเดือนก่อน +2

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

  • @splitchunks7055
    @splitchunks7055 ปีที่แล้ว +285

    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!

  • @nickmead8146
    @nickmead8146 10 หลายเดือนก่อน +156

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

    • @SlavkoStojshic
      @SlavkoStojshic 8 หลายเดือนก่อน +5

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

    • @thux2828
      @thux2828 8 หลายเดือนก่อน +15

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

    • @mrfli24
      @mrfli24 8 หลายเดือนก่อน +8

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

    • @nostalgicnow6001
      @nostalgicnow6001 8 หลายเดือนก่อน +1

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

    • @nostalgicnow6001
      @nostalgicnow6001 8 หลายเดือนก่อน

      @@thux2828😂 exactly

  • @Gokuroro
    @Gokuroro ปีที่แล้ว +515

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

  • @paterson.
    @paterson. ปีที่แล้ว +25

    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

  • @norcal6181
    @norcal6181 ปีที่แล้ว +2

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

  • @scottiedoesno
    @scottiedoesno ปีที่แล้ว +347

    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  ปีที่แล้ว +78

      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 ปีที่แล้ว +471

    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

  • @112358d15
    @112358d15 ปีที่แล้ว +7

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

  • @AubreyLavigne
    @AubreyLavigne 10 หลายเดือนก่อน +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

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

  • @ioewguboiuewrgnl
    @ioewguboiuewrgnl ปีที่แล้ว +681

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

    • @sagarkapasi099
      @sagarkapasi099 ปีที่แล้ว +6

      I love this comment

    • @ahmadieb
      @ahmadieb ปีที่แล้ว +3

      Agreee watching this while waiting ❤️

    • @ericlawrencebrown3657
      @ericlawrencebrown3657 ปีที่แล้ว +2

      :this:

    • @hasanpasha01
      @hasanpasha01 ปีที่แล้ว +1

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

    • @BGraves
      @BGraves 9 หลายเดือนก่อน +7

      You forgot your coconut oil and tissue

  • @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 ปีที่แล้ว +1

      just use unstabble version

    • @eamonburns9597
      @eamonburns9597 10 หลายเดือนก่อน

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

    • @aligulli123
      @aligulli123 9 หลายเดือนก่อน

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

    • @rc8s
      @rc8s 9 หลายเดือนก่อน

      @@eamonburns9597 Install it from source.

  • @kyumullo
    @kyumullo ปีที่แล้ว +13

    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!

  • @nathanielthomas4437
    @nathanielthomas4437 5 หลายเดือนก่อน +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 2 หลายเดือนก่อน +3

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

    • @nathanielthomas4437
      @nathanielthomas4437 2 หลายเดือนก่อน

      @@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 2 หลายเดือนก่อน

      @@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 2 หลายเดือนก่อน

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

    • @katto1937
      @katto1937 2 หลายเดือนก่อน

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

  • @maxreuv
    @maxreuv ปีที่แล้ว +71

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

    • @ThePrimeagen
      @ThePrimeagen  ปีที่แล้ว +13

      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 11 หลายเดือนก่อน

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

  • @awabkhan2977
    @awabkhan2977 ปีที่แล้ว +57

    we need this video every year.

    • @lorebirb
      @lorebirb ปีที่แล้ว +2

      Yes!

  • @Code12x
    @Code12x ปีที่แล้ว +57

    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!

    • @ThePrimeagen
      @ThePrimeagen  ปีที่แล้ว +27

      Let's go!!!!!

    • @greglocker2124
      @greglocker2124 ปีที่แล้ว +3

      ​@@lostintheinternet2814 VSC is trash

    • @joshuarose20
      @joshuarose20 ปีที่แล้ว +5

      @@greglocker2124 we don't say that word here...

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

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

  • @industry_std
    @industry_std ปีที่แล้ว +16

    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 8 หลายเดือนก่อน +1

      @@ThePrimeagen pin this please !

    • @lostprince2251
      @lostprince2251 7 หลายเดือนก่อน

      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 6 หลายเดือนก่อน

      @@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 6 หลายเดือนก่อน +2

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

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

    • @Zerosupl
      @Zerosupl ปีที่แล้ว +1

      Thanks a lot :) I was wondering why this is not working.

    • @PeterJahnes
      @PeterJahnes ปีที่แล้ว +1

      Thank you for this!!!!!!

    • @sacredgeometry
      @sacredgeometry ปีที่แล้ว

      This should be pinned

    • @brenner1235
      @brenner1235 ปีที่แล้ว +1

      Thanks :)

  • @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 11 หลายเดือนก่อน +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...

  • @coldcircuit99
    @coldcircuit99 ปีที่แล้ว +6

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

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

  • @aleatoriedades975
    @aleatoriedades975 2 หลายเดือนก่อน

    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!

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

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

  • @heitorvrb
    @heitorvrb 6 หลายเดือนก่อน +177

    2024 Remake when

    • @TechnicolorMammoth
      @TechnicolorMammoth 5 หลายเดือนก่อน +4

      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 5 หลายเดือนก่อน +8

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

    • @ofeenee
      @ofeenee 5 หลายเดือนก่อน +8

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

    • @katto1937
      @katto1937 2 หลายเดือนก่อน +1

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

    • @jtrtsay
      @jtrtsay 2 หลายเดือนก่อน

      Yeah lazyvim is the goat now, packer rip

  • @ooogabooga5111
    @ooogabooga5111 9 หลายเดือนก่อน +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.

  • @pavloburyanov5842
    @pavloburyanov5842 ปีที่แล้ว +2

    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)

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

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

  • @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 10 หลายเดือนก่อน

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

    • @anthonyparks505
      @anthonyparks505 10 หลายเดือนก่อน

      clangd based@@jobinthomas6372

  • @priyanshukatuwal
    @priyanshukatuwal 22 ชั่วโมงที่ผ่านมา

    This was so overwhelming to me at first but now since I have a better understand, I pretty much understood everything he did here.

  • @TheW00tguy
    @TheW00tguy 8 หลายเดือนก่อน

    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!

  • @oajitho
    @oajitho ปีที่แล้ว +9

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

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

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

  • @sutirk
    @sutirk ปีที่แล้ว

    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

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

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

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

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

  • @theArgonautics
    @theArgonautics 2 หลายเดือนก่อน

    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!

  • @domizianoscarcelli1936
    @domizianoscarcelli1936 7 หลายเดือนก่อน

    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

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

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

  • @BRY0402
    @BRY0402 6 หลายเดือนก่อน +7

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

  • @trevor8416
    @trevor8416 9 หลายเดือนก่อน

    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!

  • @Btatavada
    @Btatavada 4 วันที่ผ่านมา +1

    Idk what possessed me but i understood everything he did in this video

  • @richa8855
    @richa8855 9 หลายเดือนก่อน +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.

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

  • @FreddyRangel85
    @FreddyRangel85 ปีที่แล้ว

    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!

  • @BboyKeny
    @BboyKeny ปีที่แล้ว

    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.

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

    • @ThePrimeagen
      @ThePrimeagen  ปีที่แล้ว +2

      i think this is a compliment, ty

  • @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 ปีที่แล้ว

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

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

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

  • @bmacf
    @bmacf 5 หลายเดือนก่อน

    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.

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

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

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

  • @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 ปีที่แล้ว

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

  • @thgeremilrivera-thorsen9556
    @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.

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

  • @aeiou3701
    @aeiou3701 6 หลายเดือนก่อน +5

    it took 3 uninstalls, a bruise on my hand, and a dent in my desk but I am changed man. Also I use vim.

  • @aaronmcadam
    @aaronmcadam ปีที่แล้ว +12

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

  • @danielstoddart
    @danielstoddart ปีที่แล้ว

    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.

  • @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 ปีที่แล้ว

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

    • @ScrotoTBaggins
      @ScrotoTBaggins 6 หลายเดือนก่อน

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

    • @tortugatortuga7505
      @tortugatortuga7505 4 หลายเดือนก่อน

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

  • @rbledsaw3
    @rbledsaw3 ปีที่แล้ว +16

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

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

  • @Fumbibi
    @Fumbibi 7 หลายเดือนก่อน

    I finished this and will figure out what to do with the journal I kept as I traversed the video. Thank you The Primeagen.

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

  • @gymdis
    @gymdis 11 หลายเดือนก่อน +8

    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 7 หลายเดือนก่อน +1

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

    • @omathalye3074
      @omathalye3074 วันที่ผ่านมา

      Thanks a lot!

  • @a8lg6p
    @a8lg6p ปีที่แล้ว +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ф
    @СергейЛюбимов-у3ф ปีที่แล้ว +9

    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)

  • @This_Guy-
    @This_Guy- 10 หลายเดือนก่อน

    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

  • @MrAlexh037
    @MrAlexh037 ปีที่แล้ว

    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!

  • @smugtomato5972
    @smugtomato5972 ปีที่แล้ว +7

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

    • @timothyvandyke9511
      @timothyvandyke9511 ปีที่แล้ว

      Thanks

    • @fpalmac
      @fpalmac ปีที่แล้ว

      You saved my life, i was going insane, thanks thanks thanks

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

  •  ปีที่แล้ว +3

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

    • @d4rks1gm39
      @d4rks1gm39 9 หลายเดือนก่อน +1

      Doesn't help being in Windows 😭

  • @diodeno
    @diodeno 10 วันที่ผ่านมา

    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.

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

  • @NullPointerExpert
    @NullPointerExpert 9 หลายเดือนก่อน +5

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

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

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

    • @j0a0m4
      @j0a0m4 ปีที่แล้ว +1

      Thanks! That helped a lot

    • @MrAweosmeJr
      @MrAweosmeJr ปีที่แล้ว

      tysm

  • @lucky_luke4785
    @lucky_luke4785 ปีที่แล้ว

    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!

  • @MrAbrazildo
    @MrAbrazildo ปีที่แล้ว

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

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

    • @pedrohakia1
      @pedrohakia1 ปีที่แล้ว

      God bless you sir!! ❤

  • @bikerinbeta
    @bikerinbeta ปีที่แล้ว +2

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

  • @brainstormsurge154
    @brainstormsurge154 ปีที่แล้ว +4

    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.

    • @chamalsena
      @chamalsena 8 วันที่ผ่านมา

      bro can you please share the dotfile

  • @Chalisque
    @Chalisque ปีที่แล้ว

    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.

  • @lennysuessmuth9512
    @lennysuessmuth9512 ปีที่แล้ว

    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.

  • @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 ปีที่แล้ว

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

  • @theIbraDev
    @theIbraDev ปีที่แล้ว +5

    packer nvim is not maintained anymore btw

    • @lvrsvid
      @lvrsvid 9 หลายเดือนก่อน

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

    • @theIbraDev
      @theIbraDev 8 หลายเดือนก่อน

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