Migrating from Packer.nvim to Lazy.nvim

  Рет қаралды 60,266

Elijah Manor

Elijah Manor

Күн бұрын

Пікірлер: 122
@ElijahManor
@ElijahManor Жыл бұрын
If you liked this video, please like and subscribe for further content. You can also join as a member of this channel for special perks youtube.com/@elijahmanor/join If you'd like to connect on social media, you can find me on Twitter twitter.com/elijahmanor and Mastodon hachyderm.io/@elijahmanor
@fernandotta
@fernandotta Жыл бұрын
Thanks! This saved me a bunch of time!
@ElijahManor
@ElijahManor Жыл бұрын
You're welcome and thank you so much for the awesome support! I have more content started and plenty more in the backlog. Have an awesome day!
@rlifts
@rlifts 10 ай бұрын
Thanks for the video, I've been under a rock using my huge config for many years lol. Good to know how far neovim has come.
@johanpalaciose
@johanpalaciose Жыл бұрын
Great video bro, i improved my startup time of 300ms to 36ms :D
@ElijahManor
@ElijahManor Жыл бұрын
Nice work! And wow, that is a great improvement!
@warrenhenning8064
@warrenhenning8064 Жыл бұрын
I hadn't heard of hyperfine before. Thanks for making this video!
@ElijahManor
@ElijahManor Жыл бұрын
It's a great tool. Glad you found that interesting
@vitormelo22
@vitormelo22 Жыл бұрын
Thank you very much for developing this plugin, before migrating to neovim I never had a problem with the Plug. But when using the packer it took me a long time to make it usable. With Lazy I configure in minutes without error. Thanks.
@ElijahManor
@ElijahManor Жыл бұрын
That is great to hear! Glad it has been a good experience. Thanks for watching and supporting the channel.
@drewad0
@drewad0 Жыл бұрын
Awesome, easy to digest breakdown. Thank you so much for this!
@Andrei_Calazans
@Andrei_Calazans Жыл бұрын
Elijah, your video is so good, loved this quick narrative style.
@ElijahManor
@ElijahManor Жыл бұрын
Thanks so much! I try to keep it snappy
@RichardONeil
@RichardONeil 2 жыл бұрын
I started using Lazy a couple of weeks ago and dropped my startup time by well over half. I like the way you are configuring the plugins here. I think I am going to rework mine again this way.
@ElijahManor
@ElijahManor 2 жыл бұрын
Thanks for watching! Yeah, I've really enjoyed it too since I've converted (both personal and work laptops)
@bagwaa9948
@bagwaa9948 Жыл бұрын
such a good video, got so much value from so many of your videos, even little things like hyperfine! thanks!!
@ElijahManor
@ElijahManor Жыл бұрын
Yay, glad you found value from it. And yes, hyperfine is pretty awesome. Handy when something like that is needed
@alexandersix_
@alexandersix_ 2 жыл бұрын
Wow, incredible video! Earned yourself a sub-Lazy looks incredible! I'm planning on rebuilding my Neovim configuration to slim it down a bit, and this seems like a great way to do just that!
@ElijahManor
@ElijahManor 2 жыл бұрын
Thanks for watching and the sub! If you are starting from scratch you might consider github.com/LazyVim/LazyVim which was VERY recently made and built upon lazy.nvim (created by the same person). It's very flexible like kickstart.nvim. I'll probably give it a try pretty soon and kick the tires.
@mainendra
@mainendra 2 жыл бұрын
Already switched to Lazy. It's awesome 👍
@ElijahManor
@ElijahManor 2 жыл бұрын
It really is! And it's an active project, so that is great too! So active, that one of the things I talked about is different already ha ha. You can't pass a table to config anymore, there is a new `opts` property instead
@LeviNotik
@LeviNotik 11 ай бұрын
Great video. Thank you for this. Finally migrated to lazy from packer.
@darknetworld
@darknetworld Жыл бұрын
Oh great features and good information to learn better way to sort packages.
@ElijahManor
@ElijahManor Жыл бұрын
Glad it was helpful! Thanks for watching and leaving a comment. Hope you have a great rest of the day
@saucedbenny
@saucedbenny 5 ай бұрын
great video but can we just get a round of applause for the vim skills? this guy's a wizard
@HuntedByAFreak72
@HuntedByAFreak72 Жыл бұрын
Thank you for introducing hyperfine in this video. I might migrate my neovim setup from packer to lazy some day.
@ElijahManor
@ElijahManor Жыл бұрын
Yeah, I've found it useful for other things. I've been enjoying lazy.nvim, hope you like it too. If you'd like to try something from scratch LazyVim is interesting as well that builds on top of lazy.nvim. I have a playlist that I'm building on it kzbin.info/www/bejne/hGqWlIeYqbF2f68
@kcinszokor
@kcinszokor Жыл бұрын
Great video-subscribed! I hope you continue with the Neovim videos.
@ElijahManor
@ElijahManor Жыл бұрын
Thanks for the sub! And yes, my next video will be Neovim related. Then I hope to have tmux parts 2 & 3 that will build upon my initial tmux intro kzbin.info/www/bejne/pV7JqJ6mhN5noJo
@SayfSentinel
@SayfSentinel 2 жыл бұрын
Nice serie. Love the content
@ElijahManor
@ElijahManor 2 жыл бұрын
Thank you so much! Thanks for watching
@AmirHosseinHonardust
@AmirHosseinHonardust Жыл бұрын
I started loving configuring my neovim again!
@ElijahManor
@ElijahManor Жыл бұрын
Oh yes, I agree. lazy.nvim is such a nice tool. I feel it simples a lot of concerns, is very fast out of the box, and provides a lot of niceties. Thanks for watching, much appreciated
@anasouardini
@anasouardini Жыл бұрын
I just gave it a try. and thank god I baked up my old setup. spent two hours trying to figure out why lazy can't find mason and lsp-saga
@ElijahManor
@ElijahManor Жыл бұрын
Oh wow, I'm so glad you were able to recover as well. What ended up being the problem , how did you fix it, and what operating system are you using?
@CZiNTrPT
@CZiNTrPT Жыл бұрын
Nice. Spent the weekend doing the same, should have watched this first 🤠
@ElijahManor
@ElijahManor Жыл бұрын
You are a go getter! I've been pleased with the results. Hope you enjoy it
@CZiNTrPT
@CZiNTrPT Жыл бұрын
@@ElijahManor ah there is always still more tinkering Todo. Also converting all .vim files takes a while. But it's needed `checkhealth which_key` simply crashes currently 😢😂
@ElijahManor
@ElijahManor Жыл бұрын
Ohh... you figure out why it crashes? I've not see that
@CZiNTrPT
@CZiNTrPT Жыл бұрын
@@ElijahManor no, I'm currently trying to slim down LazyVim by forking it, but it's tricky because it's hardcoded to go back to the LazyVim/LazyVim repo. I guess it's because I'm a) overriding a lot from LazyVim and b) have a lot of keymaps still in .vim files
@ElijahManor
@ElijahManor Жыл бұрын
@czintrpt5585 Instead of forking, you could disable a lot of what it does internally... like { "folke/trouble.nvim", enabled = false } I'll be showing an example of that in my upcoming video. hope you get yours worked out. yeah, trying to slowly migrate (some lazy, some .vim files) sound tricky. Here is a link to docs for disabling www.lazyvim.org/configuration/plugins#-disabling-plugins
@picklypt
@picklypt Жыл бұрын
This is such a great video. Thanks so much. AMAZING!
@ElijahManor
@ElijahManor Жыл бұрын
Glad you enjoyed it! I had fun putting it together. I'm thinking of doing a video on LazyVim, which is built upon lazy.nvim. I started using it last Friday and find it very compelling. It would be fun to kick the tires and show how to get started and explain some of what it provides and how to extend it
@SVENY
@SVENY Жыл бұрын
Wow, watching you maneuver nvim like it's your native language is an art. Also, Arc browser, nice! I'd use it more but it kills my battery quicker than any other application.
@ElijahManor
@ElijahManor Жыл бұрын
Thanks, I am much more aware of what I'm doing when I record :) And yes Arc is amazing. It does use a lot of memory for me (which may also be a battery killer). I know they actively try to address that so hopefully it'll get better over time
@IkraamDev
@IkraamDev Жыл бұрын
Wow, there's always a new and better way to organise your Neovim config.
@ElijahManor
@ElijahManor Жыл бұрын
Indeed! I'm starting on material for a new video to show yet another way ha ha ha. Stay tuned
@wata1991
@wata1991 Жыл бұрын
also the search / replace and macro stuff is something I don't leverage at all, would love to learn more about it!
@ElijahManor
@ElijahManor Жыл бұрын
Great recommendation! I could see those as great future videos. I can add them to the list, but I have a lot of ideas floating around so not sure when that would be. Thanks for watching and commenting!
@muchzill4
@muchzill4 Жыл бұрын
Thanks for making this. 👍
@ElijahManor
@ElijahManor Жыл бұрын
Thanks! Hope it was helpful to you!
@devonduty
@devonduty Жыл бұрын
Awesome video!
@ElijahManor
@ElijahManor Жыл бұрын
Thanks David! I love watching your videos. I've learned a lot from you. I appreciate your impact on the community.
@devonduty
@devonduty Жыл бұрын
@@ElijahManor thank you, that's very kind of you. Keep up the good work!
@bramble-east
@bramble-east Жыл бұрын
Great, thanks for sharing! Can you please explain how do you achieve the LSP stats in the bottom right?
@ElijahManor
@ElijahManor Жыл бұрын
I think you are referring to the plugin called fidget github.com/j-hui/fidget.nvim which is a standalone UI for nvim-lsp progress. It can be helpful to know what is going on from buffer to buffer. Also, thanks for watching!
@bramble-east
@bramble-east Жыл бұрын
@@ElijahManor that is it, thank you!
@michaelcarnevale5620
@michaelcarnevale5620 Жыл бұрын
rly useful video thanks!
@ElijahManor
@ElijahManor Жыл бұрын
Glad you liked it! Thanks for watching and the encouragement
@stoicfloor
@stoicfloor Жыл бұрын
This video is amazing! I just migrated to lazy.nvim in less than 30 min! Thank you!
@ElijahManor
@ElijahManor Жыл бұрын
Awesome, that is great to hear and exactly the point of the video. So cool! You are very welcome. Thanks for the watch and the comment
@boy_with_thorn
@boy_with_thorn Жыл бұрын
I am having a hard time changing all my lua config modules into a thing that returns a table. Some are very straightforward to do, others are not. 😢
@ElijahManor
@ElijahManor Жыл бұрын
Ah yes, the conversion may not be as straightforward as I showed in my example. However, I have very much enjoyed lazy.nvim Hope things work out for you!
@MaxwellsLab
@MaxwellsLab Жыл бұрын
You should mentioned there are other keywords used by packer that lazy replaced. For instance I has to replace "as" with "name" to fix catppuccin.
@ElijahManor
@ElijahManor Жыл бұрын
True, I didn't list all the differences between packer and lazy.nvim and I can see value in expanding that area a bit more. I was mostly focused on converting kickstart.nvim to lazy.nvim as an example of common things that may need to be changed. I did reference the migration guide github.com/folke/lazy.nvim#packernvaround the 3:32 mark in the video kzbin.info/www/bejne/l6LPqaSmfdhgl7M to hopefully let others know of other potential areas that may need changing as well. It was also a bit tricky because the project was still actively changing around when I recorded. Thank you for watching and I appreciate the comment.
@ogge88
@ogge88 2 жыл бұрын
Great video, thank you! You got a new subscriber
@ElijahManor
@ElijahManor 2 жыл бұрын
Awesome, thank you! Appreciate you watching and subscribing!
@micmine
@micmine Жыл бұрын
I have just migrated 3 Days ago. So far i am very happy.
@ElijahManor
@ElijahManor Жыл бұрын
Oh that is great! I've really enjoyed it since I migrated. Glad you are liking it too!
@Qazi-it9mo
@Qazi-it9mo 6 ай бұрын
How do we know which keys to use for all the plugins?
@kevinsoewondo
@kevinsoewondo Жыл бұрын
Thank you so much!!
@mindfulnessrock
@mindfulnessrock Жыл бұрын
I used to have a modular configuration i.e., I can have packer required up at the top, and use a function of it to load a plugin at whichever place later on. I guess it'd become quite limiting reverting to have it all within a single table.
@ElijahManor
@ElijahManor Жыл бұрын
Depending on your setup it could be quite the refactor, but I have come to enjoy the new setup. Hope you are doing well and enjoying your weekend
@mindfulnessrock
@mindfulnessrock Жыл бұрын
Thanks! Hope you had a great one too. It's considerably way faster now. I've heard you saying that packer does offer lazy loading too, and I was thinking of giving it a try, but unfortunately my branch got merged somehow, and I'm not reverting back to previous commits :)
@lilalomoslama
@lilalomoslama Жыл бұрын
great video! ❤
@ElijahManor
@ElijahManor Жыл бұрын
Thank you!! Glad you liked it! I have another one that should be come out in the next few days. Editing is taking a bit longer than I had expected.
@lilalomoslama
@lilalomoslama Жыл бұрын
looking forward to it!
@alonso0188
@alonso0188 Жыл бұрын
Thank you manito.
@SayfSentinel
@SayfSentinel Жыл бұрын
Could you please make an in-dept tutorial on how to debug javascript/typescript using nvim-dap or any debugging plugins ?
@ElijahManor
@ElijahManor Жыл бұрын
Great question! I tend to do mostly front-end web dev and when I debug it is usually in the browser (using `debugger`, break points, or `console.log`). Do you focus on front-end or back-end TypeScript/JavaScript?
@colydeane
@colydeane Жыл бұрын
great video. i've switched to lazy.nvim. was using kickstart before but it was always just that, a gateway to a better config and for me lazy ticks all the right boxes for my use case.
@ElijahManor
@ElijahManor Жыл бұрын
Yes, I started with a custom config for a year or so, then shifted to kickstart.nvim for a couple months as well... but now using lazy.nvim (from packer) and that is amazing! Also JUST recently started using LazyVim (which is based on lazy.nvim) made by the same author of lazy.nvim. I'm working on a video of that showing install, many features, and how to extend.
@ebiscaia
@ebiscaia Жыл бұрын
Hi mate, Is there a place you could indicate to learn regex? I really liked that substitution you made. Cheers
@ElijahManor
@ElijahManor Жыл бұрын
Hmm... I don't know of any great resources. I should add this to my list of future videos. You could look here learnbyexample.gitbooks.io/vim-reference/content/Regular_Expressions.html but it might be a little overwhelming.
@ebiscaia
@ebiscaia Жыл бұрын
@@ElijahManor Thanks, mate. Just having a look at it.
@ajyn17
@ajyn17 Жыл бұрын
Could you do a tutorial of the vim key bindings you did for all the search and replace actions
@ElijahManor
@ElijahManor Жыл бұрын
I do have in my list a video to cover searching and replacing techniques across multiple files. Are you referring to that or also the in page search/replace? I could see maybe a multi-part series covering different topics slower than what I was showing in that video. The point of this one, was more about how to convert and less exactly how I did it (the keystrokes). Thanks for the recommendation and the watch!
@iEatSponge
@iEatSponge Жыл бұрын
@@ElijahManor I assume he means the in-selection search and replace like at 2:43. I have no clue how to do that! Great video.
@ElijahManor
@ElijahManor Жыл бұрын
Ahh for that I did `vi{` to visually select the inner content between the curly braces. Then you press `:` to enter command mode. If you have a visual selection (which we just did) it'll prepend it with '
@windowsrefund
@windowsrefund Жыл бұрын
@@ElijahManor The 'o' used to jump from between top and bottom has wrecked my mind.
@ElijahManor
@ElijahManor Жыл бұрын
@@windowsrefund yeah, that is really handy when you have a visual selection
@abdellahcodes
@abdellahcodes Жыл бұрын
My config had collected dust and my nvim became bloated and unusable Gave it a tweak today Blazing fast startup time 🔥
@ogge88
@ogge88 2 жыл бұрын
A question; i have migrated from packer to lazy now but I have discovered that i sometimes get annoying errors when other packages tries to request packages that aren't loaded yet. One example could be settings for bufferline/barbar if nvim-tree/neotree is open and I lazy load the file explorer. What do you think is the best way to handle that? Is a if statement in the config a reasonable solution, like; if not package.loaded[package] == "nill" then: whatever Or is it s more elegant solution?
@ElijahManor
@ElijahManor Жыл бұрын
Hmm, I've not experienced that. The ones that are lazy are also supposed to load when/if the point other code requires them (in addition to whatever commands, keys, etc you setup). Also, I wonder if that was a bug that was recently squashed? github.com/folke/lazy.nvim/blob/main/CHANGELOG.md
@ogge88
@ogge88 Жыл бұрын
@@ElijahManor It very well could have been that bug because now i don´t get an error anymore and nvim-tree gets loaded, but i´m happy i got that bug because i don´t want my file tree to load at the same time as my bufferline and i´m pretty satisfied with my solution and it should apply to more cases. In short, put it in a function and return it. When you need it, call the function. In user/barbar.lua i added: local M = {} -- Offset for filetree function M.nvimtree() if package.loaded["nvim-tree"] then local nvim_tree_events = require('nvim-tree.events') local bufferline_api = require('bufferline.api') local function get_tree_size() return require'nvim-tree.view'.View.width end nvim_tree_events.subscribe('TreeOpen', function() bufferline_api.set_offset(get_tree_size()) end) nvim_tree_events.subscribe('Resize', function() bufferline_api.set_offset(get_tree_size()) end) nvim_tree_events.subscribe('TreeClose', function() bufferline_api.set_offset(0) end) end end return M And then when i actually load nvim-tree i call that function. local barbar_ok, barbar = pcall(require, "user.barbar") if not barbar_ok then print(barbar) else barbar.nvimtree() end
@wata1991
@wata1991 Жыл бұрын
is there anywhere to see your current neovim config?
@ElijahManor
@ElijahManor Жыл бұрын
Great question, I'm in process of switching a lot of things around so my published config is really out of date. For the last couple months I was using github.com/nvim-lua/kickstart.nvim as my starting point (with tweaked to extend it). I outlined what that could look like in this video kzbin.info/www/bejne/np-3iX19op2JeKM however as of super recent I'm playing with LazyVim (which is a project built on top of lazy.nvm). I'm planning on making a video on this setup, how to use it, how to extend it, etc... I'm very excited about it. Here is the repo in the meantime github.com/LazyVim/LazyVim
@MikeMcBride1007
@MikeMcBride1007 Жыл бұрын
Did you just use apt-get on macOS? How?? I thought it wasn’t compatible since macOS is based on BSD… or are you running this inside a container?
@ElijahManor
@ElijahManor Жыл бұрын
Great question! Recently I've been recording my videos using a docker container running linux (specifically debian). I wanted to switch away from running directly on my mac so I could have a cleaner starting point so that I could better teach (and cover) steps that others would encounter. Earlier in my videos I was recording straight from my mac.
@MikeMcBride1007
@MikeMcBride1007 Жыл бұрын
Thanks! Makes sense :) loving the content by the way! Keep up the great work!
@ElijahManor
@ElijahManor Жыл бұрын
Thank you so much. I've have a fun time making them. Glad some find them helpful
@Redyf
@Redyf 2 жыл бұрын
Btw what terminal font is that? Great video!
@ElijahManor
@ElijahManor 2 жыл бұрын
Thanks! And I use a Nerd Font patch of JetBrainsMono
@mrlectus
@mrlectus 2 жыл бұрын
@@ElijahManor And what is the terminal color scheme? not neovim, the terminal?
@joshuatye1027
@joshuatye1027 Жыл бұрын
@@ElijahManor The best font!
@ElijahManor
@ElijahManor Жыл бұрын
@@mrlectus I've been using the Catppuccin Kitty Macchiato theme for Kitty github.com/catppuccin/kitty/blob/main/macchiato.conf
@agustinfaure8824
@agustinfaure8824 Жыл бұрын
What's the name of the browser you're using?
@ElijahManor
@ElijahManor Жыл бұрын
The browser is called Arc arc.net/ and it has been my primary web browser for several months. It's current in invite mode only, but II regularly share 5 invites on Fridays on my Twitter and Mastodon accounts. You can learn more about the browser from Chris Coyier's post chriscoyier.net/2022/12/08/whats-good-about-the-arc-browser/ You can also try to search for "hey, here’s an invite to Arc, the browser I was telling you about!" on social media because that is the default language used when sharing invites
@megasuperlexa2
@megasuperlexa2 Жыл бұрын
watching at .25 speed, still do not get some movements 😂
@ElijahManor
@ElijahManor Жыл бұрын
I've written my own screenkey type equivalent for macOS that is better than what I used in that video. Sorry it was hard to follow. I didn't like it either, which is why I wrote a custom program to help future videos.
@EuCaue1
@EuCaue1 2 жыл бұрын
Nice video!! :) But for some reason, my nvim-cmp doesn't work at all. :(
@ElijahManor
@ElijahManor 2 жыл бұрын
Thanks! Hmm, at what point did it stop working? The version I started from github.com/nvim-lua/kickstart.nvim still works after the conversion. I'd imagine each conversion would have it's own idiosyncrasies based on how their were initially setup. I've seen very different packer setups across repos
@ElijahManor
@ElijahManor 2 жыл бұрын
I think I see your problem. Here is a gist of what might fix it gist.github.com/elijahmanor/e476a59fadef3f7f152319d13558280f
@TM-jb1ig
@TM-jb1ig 17 күн бұрын
This was too hard for a noob.
@amit12000
@amit12000 Жыл бұрын
great video how use lazy.nvim in very simple way
@ElijahManor
@ElijahManor Жыл бұрын
Glad it was helpful! Thanks for the sub too
@stoicfloor
@stoicfloor Жыл бұрын
awesome video! could we have your dotfiles though? thank you!
@ElijahManor
@ElijahManor Жыл бұрын
Unfortunately my docker image that had the ending point of this video was deleted, so I don't have that handy to push. However, you can look at this older version github.com/elijahmanor/dotfiles/tree/lazy/nvim/.config/nvim I'm working on a new setup (since this video) and I'll be making a new video to describe it. I'll make sure to push the final product of the new video somewhere and link it in the description. Thanks for the suggestion!
@rmschindler144
@rmschindler144 Жыл бұрын
I’m very light on plugins, so lazy-loading wasn’t that great a selling point. nevertheless, I tried Lazy.nvim. at length I moved to the much, much simpler (in terms of features) Paq, and I’m very happy I did. for me, Lazy.nvim had too many features to figure out. in case someone else values simplicity, I wanted to put Paq on your radar.
@Tony_Sol
@Tony_Sol Жыл бұрын
Well, after dumb-doing all this migrations, at first, startup time of my setup increases and nvim launched with full screen of errors, BUT! After i made all these steps thinking about WHAT i actually do and why, it became just right I've got boost from "1.008 s ± 0.192 s" with packer to "753.4 ms ± 45.4 ms" with lazy.nvim - still too much, but -25% is -25% So excited to play with lazy.nvim configs, hope will make it faster
@ElijahManor
@ElijahManor Жыл бұрын
Oh good, glad it's a bit better! It's a good opportunity to look at what plugins you really need and what you actually use. Also good to look at what plugins could be lazy loaded until the last moment either by a keymapping or a command.
Zero to IDE with LazyVim
16:59
Elijah Manor
Рет қаралды 402 М.
Automatically Execute *Anything* in Nvim
11:03
TJ DeVries
Рет қаралды 77 М.
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН
Леон киллер и Оля Полякова 😹
00:42
Канал Смеха
Рет қаралды 4,7 МЛН
Правильный подход к детям
00:18
Beatrise
Рет қаралды 11 МЛН
30 Vim commands you NEED TO KNOW (in just 10 minutes)
10:27
typecraft
Рет қаралды 136 М.
LazyVim: Linting and Formatting
9:26
Elijah Manor
Рет қаралды 51 М.
Neovim настройка | Плагины | LazyVim
29:45
MrTeamlead
Рет қаралды 4,1 М.
lazy.nvim explained
14:17
TJ DeVries
Рет қаралды 26 М.
Why Neovim nerds are so obsessed with the terminal
6:44
Joshua Morony
Рет қаралды 103 М.
Vim Motions & Tricks I Wish I Learned Sooner
9:25
Henry Misc
Рет қаралды 52 М.
Migrate from Packer to lazy.nvim
10:30
Andrew Courter
Рет қаралды 4,9 М.
Developing a Neovim Docker Plugin from Scratch
23:16
Developer Voices
Рет қаралды 16 М.
Neovim: Replacing Telescope with FZF-LUA
6:56
Ben Frain
Рет қаралды 12 М.
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН