A BEAUTIFUL neovim config with Lazy | FREE COURSE // EP 2
Вставка
- Опубліковано 14 тра 2024
- X: / typecraft_dev
Follow along here!: github.com/cpow/neovim-for-ne...
In this video, I want to show you how to make a beautiful and asthetic neovim configuration with lazy.nvim and lua modules. This is the second episode in my free course on neovim configuration. In this episode we:
1. install neo-tree
2. break out our init.lua into plugins.lua
3. modularize our config by making every plugin have their own module
4. add lualine to show off how easy adding a new neovim plugin is with this setup.
I hope you enjoy, and thanks nerds!
chatpers:
0:00 - intro
1:35 - title
1:50 - break up our neovim config. install neo-tree
5:23 - move plugins table to plugins.lua
7:00 - break up configs into their own modules
15:18 - add a new plugin to show off the config extensibility
17:42 - wrapping it up - Наука та технологія
your videos are the best beginner friendly videos on neovim it made me stop using lunarvim and made my own config watching your videos now we need episode 3 right away with lsp and auto completion
working hard on it! LSP/Auto-complete are essential. but I'm glad we have a good base to work with now
@@typecraft_dev you get the best videos on neovim man keep up the hard work
Yep! ASAP. Thanks for all your efforts.
Agree, just got headache from watching primeagen config video, this channel saved me.
@@marcos-bl8ny Yeah, I love his config I used it for a long time but I don't understand it which makes tinkering or adding functionnality nearly impossible because he speaks too fast and doesn't explain what he's doing most of the time.
How are you guys feeling about this config? NEXT UP IS LSPS BABY
The quality of these videos is outstanding, you're doing an amazing job! Excited for the LSP episode
we need that video yesterday
Fantastic, clear and complete explanations of the basics. Keep going. Looking forward to see the config for Golang with null-ls replacement.
Pretty sexy. Cant wait fpr LSPs
Please drop the video
One small thing. In lazy there is a better way to setup options. Just pass a lua table to opts property so for your case it will be opts = { options = { theme = “dracula” } } . This will automatically call plugin.setup() and will pass your opts table in it. keep up the good work❤. I remember when i was leaning neovim there wasn’t a good tutorial like this
oh that is fantastic. I KNEW there was a more clever way to do this! I guess its fine to be explicit too. but that is very neat
I could binge-watch some more episodes of this tutorial series right now. Thank you, and keep them coming. :)
This series is awesome! I had been using NvChad with some custom changes and plugins on top of that and got to a point where I was over all the configuring. But this series has sparked it up again and now I want to try build my config from scratch. Your series explains everything so much better than anything else I have seen!
Thanks for this episode. Waited every day since episode one came out. My Neovim setup is well-structured, so I am ready for the next chapter! 🙂
this is by far the best neovim setup guide i have ever seen, ever since neovim transitioned to lua i had trouble configuring it, this is the best!
This is some really good stuff! Thank you for this! I've had the same neovim config for almost three years now with packer. When i saw your first video in this series i started a new and modern config with Lazy.nvim. You and Takuya Matsuyama from devaslife here on youtube are my inspirations! 🙂
I've been putting off trying out lazy for a while-- I just didn't feel like tinkering with my config files and didn't feel like migrating from packer. These videos have been really motivating. I appreciate your clear and direct presentation. Thank you for your efforts!
Thanks so much for this tutorial! It's by far the best neovim tutorial I've ever found on the web where I don't feel I'm being rushed and can take my time. It's the first time I've felt that I have a shot at making this a good IDE for me.
I used kickstart as a starting point but still returning back to your videos to help me further configure my plugins.
Thanks for these videos they are awesome!
This is a great series of tutorials. Can't wait for episode 3
Fell asleep every time during intro and woke up by the bgm. Why do I keep watching this before sleep.
Thanks for this series, highly appreciated! Keep up the awesome work!
Another amazingly straight to the point and well explained video guide. Well done and thank you!
This is an epic Neovim series--keep 'em coming! This is how I've set up my local Lazy-backed neovim, and the auto-detection & installation of plugin configuration files has just taken managing nvim installs to a whole new level!
I agree its so awesome!
Finally, this came out I have been waiting for the 2nd ep since the day you posted the first one. Thanks a lot for the efforts you're putting in, after searching for good tutorials all over the web and failing I stumbled here and it has been great since then. Thanks a lot
Glad you enjoy it!
Thank you so much for this series! I have been a full time vim user since 2007, and I switched to neovim a couple of years ago. I had been using essentially the same hand-crafted and relatively minimal configuration files from my vim days for a long time (why fix what ain't broken). Sometime in the last year, I tried some of the neovim distributions out there and was impressed with the immediate out-of-the-box experience. I settled one one to become my daily driver.
Fast forward a few months, and normal updates to that distribution were breaking things. I have better things to do than follow the changelogs for stuff like that. Additionally, I hadn't bothered trying to really understand how the distribution was setup, and I didn't have time to focus on figuring it out. I just dealt with individual breakages here and there as I found time.
Within the past month or so, I decided it was finally time for me to start a proper neovim setup from scratch. I watched your first episode the day you posted it, and I was immediately hooked. This episode builds things out in a much more deliciously modular fashion that I am loving. You've made it so simple to understand not just _how_ things can be setup but also _why_, and I am incredibly grateful to you for breaking things down so clearly.
I'm looking forward to the rest of the series :)
This set of videos on Neovim that I have found. I have watched a lot of them. Most people cover too much at one time and gloss over a lot of small but critical details. Your explanation of config is very clearly.
Keep the great work! I was using Vim/vscode because I've thought NeoVim too hard to set it up. Now I can finally change to NeoVim with the plugins that I like it. Thanks man, I'll keep waiting for the next episode!
Finally. I was waiting so much for episode 2. These series are great man. Keep up the good work
thank you I'm glad you're enjoying the videos!
Thank you, this is the best Neovim video on UA-cam. Finally I can order my config and understand what's going on. I'm looking forward to the lsp and auto completion video.
dude, you are great. loving this neovim series!!
You are really amazing !!! I had seen other videos on setting up neovim .. but your style just rhymes with me …
Awesome tutorial, i used lunarvim from time to time, but adding a plugin was always a problem for me.
Now i understand lua and nvim much better :) Thanks!
Thanks man, It was what I was waiting for, I'm gone to change my config to this way. Consider making an episode about the easiest and Simplist way to add linters and formatters to nvim and we know null-ls have been archived.
Love this! Thank you so so much! Can't wait for the next video :)
Thank you so much for this amazing videos! Helped me a lot with my Neovim setup!
I can't tell you how grateful I am to this series I was not expecting to get hand holding in the video but you did amazing job in explaining with what I was struggling with a lot WHY "return" and what goes where and how does it work.
Thanks for this amazing series.
Thank you so much!
Come on, i need the episode 3 right now!! Thanks for this detailed video. Really appreciated
Working on it! and thanks!
Wao, again what a video. Thanks for these vids man. Keep it up.
Yay! Finally configured my nvim. Just changed the theme to gruvbox ;) Super nice intro, I'm a complete beginner in nvim so this helps a ton :)
Only one thing, for me, personal opinion, but might help other, is that instead of using :Neotree filesystem reveal left I would change to toggle, this way if you press it shows the panel, but with another it will close. I find it quite annoying to keep it there or having to type :q to close it. I'm super newbie to vim, so I might be missing something, but I found this way better for me as I usually prefer the file system navigator to be closed most of the time
Love it! I overlooked that and you’re right
Config looks awesome either way @@typecraft_dev
can you post the code for the toggle function? i have vim.keymap.set('n', '', ':Neotree filesystem reveal left', {})
Awesome video, thank you for sharing this content, I am doing my first steps in neovim and this is great material!
Im so looking forward to do this thing when things calm down after xmas. Thanks mr.
Happy holidays!
Okay, I'm following this course before starting a course of development lol
I think that Vim is a outstanding editor and now I want to do it my IDE because I can't edit without the Vim moves.
Your videos are very good! Thanks!
I really like this series, is clear and is easy to follow and understand what are you doing. thanks
Glad to hear it!
🤣🤣🤣"...I don't really like using the right hand side of the screen cuz I'm not crazy.." these plugs in your videos are plain awesome! Excellent work and love your contents!
Your explanations are so helpful!
You have no idea how useful this series is to me 😄I have been using neovim for a while now and really enjoying it.
But I don't understand how to configure it. I'm solely relying on copy-paste of stuff found on the internet.
Your videos are helping me make sense of the configuration process. I imagine that I'll probably watch them 2 or 3 times to get a firm grip on their contents.
I've been troubled by what are no doubt trivial concerns to someone with a better understanding of neovim and its configuration.
These are trivial but for me they are mental blockers.
So you taking the time to explain why we have certain folders (Lazy gives us this liberty), how to name them and what to put into them is very enlightening.
For instance there were several things that were mysterious to me, in particular
- where should one put configuration stuff ?
- why is it sometimes a dedicated .lua file that returns a table, and at other times you write it directly into a setup function in the root level init.lua ?
- when should stuff be in the "root level" init.lua and when should it be elsewhere ?
Just pointing out that these are both valid options and that one is made possible by Lazy has been helpful and demystifying.
I still have some questions such as
- how can I find out what I can put in a table (such as what you return in catpuccin.lua) ?
I imagine this boils down to finding the "canonical reference of all permissible keywords" or so for a specific package.
- does such a thing always exist ?
- where can I find them or does it depend on the package ?
Really great for nvim beginners like myself. Thanks much!
Cant wait ,please upload more videos asap ❤❤
Dude, this is amazing! Organizing things from scratch is what I needed so I could get a grip on nvim. Just a small request, if I may, if you could display on the screen what are the keys you are typing, it would be really helpful for people like me that doesn't really have much experience with vim or nvim motions. Thanks a lot for this course!
i'm also pumped for this modular option, LSP let's go!
Thanks for tutorial! Dracula theme looks great
Dang I thought you were a psychopath when you opened the file explorer on the right side. Thank God you fixed that immediately. 🙏
Awe some just awesome , I am so happy now I can die happy but i still have more to witness
As a straight male is it weird that I find your voice is soothing and relaxing? Anyone else? 😄
😂
Guilty I am...
are we in the presence of THE BEST NEOVIM TUTORIAL of all times? Thanks so much dude!
Lol I dunno about that but thanks!
Yes we are ,colleges should show this as starter video in CS for 1st year graduates
Super pumped for next episode!!
Great tutorial! appreciate the work that you are doing!)
Awesome video! Look forward to the next one(s)! :)
Been waiting for this episode wince the first one
i've been using vim without knowing any of these keybinds. last video learned how to do macros thank to u
cant wait to see the next episode !!
These are great. I’ve been wanting to get back to vi for a long time and Neovim has made it very compelling. What could make these video even better is if I could see the key combinations you are typing as you are doing things. I can hear the keyboard (i.e. no mouse) and see things happening, but no idea what is happening. I used vile (vi-like-emacs) many years ago and was so keyboard oriented that I think the only program on my window manager was xterm. I would like to get back to that, or at least close.
Amazing series, thank you!
Glad you enjoy it!
Best video I have ever seen for neovim config. nice !!
Hell yeah thanks!!
Modern easy to follow neovim series? Subscribed.
Really appreciate this, dude
Very useful video, thanks nerd!❤
Excellent tutorial! Keep em coming!!!
Will do!
HEY !! AMAZING videos, I'm following you.
Small details: 1 - I'm a new mac user... Still don't know how to use "leader" or even what it is, and sometimes you go to fast...
2 - I directly downloaded your last branch (for ep 3) and put all the files manually in the .config/nvim folder to directly use everything , and worked fine, but I guess you should merge and put this in some another repo where we can download directly with git and keep it updated as you are revealing more content !!
3 - Keep this way, amazing channel !!
thanks typecraft - great video
Dude your episode 1 was great. Episode 2 is just awesome. You should try teaching. Newbie here!
yes, finally episode 2
this is awesome! much appreciated!
could you please cover setting up prettier/prettierd with/without mason until it works on save based on a .prettierrc within the project in a future video?
Pure gold you're the best
What a great video! Thanks!
Glad you liked it!
doing gods work
thanks typecraft
thumbs up for choosing dracula to go with catppuccin. nice touch. thank you.
apparently there is also catppucin colorscheme for lualine!!
Keep em videos coming !!!
I'm a beginner, and I have been enjoying your videos. Properly paced, pleasant to follow, easy to understand. The OTHER guy's 0 to LSP video made me wanna throw up :D
I was following along and editing my existing Kickstart setup, then I freaked my Mason settings and am back at ep 2 starting from scratch
Great video! One thing that might help neovim newbies (like myself) in the future would be to install some kind of key tracker like you see in Blender videos where every keystroke you type is shown on the screen. Some of your keystrokes fly by fast and furious and it would be great to know what you are typing. :smile: Thank you!
Damm it. Because of you I'm rebuilding my whole nvim configuration 😂
thanks! and sorry!
17:20 you can also use `opts` property here and omit the `config` property (so the default implementation will be used) instead of calling `require().setup` manually. It will be a bit shorter.
Insta pre-like before watching.
hell yeah thank you
Thanks so much for the effort and the time spent on this videos, this is great. Some things that are missing are related to the combinations of keys you type, sometimes you say what you type, but not always and this is really something I find difficult to find when trying to use Neovim ; what are the shortcuts to close/open the file explorer, how to select lines/cut lines/paste lines, how to split the screen, ... I've seen other UA-cams using a tool that automatically displays the keys they type, this is great on top of saying what you type whenever possible. I've tried to setup a config with Neovim for Rust but I couldn't get something useful as I have with IntelliJ for Scala or even VSCode. What was missing : 1) Neovim would not display a hint for the data type that a function returns, this is very important for languages like Scala and Rust where datatypes can become really complex 2) Neovim would not offer to automatically fill the data type in a let statement (IntelliJ is doing this with CMD+Enter I think) 3) How to rename a variable and have it automatically renamed everywhere it is used (this is mandatory too), is it possible with Neovim ? May be you could do one last video at some point just explaining only the shortcuts you use in the day of a software engineer ;-) Thanks again
I'll look into adding key capturing software in the next video, thanks!
Yeah, I thought those Stranger Thing kids used Neovim when they're hacking the research facility and Typecraft's intro music proved it!
Christmas came early 2023!
Great videos.. I just setup lualine but used globalstatus = true to not display lualine for each split window (e.g. neo-tree)
At 15:54 , looks like the vim-option lua file is not getting sourced. I had to add this file as “require” in init file.
By the way excellent series, thank you for great and detailed explanation!!
Thanks a lot!
Hello sir, I love your videos, These are great and beginner friendly. In further episode. Please cover nvim-dap for languages like ts,js,c++ and more, You know well. We'll appreciate it.
Great stuff. One area i want to look into further in neovim is note taking. I have played with org mode in emacs, but would prefer to keep in neovim if i can. Looking rhrough plugins now.
I will look into this for sure!
@@typecraft_dev nice. Apparently there's a few options, some try the org route, others try to do something a bit different. Telekasten, vim wiki, zk-nvim.
Going to be looking through a few, a lot of them are a bit newer.
Been watching part 1, now watching part 2 - thanks! great guide. One small question, when you say "let's auto-indent", what key shortcut are you using? And where can it be configured? I don't remember info about it from part 1, and I tried searching but I guess it's config dependent.
check out the video short "Reindenting - Vim Commands you NEED TO KNOW #9" from him. Just select the lines and press "="
9:50 I belive this is incorrect. Documentation for lazy says *default* implementation for `config` will run `require(MAIN).setup(opts)`. But you rewrote the default implementation with your own. So if you still want `require(MAIN).setup(opts)` to be run you have to type it manually.
Again, thanks for the video! Love this content!
That font is on point
jetbrains NF
great tutorial!!!
love the video!
I love you ;)
Great vid! What’s the reason for using vim.cmd for setting options instead of vim.opt?
Cool video, but have you considered throwing Spotlight away and upgrading to Alfred or Raycast?
great vid, how do you "quickly format" the current buffers contents, i didn't catch that ;D
Hi, there are minor differences between file You created at EP 1 and what is visible at the start EP 2. Also, it seems basic telescope configuration is not looking for dot files/directories. You might consider adding this at some point as EP1.5 ;)
yoo thanks man
One question I had: do you still need `lua/plugins.lua` after you've moved everything to the `lua/plugins/` directory ?
Lazy is an incredible package.
It really is
thanks!