0 to LSP : Neovim RC From Scratch

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

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

  • @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 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 3 місяці тому +256

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

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

      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 2 місяці тому +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 Рік тому +1389

    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 Рік тому +1021

    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 Рік тому +181

    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 8 місяців тому +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.

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

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

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

    we need this video every year.

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

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

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

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

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

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

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

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

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

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

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

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

  • @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 3 місяці тому +3

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

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

      @@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 3 місяці тому

      @@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 3 місяці тому

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

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

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

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

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

  • @priyanshukatuwal
    @priyanshukatuwal 2 дні тому

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • @diodeno
    @diodeno 12 днів тому

    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.

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

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

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

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

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

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

      and how things work

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

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

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

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

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

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

    Probably the only UA-camr's videos where I slow down the playback speed..😂 I'm just getting started in the programming world. I need some time to understand most of the things he says..! Big fan

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

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

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

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

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

    Moving selected text was awesome I knew I needed to add that in my config but was being lazy to put it until now.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    nicely done tutorial, straight to the point, printing used keys is really helpful for a beginner

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

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

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

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

    7 minutes in I learned more than I learned in 4 years of college.. thank you ThePrimeagen

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

    Amazing! Ty so much for helping me spend 10h configuring vim so I can forget how to close and save the file next week and go back to vs code.

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

  • @СергейЛюбимов-у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)

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

  • @Btatavada
    @Btatavada 6 днів тому +1

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

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

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

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

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

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

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

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

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

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

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

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

    I normally watch everything in invidious. But damn! I just came here to like and say thank you! Because ladies and gentlemen this video is the AMAZING!
    Thank you so much! 🙏❤

  •  Рік тому +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 😭

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

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