← Back
Mischa Vandenburg March 3, 2024 59m

FULL NEOVIM Configuration Walkthrough As A DevOps Engineer On MacOS

Read full transcript 40 segments
  1. hello good people of YouTube before I hello good people of YouTube before I start with the video I just wanted to start with the video I just wanted to start with the video I just wanted to share that I started up a school share that I started up a school share that I started up a school community and school is unique because community and school is unique because community and school is unique because it provides me with a place where I can it provides me with a place where I can it provides me with a place where I can publish my video courses that I'm publish my video courses that I'm publish my video courses that I'm working on but also that I can build a working on but also that I can build a working on but also that I can build a community around that learning so I'm community around that learning so I'm community around that learning so I'm I'm gathering a group of people who are I'm gathering a group of people who are I'm gathering a group of people who are devoted to becoming better engineers and devoted to becoming better engineers and devoted to becoming better engineers and this is basically a place where you can this is basically a place where you can this is basically a place where you can ask questions and get answers to them I ask questions and get answers to them I ask questions and get answers to them I really wish this existed when I got really wish this existed when I got really wish this existed when I got started because when you get stuck started because when you get stuck started because when you get stuck sometimes you just need someone to point sometimes you just need someone to point sometimes you just need someone to point you in the right direction so check out you in the right direction so check out you in the right direction so check out the link below and I hope to see you the link below and I hope to see you the link below and I hope to see you there so this neovim walkthrough is there so this neovim walkthrough is there so this neovim walkthrough is actually part of a full walkthrough that actually part of a full walkthrough that actually part of a full walkthrough that I did of my entire dot files repo and I did of my entire dot files repo and I did of my entire dot files repo and that is on my school Community let's that is on my school Community let's that is on my school Community let's go well up next we have neovim this is go well up next we have neovim this is go well up next we have neovim this is going to be a fun section and before I going to be a fun section and before I going to be a fun section and before I start going into the configuration I start going into the configuration I start going into the configuration I just wanted to say a few words on how just wanted to say a few words on how just wanted to say a few words on how why I chose lazy vim and just quickly why I chose lazy vim and just quickly why I chose lazy vim and just quickly describe how I ended up on that uh what describe how I ended up on that uh what describe how I ended up on that uh what my journey was there so when learning my journey was there so when learning my journey was there so when learning Vim I I highly recommend not starting Vim I I highly recommend not starting Vim I I highly recommend not starting with neovim actually I recommend with neovim actually I recommend with neovim actually I recommend starting with Vim or even VI and just go starting with Vim or even VI and just go starting with Vim or even VI and just go to the go the old school way and learn to the go the old school way and learn to the go the old school way and learn how to configure Vim first before moving how to configure Vim first before moving how to configure Vim first before moving on to on to on to neovim because neovim has a lot of more neovim because neovim has a lot of more neovim because neovim has a lot of more added features and complexity but it

  2. added features and complexity but it added features and complexity but it also I I think there is a risk that you also I I think there is a risk that you also I I think there is a risk that you will um miss out on a lot of the inner will um miss out on a lot of the inner will um miss out on a lot of the inner workings of vim and and and the workings of vim and and and the workings of vim and and and the philosophy behind it if you dive philosophy behind it if you dive philosophy behind it if you dive straight into straight into straight into neovim that being said I I did start neovim that being said I I did start neovim that being said I I did start with vim and I started from the bottom with vim and I started from the bottom with vim and I started from the bottom up with an empty config and I just built up with an empty config and I just built up with an empty config and I just built it up from the bottom up I didn't uh I it up from the bottom up I didn't uh I it up from the bottom up I didn't uh I took a few examples here and there but I took a few examples here and there but I took a few examples here and there but I really wanted to do it myself by reading really wanted to do it myself by reading really wanted to do it myself by reading the manuals and um I just um slowly the manuals and um I just um slowly the manuals and um I just um slowly buildt up it the config from based on buildt up it the config from based on buildt up it the config from based on the functionality that I needed at the the functionality that I needed at the the functionality that I needed at the time I was learning yaml so I was just time I was learning yaml so I was just time I was learning yaml so I was just editing yaml files and I was just step editing yaml files and I was just step editing yaml files and I was just step by step adjusting the indentation and by step adjusting the indentation and by step adjusting the indentation and then I wanted to have some colors and then I wanted to have some colors and then I wanted to have some colors and then I wanted to have etc etc so I just then I wanted to have etc etc so I just then I wanted to have etc etc so I just slowly build that up slowly build that up slowly build that up slowly then I moved on to Neo him after about maybe eight months of using Vim about maybe eight months of using Vim six to eight months and then I did the six to eight months and then I did the six to eight months and then I did the same thing I just configured it myself same thing I just configured it myself same thing I just configured it myself and at that point in my journey I was um and at that point in my journey I was um and at that point in my journey I was um um I was spending a lot of time um I was spending a lot of time um I was spending a lot of time configuring Neo himim and I had a lot of configuring Neo himim and I had a lot of configuring Neo himim and I had a lot of time in the weekends where I could do time in the weekends where I could do time in the weekends where I could do that and it was a great learning that and it was a great learning that and it was a great learning experience but I was also running into experience but I was also running into experience but I was also running into TR troubles with the LSP so LSP is the

  3. TR troubles with the LSP so LSP is the TR troubles with the LSP so LSP is the language server that is in in neovim so language server that is in in neovim so language server that is in in neovim so if I open a let's say if I go to my lab if I open a let's say if I go to my lab if I open a let's say if I go to my lab repo and if I just open a I don't know repo and if I just open a I don't know repo and if I just open a I don't know just a random yaml file then there is a just a random yaml file then there is a just a random yaml file then there is a language server in here and if I start language server in here and if I start language server in here and if I start to run right here then you will see it to run right here then you will see it to run right here then you will see it is going to show me all sorts of is going to show me all sorts of is going to show me all sorts of examples and if I do LSP info and you examples and if I do LSP info and you examples and if I do LSP info and you see that I have a language server here see that I have a language server here see that I have a language server here the detective file type is yaml and the the detective file type is yaml and the the detective file type is yaml and the client that's attached to here is yaml client that's attached to here is yaml client that's attached to here is yaml LS yaml language LS yaml language LS yaml language server and to get all of that to work server and to get all of that to work server and to get all of that to work properly that has actually been quite a properly that has actually been quite a properly that has actually been quite a struggle that was not easy to do struggle that was not easy to do struggle that was not easy to do uh when I was building it uh when I was building it uh when I was building it myself and this at this time Astro vim myself and this at this time Astro vim myself and this at this time Astro vim and uh Vim Chad or Chad Vim I don't know and uh Vim Chad or Chad Vim I don't know and uh Vim Chad or Chad Vim I don't know what the name is those things were what the name is those things were what the name is those things were starting to come around but I was like starting to come around but I was like starting to come around but I was like no no I want to do it all myself and I no no I want to do it all myself and I no no I want to do it all myself and I was following TJ the freeze on on was following TJ the freeze on on was following TJ the freeze on on YouTube and then at some point he YouTube and then at some point he YouTube and then at some point he announced that he created announced that he created announced that he created Kickstart Kickstart Kickstart envm and this is a a repo that will just envm and this is a a repo that will just envm and this is a a repo that will just get you up and running with uh with k get you up and running with uh with k get you up and running with uh with k with neovim very quickly and it

  4. with neovim very quickly and it with neovim very quickly and it basically is just a Bas a basic basically is just a Bas a basic basically is just a Bas a basic configured neovim setup with language configured neovim setup with language configured neovim setup with language servers and those worked it it really servers and those worked it it really servers and those worked it it really worked well out of the box and yeah some worked well out of the box and yeah some worked well out of the box and yeah some problems I was having with my old Neo problems I was having with my old Neo problems I was having with my old Neo him like sometimes it would break and I him like sometimes it would break and I him like sometimes it would break and I would have I would be working on on would have I would be working on on would have I would be working on on something it would break and then I something it would break and then I something it would break and then I would have to I couldn't spend that time would have to I couldn't spend that time would have to I couldn't spend that time at work to fix my editor so I had to add at work to fix my editor so I had to add at work to fix my editor so I had to add it in uh visual code Visual Studio code it in uh visual code Visual Studio code it in uh visual code Visual Studio code for the rest of the day which is was a for the rest of the day which is was a for the rest of the day which is was a very painful experience very painful experience very painful experience so my own St Creations were not working so my own St Creations were not working so my own St Creations were not working out as well as I hoped they out as well as I hoped they out as well as I hoped they would and I then I started using would and I then I started using would and I then I started using Kickstart for a while but then I have a Kickstart for a while but then I have a Kickstart for a while but then I have a friend he is a very senior rather e friend he is a very senior rather e friend he is a very senior rather e eccentric uh software engineer but he eccentric uh software engineer but he eccentric uh software engineer but he has a a Vim configuration of about 2,000 has a a Vim configuration of about 2,000 has a a Vim configuration of about 2,000 lines and he spends hours and hours and lines and he spends hours and hours and lines and he spends hours and hours and days on on refining it to the top level days on on refining it to the top level days on on refining it to the top level he's he's he's amazing and one day he was getting very amazing and one day he was getting very amazing and one day he was getting very excited about lazy excited about lazy excited about lazy vim and lazy is a package manager for vim and lazy is a package manager for vim and lazy is a package manager for neovim but the neovim but the neovim but the the person who created lazy the package the person who created lazy the package the person who created lazy the package manager then also went on to create a manager then also went on to create a manager then also went on to create a neovim

  5. neovim neovim distribution and I I really liked the distribution and I I really liked the distribution and I I really liked the name lazy Vim so I I thought that was a name lazy Vim so I I thought that was a name lazy Vim so I I thought that was a really great uh way to do it and I tried really great uh way to do it and I tried really great uh way to do it and I tried it out and I was so impressed with what it out and I was so impressed with what it out and I was so impressed with what it looked like out of the box how easy it looked like out of the box how easy it looked like out of the box how easy it was to set up and I can tell you I've it was to set up and I can tell you I've it was to set up and I can tell you I've been using lazy him for well over a year one and a half for well over a year one and a half years maybe all close to years maybe all close to years maybe all close to two and yeah at least one and a half two and yeah at least one and a half two and yeah at least one and a half years and it has never broken on me it years and it has never broken on me it years and it has never broken on me it has never broken on me it still works has never broken on me it still works has never broken on me it still works really well it is super easy to update really well it is super easy to update really well it is super easy to update and yeah let me just I haven't updated and yeah let me just I haven't updated and yeah let me just I haven't updated it for a little while so let's just show it for a little while so let's just show it for a little while so let's just show you that I'm in lazy fim I press L and you that I'm in lazy fim I press L and you that I'm in lazy fim I press L and here you see all of the changes that are here you see all of the changes that are here you see all of the changes that are here and then if I press update and it's here and then if I press update and it's here and then if I press update and it's just going to download all of the just going to download all of the just going to download all of the updates and it is going to reload the updates and it is going to reload the updates and it is going to reload the config sometimes it throws a couple of config sometimes it throws a couple of config sometimes it throws a couple of errors and you have to restart it again errors and you have to restart it again errors and you have to restart it again but it has always updated all of my but it has always updated all of my but it has always updated all of my plugins plugins plugins automatically and I've never had any automatically and I've never had any automatically and I've never had any real breaking changes so I am very real breaking changes so I am very real breaking changes so I am very impressed with lazy Vim I'm super happy impressed with lazy Vim I'm super happy impressed with lazy Vim I'm super happy with it and yeah it's basically because with it and yeah it's basically because with it and yeah it's basically because I started using it and I I started using it and I I started using it and I didn't um feel the need to try anything

  6. didn't um feel the need to try anything didn't um feel the need to try anything else it has never broken on me and it is else it has never broken on me and it is else it has never broken on me and it is just a great way to work so that's very just a great way to work so that's very just a great way to work so that's very shortly how I suggest you learn Bim the shortly how I suggest you learn Bim the shortly how I suggest you learn Bim the trajectory and the how I end it up on trajectory and the how I end it up on trajectory and the how I end it up on lazy vim and now let's get into the lazy vim and now let's get into the lazy vim and now let's get into the config so I'm in my DOT file repo I'm config so I'm in my DOT file repo I'm config so I'm in my DOT file repo I'm going to open lazy going to open lazy going to open lazy vim and let's see why is that red now vim and let's see why is that red now vim and let's see why is that red now well doesn't matter I go into my lazy well doesn't matter I go into my lazy well doesn't matter I go into my lazy fim directory and in my directory there fim directory and in my directory there fim directory and in my directory there are a few files so the way lazy fim are a few files so the way lazy fim are a few files so the way lazy fim works is when you set it up you have works is when you set it up you have works is when you set it up you have to to to um let's see you can find a starter um let's see you can find a starter um let's see you can find a starter template here so you just create a template here so you just create a template here so you just create a template this is this is exactly what I template this is this is exactly what I template this is this is exactly what I did I copied this did I copied this did I copied this template and this contains a few Lua template and this contains a few Lua template and this contains a few Lua files with a few configuration files in files with a few configuration files in files with a few configuration files in it already and this is what you use as it already and this is what you use as it already and this is what you use as your starting point so you just copy your starting point so you just copy your starting point so you just copy this whole this whole this whole directory you can read the documentation directory you can read the documentation directory you can read the documentation how to do this you create a a new how to do this you create a a new how to do this you create a a new directory and then you clone this into directory and then you clone this into directory and then you clone this into the envm directory and then you are good the envm directory and then you are good the envm directory and then you are good to go so it is very very easy to get

  7. to go so it is very very easy to get to go so it is very very easy to get going with this and then so then you going with this and then so then you going with this and then so then you have this Lua directory that you copied have this Lua directory that you copied have this Lua directory that you copied and from here you can start you can start configuring it so start you can start configuring it so these are all the configuration files these are all the configuration files these are all the configuration files for for for neovim and that's how the the initial neovim and that's how the the initial neovim and that's how the the initial config ended up here and then what lazy config ended up here and then what lazy config ended up here and then what lazy does it it loads in all of the stuff does it it loads in all of the stuff does it it loads in all of the stuff that you want so here we have lazy. Lua that you want so here we have lazy. Lua that you want so here we have lazy. Lua and this looks like a lot of code but and this looks like a lot of code but and this looks like a lot of code but this is all this was mostly all of the this is all this was mostly all of the this is all this was mostly all of the standard code that came with it so just standard code that came with it so just standard code that came with it so just to show you if I go in here to show you if I go in here to show you if I go in here Lua and then Lua and then Lua and then config lazy. Lua here you see that config lazy. Lua here you see that config lazy. Lua here you see that everything in here is um already here so everything in here is um already here so everything in here is um already here so I didn't write any of this this was all I didn't write any of this this was all I didn't write any of this this was all just standard config and I think I did just standard config and I think I did just standard config and I think I did not not not um let's see did I do any conf um let's see did I do any conf um let's see did I do any conf configuration configuration configuration here I might have disabled a couple of here I might have disabled a couple of here I might have disabled a couple of plugins now these are all standard so plugins now these are all standard so plugins now these are all standard so basically this file has not been basically this file has not been basically this file has not been uh adjusted at all it is just the uh adjusted at all it is just the uh adjusted at all it is just the standard way of getting lazy Vim up and standard way of getting lazy Vim up and standard way of getting lazy Vim up and running on your system so that was the running on your system so that was the running on your system so that was the lazy.

  8. lazy. lazy. Lua next in the config directory let's Lua next in the config directory let's Lua next in the config directory let's close this for now I have the autoc close this for now I have the autoc close this for now I have the autoc commands. commands. commands. Lua and autoc commands these are things Lua and autoc commands these are things Lua and autoc commands these are things that that will load and you can you can that that will load and you can you can that that will load and you can you can do several triggers for this do several triggers for this do several triggers for this so these are a few triggers I I have so these are a few triggers I I have so these are a few triggers I I have basically only have a few of them that basically only have a few of them that basically only have a few of them that are based on the file type so when these are based on the file type so when these are based on the file type so when these are meant for when I start a certain are meant for when I start a certain are meant for when I start a certain file I want certain commands to be ran I file I want certain commands to be ran I file I want certain commands to be ran I want certain things to happen when I want certain things to happen when I want certain things to happen when I open markdown files for example that's open markdown files for example that's open markdown files for example that's the the main use case that I have here the the main use case that I have here the the main use case that I have here but you can go so deep with these Auto but you can go so deep with these Auto but you can go so deep with these Auto commands you can you can run like huge commands you can you can run like huge commands you can you can run like huge Lua scripts and you can you can set Lua scripts and you can you can set Lua scripts and you can you can set documents up for yourself it is really documents up for yourself it is really documents up for yourself it is really powerful I haven't I didn't even dive powerful I haven't I didn't even dive powerful I haven't I didn't even dive into it that far yet but it's basically into it that far yet but it's basically into it that far yet but it's basically a way to run Lua code every time you a way to run Lua code every time you a way to run Lua code every time you open a certain file or you open a new open a certain file or you open a new open a certain file or you open a new buffer or you do something that um that buffer or you do something that um that buffer or you do something that um that you want to have you want to have you want to have triggered so this autoc command it's I I triggered so this autoc command it's I I triggered so this autoc command it's I I tend to write notes when I write some tend to write notes when I write some tend to write notes when I write some code so here it says this disable code so here it says this disable code so here it says this disable completion on markdown files by completion on markdown files by completion on markdown files by default so you call the Vim API to default so you call the Vim API to default so you call the Vim API to create an auto command based on file create an auto command based on file create an auto command based on file type and then the pattern the file type

  9. type and then the pattern the file type type and then the pattern the file type operator is going to match is git commit operator is going to match is git commit operator is going to match is git commit and and and markdown the call back function so the markdown the call back function so the markdown the call back function so the code that you want to run when it code that you want to run when it code that you want to run when it detects that certain file type is detects that certain file type is detects that certain file type is require CMP setup enabled false so to require CMP setup enabled false so to require CMP setup enabled false so to show you that when show you that when show you that when I uh open a when I open a yaml a when I open a yaml file uh here then if I start typing you file uh here then if I start typing you file uh here then if I start typing you see that it has Auto completion here see that it has Auto completion here see that it has Auto completion here right you see all these things that right you see all these things that right you see all these things that these suggestions and I can press them these suggestions and I can press them these suggestions and I can press them and then it will inject some code well and then it will inject some code well and then it will inject some code well that is that is all done by by that is that is all done by by that is that is all done by by CMP and when I'm writing markdown files CMP and when I'm writing markdown files CMP and when I'm writing markdown files so do I have yeah when I'm writing so do I have yeah when I'm writing so do I have yeah when I'm writing markdown files I don't want to have this markdown files I don't want to have this markdown files I don't want to have this coming up because I have a shortcut here coming up because I have a shortcut here coming up because I have a shortcut here and if I press S no sorry press capital and if I press S no sorry press capital and if I press S no sorry press capital P then wait was it P then wait was it P oh small P sorry you can see it down oh small P sorry you can see it down oh small P sorry you can see it down here in um which key if I press space p here in um which key if I press space p here in um which key if I press space p now completion is um enabled so if I now completion is um enabled so if I now completion is um enabled so if I start writing Ubuntu then it will make a

  10. start writing Ubuntu then it will make a start writing Ubuntu then it will make a suggestion and then hello and it will do suggestion and then hello and it will do suggestion and then hello and it will do based on the things that are already in based on the things that are already in based on the things that are already in a text it will start doing um a text it will start doing um a text it will start doing um suggestions but you can see if I start suggestions but you can see if I start suggestions but you can see if I start typing it go if I just want typing it go if I just want typing it go if I just want to to type something quickly you will to to type something quickly you will to to type something quickly you will see that it it it it starts comp doing see that it it it it starts comp doing see that it it it it starts comp doing all of these suggestions and that was all of these suggestions and that was all of these suggestions and that was really annoying to me if I just wanting really annoying to me if I just wanting really annoying to me if I just wanting if I want to focus and if I want to do if I want to focus and if I want to do if I want to focus and if I want to do some proper writing I don't want to have some proper writing I don't want to have some proper writing I don't want to have this little screen coming up all the this little screen coming up all the this little screen coming up all the time time time so I don't want to have this so I don't want to have this so I don't want to have this screen popping up all the time so I have screen popping up all the time so I have screen popping up all the time so I have a shortcut for this if I press space you a shortcut for this if I press space you a shortcut for this if I press space you will see the capital P says disable will see the capital P says disable will see the capital P says disable completion and now I don't have I don't completion and now I don't have I don't completion and now I don't have I don't have this anymore so that's not a have this anymore so that's not a have this anymore so that's not a problem anymore and yes I could every problem anymore and yes I could every problem anymore and yes I could every time I open a markdown file I could time I open a markdown file I could time I open a markdown file I could press space p but I think that was a bit press space p but I think that was a bit press space p but I think that was a bit too much work so so I created an autoc too much work so so I created an autoc too much work so so I created an autoc command for it the next one is a auto command where it the next one is a auto command where I wanted to disable stuff on a terraform I wanted to disable stuff on a terraform I wanted to disable stuff on a terraform fixtures file that didn't work out very fixtures file that didn't work out very fixtures file that didn't work out very well so I had to stop that and it's

  11. well so I had to stop that and it's well so I had to stop that and it's uncom it's commented out you as you can uncom it's commented out you as you can uncom it's commented out you as you can see but I yeah I figured I will come see but I yeah I figured I will come see but I yeah I figured I will come back to it later but um I found a back to it later but um I found a back to it later but um I found a different workaround for the time different workaround for the time different workaround for the time being here the next autoc command being here the next autoc command being here the next autoc command is um another file type command which is um another file type command which is um another file type command which matches git commit markdown and pandoc matches git commit markdown and pandoc matches git commit markdown and pandoc files and here I want to set the rep on files and here I want to set the rep on files and here I want to set the rep on true and I want to disable the spelling true and I want to disable the spelling true and I want to disable the spelling so neovim actually has pretty good or or so neovim actually has pretty good or or so neovim actually has pretty good or or Vim Vim has actually very good um spell Vim Vim has actually very good um spell Vim Vim has actually very good um spell checker but I don't want to have that on checker but I don't want to have that on checker but I don't want to have that on on on on theault and the next Auto command theault and the next Auto command theault and the next Auto command actually I could have added that to this actually I could have added that to this actually I could have added that to this one now that I see it here I'm actually one now that I see it here I'm actually one now that I see it here I'm actually just repeating myself so maybe I should just repeating myself so maybe I should just repeating myself so maybe I should just add that just add that just add that [Music] [Music] [Music] here oh wait look here is the difference here oh wait look here is the difference here oh wait look here is the difference this is why I had to have it in a an this is why I had to have it in a an this is why I had to have it in a an hour remember so here you see I am using hour remember so here you see I am using hour remember so here you see I am using a callback a callback a callback function and that has a few commands but function and that has a few commands but function and that has a few commands but here I have a command that says set no here I have a command that says set no here I have a command that says set no spell so instead of setting a variable spell so instead of setting a variable spell so instead of setting a variable in in the Vim options local I actually in in the Vim options local I actually in in the Vim options local I actually had to run the command set no spell so had to run the command set no spell so had to run the command set no spell so this is just a Vim command spell here or this is just a Vim command spell here or this is just a Vim command spell here or set set set spell now it will now it will actually

  12. spell now it will now it will actually spell now it will now it will actually start uh correcting spelling you see you start uh correcting spelling you see you start uh correcting spelling you see you see it is underlining these words over see it is underlining these words over see it is underlining these words over here that is the set spell here that is the set spell here that is the set spell so I had to do two different functions so I had to do two different functions so I had to do two different functions for this apparently this one and this for this apparently this one and this for this apparently this one and this one but all they do is disable any sort one but all they do is disable any sort one but all they do is disable any sort of form of spelling checking on markdown of form of spelling checking on markdown of form of spelling checking on markdown files git commit files and pandoc files the next um Auto commands are G files the next um Auto commands are G fmt and go import so when I'm writing go fmt and go import so when I'm writing go fmt and go import so when I'm writing go files I want to do go import when I uh files I want to do go import when I uh files I want to do go import when I uh when I change the modules so oh it has when I change the modules so oh it has when I change the modules so oh it has been a while since I've been writing go been a while since I've been writing go been a while since I've been writing go but let's see but let's see but let's see [Music] [Music] [Music] uh repost do I have my uh see my uh see [Music] [Music] [Music] go let's go let's go let's see projects well here this is a very simple projects well here this is a very simple example but here you see you have this example but here you see you have this example but here you see you have this fmt print line here and this needs to be fmt print line here and this needs to be fmt print line here and this needs to be imported but if I do something imported but if I do something imported but if I do something like sort yeah here see I'm adding a

  13. like sort yeah here see I'm adding a like sort yeah here see I'm adding a sort module and then find and then I can sort module and then find and then I can sort module and then find and then I can do K I don't know something but you saw do K I don't know something but you saw do K I don't know something but you saw that this is that this is that this is a uh package that needs to be imported a uh package that needs to be imported a uh package that needs to be imported and when I'm doing this if I'm if I save and when I'm doing this if I'm if I save and when I'm doing this if I'm if I save the file now it will actually import it the file now it will actually import it the file now it will actually import it so it fixes the Imports for me so it fixes the Imports for me so it fixes the Imports for me automatically as I am automatically as I am automatically as I am writing uh because the auto command is writing uh because the auto command is writing uh because the auto command is set it says here buff right pre so set it says here buff right pre so set it says here buff right pre so before writing to the buffer it is going before writing to the buffer it is going before writing to the buffer it is going to run this command go format and go to run this command go format and go to run this command go format and go import um this is also uh this also import um this is also uh this also import um this is also uh this also fixes the auto formatting so it fixes the auto formatting so it fixes the auto formatting so it automatically formats as I'm automatically formats as I'm automatically formats as I'm writing go code if I just I don't know writing go code if I just I don't know writing go code if I just I don't know sort sort sort find like this now when I write it you find like this now when I write it you find like this now when I write it you see it is see it is see it is um well I'm I'm writing some um well I'm I'm writing some um well I'm I'm writing some dysfunctional code here but you see that dysfunctional code here but you see that dysfunctional code here but you see that it's doing some formatting as I save it it's doing some formatting as I save it it's doing some formatting as I save it so that's what so that's what so that's what the what the this Auto command is the what the this Auto command is the what the this Auto command is doing and then the last Auto command doing and then the last Auto command doing and then the last Auto command is uh again it is a command that sort of is uh again it is a command that sort of is uh again it is a command that sort of forces the completion to be true because forces the completion to be true because forces the completion to be true because when I'm writing go code I want it to be when I'm writing go code I want it to be when I'm writing go code I want it to be always true and apparently sometimes

  14. always true and apparently sometimes always true and apparently sometimes when I had go files it sometimes would when I had go files it sometimes would when I had go files it sometimes would not start automatically so I had to not start automatically so I had to not start automatically so I had to create an auto command to facilitate create an auto command to facilitate create an auto command to facilitate this so that was the autoc commands file this so that was the autoc commands file this so that was the autoc commands file and lazy file up next we have key maps and lazy file up next we have key maps and lazy file up next we have key maps all right so let's go through the key all right so let's go through the key all right so let's go through the key maps that I've configured for my neovim maps that I've configured for my neovim maps that I've configured for my neovim setup so keymaps are a huge part of setup so keymaps are a huge part of setup so keymaps are a huge part of everyone's personal configuration and I everyone's personal configuration and I everyone's personal configuration and I found it quite inspiring sometimes to found it quite inspiring sometimes to found it quite inspiring sometimes to read other people's configuration but M read other people's configuration but M read other people's configuration but M basically the this all came about of by basically the this all came about of by basically the this all came about of by sort of small problems that I was having sort of small problems that I was having sort of small problems that I was having that I thought oh I'm doing this too that I thought oh I'm doing this too that I thought oh I'm doing this too many times I just want to uh have this many times I just want to uh have this many times I just want to uh have this fixed or I want to be able to do this fixed or I want to be able to do this fixed or I want to be able to do this quicker by just adding a few keys so the quicker by just adding a few keys so the quicker by just adding a few keys so the way I've set this up is with a function way I've set this up is with a function way I've set this up is with a function it's Vim keymap set and uh you the the way this works is and uh you the the way this works is that you can write wrapper functions for that you can write wrapper functions for that you can write wrapper functions for this but but I just do the the basic this but but I just do the the basic this but but I just do the the basic function so the Vim key map set first it function so the Vim key map set first it function so the Vim key map set first it takes an argument that's called n so takes an argument that's called n so takes an argument that's called n so that's just for normal mode and then it that's just for normal mode and then it that's just for normal mode and then it says takes the the key combination so says takes the the key combination so says takes the the key combination so leader P leader is the space key for me leader P leader is the space key for me leader P leader is the space key for me so leader is the key that you press so leader is the key that you press so leader is the key that you press before something and then if I press before something and then if I press before something and then if I press leader P then this command is being sent

  15. leader P then this command is being sent leader P then this command is being sent to to to him CMD Lua require CMP setup Ena true him CMD Lua require CMP setup Ena true him CMD Lua require CMP setup Ena true so now the completion is so now the completion is so now the completion is enabled that's what this key map enabled that's what this key map enabled that's what this key map function does and here's another one function does and here's another one function does and here's another one this one is set up on multi-line so we this one is set up on multi-line so we this one is set up on multi-line so we have the normal mode we have leader have the normal mode we have leader have the normal mode we have leader capital P and then when I press that it capital P and then when I press that it capital P and then when I press that it disables the CMP completion next we have insert the date completion next we have insert the date in my desired configuration so here I in my desired configuration so here I in my desired configuration so here I have a script that's called gen date so have a script that's called gen date so have a script that's called gen date so gen date here this is just a way to gen date here this is just a way to gen date here this is just a way to create um create a date that sometimes I create um create a date that sometimes I create um create a date that sometimes I need that and need that and need that and this command so if I press leader this command so if I press leader this command so if I press leader D it then runs that command like this D it then runs that command like this D it then runs that command like this because in Vim what you can do is you because in Vim what you can do is you because in Vim what you can do is you can if I do gen date like this then it can if I do gen date like this then it can if I do gen date like this then it will run the command in the shell and will run the command in the shell and will run the command in the shell and print the output to the buffer see there buffer see there so but if I do so but if I do so but if I do read exclamation mark gen date then it read exclamation mark gen date then it read exclamation mark gen date then it will read it and insert it into the will read it and insert it into the will read it and insert it into the buffer see so that's what I'm doing here buffer see so that's what I'm doing here buffer see so that's what I'm doing here so I have a script that's outside of so I have a script that's outside of so I have a script that's outside of neovim and that I'm calling by just neovim and that I'm calling by just neovim and that I'm calling by just running that in the shell and that is

  16. running that in the shell and that is running that in the shell and that is really really powerful I will get into really really powerful I will get into really really powerful I will get into this later but um I have that's how I've this later but um I have that's how I've this later but um I have that's how I've set it up with the key maps so every set it up with the key maps so every set it up with the key maps so every time I press leader D then gen date is time I press leader D then gen date is time I press leader D then gen date is being called and then the output of that being called and then the output of that being called and then the output of that is inserted into my Vim buffer so up next we have the one for buffer so up next we have the one for LSP and it just says leader S capital S LSP and it just says leader S capital S LSP and it just says leader S capital S so when I do that it just sends the LSP so when I do that it just sends the LSP so when I do that it just sends the LSP stop command and when you press LSP here stop command and when you press LSP here stop command and when you press LSP here and tab then you see you have a few um and tab then you see you have a few um and tab then you see you have a few um LSP commands at your disposal so if you LSP commands at your disposal so if you LSP commands at your disposal so if you do LSP info then it will show you which do LSP info then it will show you which do LSP info then it will show you which language servers are attached to the language servers are attached to the language servers are attached to the buffer and likewise you can stop the LSP buffer and likewise you can stop the LSP buffer and likewise you can stop the LSP server because sometimes when stuff is server because sometimes when stuff is server because sometimes when stuff is when it's not working properly or you're when it's not working properly or you're when it's not working properly or you're editing a file and it thinks that it's a editing a file and it thinks that it's a editing a file and it thinks that it's a different file you will get a lot of different file you will get a lot of different file you will get a lot of Errors so it's handy to have a way to Errors so it's handy to have a way to Errors so it's handy to have a way to quickly disable the LS B quickly disable the LS B quickly disable the LS B server this command is um it will server this command is um it will server this command is um it will surround the word with quotes so it will surround the word with quotes so it will surround the word with quotes so it will uh select in the word and then it will uh select in the word and then it will uh select in the word and then it will add this around it U it's a very useful add this around it U it's a very useful add this around it U it's a very useful thing sometimes when you want to thing sometimes when you want to thing sometimes when you want to surround something um let's see am I surround something um let's see am I surround something um let's see am I going to risk this well leader going to risk this well leader going to risk this well leader wsq yeah here we go see it surrounded wsq yeah here we go see it surrounded wsq yeah here we go see it surrounded the word with quotes that's how it uh the word with quotes that's how it uh the word with quotes that's how it uh what this command

  17. what this command what this command does here is a uh replace it replaces does here is a uh replace it replaces does here is a uh replace it replaces the backward slashes in a um file that I the backward slashes in a um file that I the backward slashes in a um file that I uh what I'm uh what I'm uh what I'm editing here I have telescope symbols so editing here I have telescope symbols so editing here I have telescope symbols so if I do leader FS then I have all of my if I do leader FS then I have all of my if I do leader FS then I have all of my Emojis ready here so grining phase or if Emojis ready here so grining phase or if Emojis ready here so grining phase or if I want to have a house then I do have a I want to have a house then I do have a I want to have a house then I do have a house in here and it inserts it so house in here and it inserts it so house in here and it inserts it so that's what this is for next we have um that's what this is for next we have um that's what this is for next we have um this is interesting interesting one uh this is interesting interesting one uh this is interesting interesting one uh current line to title case current line to title case current line to title case um let's see does that work uh I I um let's see does that work uh I I um let's see does that work uh I I somehow remember that this was broken somehow remember that this was broken somehow remember that this was broken but let's try it out leader but let's try it out leader but let's try it out leader rlt yeah this is broken but I did write rlt yeah this is broken but I did write rlt yeah this is broken but I did write a um script for that so if I do bang a um script for that so if I do bang a um script for that so if I do bang bang bang bang title now the line is converted to title title now the line is converted to title title now the line is converted to title case this is a little go program that I case this is a little go program that I case this is a little go program that I wrote um can I find that very quickly Repose Repose uh is that in uh is that in uh is that in [Music] [Music] [Music] go yeah here's the title so if I go go yeah here's the title so if I go go yeah here's the title so if I go title.

  18. title. title. go here here you this is go here here you this is go here here you this is um it takes the input and use strings um it takes the input and use strings um it takes the input and use strings title function to convert it to title title function to convert it to title title function to convert it to title case and when I do it like that so if I case and when I do it like that so if I case and when I do it like that so if I am in this thing I press exclamation am in this thing I press exclamation am in this thing I press exclamation mark exclamation mark or bang mark exclamation mark or bang mark exclamation mark or bang bang this takes the current line and uh bang this takes the current line and uh bang this takes the current line and uh sends that to the terminal I press the sends that to the terminal I press the sends that to the terminal I press the title command it is then being fed into title command it is then being fed into title command it is then being fed into the title command the title command the title command the title command the title command the title command outputs a different it gives the output outputs a different it gives the output outputs a different it gives the output and the output is then inserted into the and the output is then inserted into the and the output is then inserted into the buffer here and that way I can buffer here and that way I can buffer here and that way I can capitalize all of the all of capitalize all of the all of capitalize all of the all of the words in a sentence or in a line of the words in a sentence or in a line of the words in a sentence or in a line of text I'm sure there are easier way to do text I'm sure there are easier way to do text I'm sure there are easier way to do this but I thought that was a fun this but I thought that was a fun this but I thought that was a fun project to do it that way too next we have uh keep the cursor in too next we have uh keep the cursor in the middle when scrolling with contrl d the middle when scrolling with contrl d the middle when scrolling with contrl d and U now this is really useful so if I and U now this is really useful so if I and U now this is really useful so if I go to my autoc commands file and scroll go to my autoc commands file and scroll go to my autoc commands file and scroll in with contrl d and contrl U you can in with contrl d and contrl U you can in with contrl d and contrl U you can quickly scroll through a file but quickly scroll through a file but quickly scroll through a file but normally if I like I'm on the top of the normally if I like I'm on the top of the normally if I like I'm on the top of the file here right if I press contrl D then file here right if I press contrl D then file here right if I press contrl D then normally the cursor would be all the way normally the cursor would be all the way normally the cursor would be all the way in the bottom but as you saw now the in the bottom but as you saw now the in the bottom but as you saw now the cursor is in the middle so then it's

  19. cursor is in the middle so then it's cursor is in the middle so then it's much easier on the eyes to see where you much easier on the eyes to see where you much easier on the eyes to see where you actually are instead of having the actually are instead of having the actually are instead of having the cursor at the bottom it's a really cursor at the bottom it's a really cursor at the bottom it's a really really really really really really really useful uh r remapping so it's it's not useful uh r remapping so it's it's not useful uh r remapping so it's it's not it actually takes the contrl D normal it actually takes the contrl D normal it actually takes the contrl D normal mapping and then it adds ZZ to It Center mapping and then it adds ZZ to It Center mapping and then it adds ZZ to It Center the cursor ZZ is centering the cursor the cursor ZZ is centering the cursor the cursor ZZ is centering the cursor really nice and for searching yeah I really nice and for searching yeah I really nice and for searching yeah I have a similar thing so when I search in have a similar thing so when I search in have a similar thing so when I search in a file um let's see re I'm searching for a file um let's see re I'm searching for a file um let's see re I'm searching for this and then if I go next then it this and then if I go next then it this and then if I go next then it centers it instead of just showing it at centers it instead of just showing it at centers it instead of just showing it at the bottom of the file so it's much the bottom of the file so it's much the bottom of the file so it's much easier easier to to see where you easier easier to to see where you easier easier to to see where you are and finally we have are and finally we have are and finally we have a few Maps around go related so when I'm a few Maps around go related so when I'm a few Maps around go related so when I'm writing a go file I can just do press uh writing a go file I can just do press uh writing a go file I can just do press uh leader GT and it will run the go test leader GT and it will run the go test leader GT and it will run the go test command which is very useful to see if command which is very useful to see if command which is very useful to see if your program is actually working and your program is actually working and your program is actually working and finally I have a little snippet here finally I have a little snippet here finally I have a little snippet here it's called Yugo YouTube so if I am uh it's called Yugo YouTube so if I am uh it's called Yugo YouTube so if I am uh writing a markdown file so VT test.

  20. writing a markdown file so VT test. writing a markdown file so VT test. MD and if I then MD and if I then MD and if I then go go go um Leader wait leader Leader wait leader HT wait is it not working wait it was giving me an error working wait it was giving me an error hold on here ah okay so what's happening here is here ah okay so what's happening here is that I am I've been editing this that I am I've been editing this that I am I've been editing this file and lazy Vim actually reads that as file and lazy Vim actually reads that as file and lazy Vim actually reads that as you are going so I have to close this you are going so I have to close this you are going so I have to close this file and not change the set the settings file and not change the set the settings file and not change the set the settings not save the not save the not save the changes close this try changes close this try changes close this try again and yeah okay so I actually again and yeah okay so I actually again and yeah okay so I actually managed to save my file so let's go back managed to save my file so let's go back managed to save my file so let's go back to my DOT to my DOT to my DOT files and I'm going to do get restore files and I'm going to do get restore files and I'm going to do get restore envm bla config keymaps so now it's just envm bla config keymaps so now it's just envm bla config keymaps so now it's just back to back to back to normal and now I'm not getting that normal and now I'm not getting that normal and now I'm not getting that error anymore and if I then go to leader error anymore and if I then go to leader error anymore and if I then go to leader h y then it inserts this sort of snippet h y then it inserts this sort of snippet h y then it inserts this sort of snippet and this is for when I'm writing blog and this is for when I'm writing blog and this is for when I'm writing blog posts now I only have to paste in the posts now I only have to paste in the posts now I only have to paste in the YouTube ID of the video and then it will YouTube ID of the video and then it will YouTube ID of the video and then it will be embedded as a uh let's see here you

  21. be embedded as a uh let's see here you be embedded as a uh let's see here you see this is a blog post on my my blog see this is a blog post on my my blog see this is a blog post on my my blog and with this syntax I can quickly embed and with this syntax I can quickly embed and with this syntax I can quickly embed a video so that is what that key binding a video so that is what that key binding a video so that is what that key binding is all is all is all about and well that was a little live about and well that was a little live about and well that was a little live debugging as I was going along too uh debugging as I was going along too uh debugging as I was going along too uh that was my key apps configuration file that was my key apps configuration file that was my key apps configuration file let's move on to the next one so the let's move on to the next one so the let's move on to the next one so the next file we are going through is the next file we are going through is the next file we are going through is the options options options file not very much interesting here this file not very much interesting here this file not very much interesting here this is usually huge in in my normal Vim is usually huge in in my normal Vim is usually huge in in my normal Vim configurations but as lazy takes away configurations but as lazy takes away configurations but as lazy takes away all of a lot of the configuration for me all of a lot of the configuration for me all of a lot of the configuration for me then this file is not as expensive as it then this file is not as expensive as it then this file is not as expensive as it used to be I start with a local opt so used to be I start with a local opt so used to be I start with a local opt so this is just local variable so I just this is just local variable so I just this is just local variable so I just have can write opt instead of Vim opt have can write opt instead of Vim opt have can write opt instead of Vim opt every time here we have opt ignore case every time here we have opt ignore case every time here we have opt ignore case and if I press shift K here then we see and if I press shift K here then we see and if I press shift K here then we see that ignore case this setting does that ignore case this setting does that ignore case this setting does ignore case in search patterns that's ignore case in search patterns that's ignore case in search patterns that's really useful when searching through really useful when searching through really useful when searching through large documents so I don't want to have large documents so I don't want to have large documents so I don't want to have it that case it that case it that case sensitive here I'm disabling spell and sensitive here I'm disabling spell and sensitive here I'm disabling spell and here is Fault method manual and fault here is Fault method manual and fault here is Fault method manual and fault enable false so when you don't have this enable false so when you don't have this enable false so when you don't have this then actually yaml files and markdown then actually yaml files and markdown then actually yaml files and markdown files they will um I think by default files they will um I think by default files they will um I think by default they will fold everything and that is they will fold everything and that is they will fold everything and that is really really annoying to me I don't

  22. really really annoying to me I don't really really annoying to me I don't want to have anything folded uh I rarely want to have anything folded uh I rarely want to have anything folded uh I rarely use fults actually sometimes I do like use fults actually sometimes I do like use fults actually sometimes I do like maybe if I'm writing a book or something maybe if I'm writing a book or something maybe if I'm writing a book or something I might use that but then still I would I might use that but then still I would I might use that but then still I would I think I would prefer just having I think I would prefer just having I think I would prefer just having separate files instead of having one us separate files instead of having one us separate files instead of having one us huge file and which is so complicated huge file and which is so complicated huge file and which is so complicated that you need to resort to that you need to resort to that you need to resort to folds um well here you see I have some folds um well here you see I have some folds um well here you see I have some old stuff here uh this it's very likely old stuff here uh this it's very likely old stuff here uh this it's very likely that this came from my old neovim config that this came from my old neovim config that this came from my old neovim config so before I started using lazy Vim I was so before I started using lazy Vim I was so before I started using lazy Vim I was using Kickstart Vim or normal lazy using Kickstart Vim or normal lazy using Kickstart Vim or normal lazy normal neovim and I just poured it over normal neovim and I just poured it over normal neovim and I just poured it over all of the the stuff from there and then all of the the stuff from there and then all of the the stuff from there and then I kept it in here just for for future I kept it in here just for for future I kept it in here just for for future sake if I want to use it later so these sake if I want to use it later so these sake if I want to use it later so these are all commented out so I won't go into are all commented out so I won't go into are all commented out so I won't go into it right it right it right now scrolling is opt number is false now scrolling is opt number is false now scrolling is opt number is false what does that do again print the line what does that do again print the line what does that do again print the line number in front of each line right you number in front of each line right you number in front of each line right you see that's often in in in people's uh see that's often in in in people's uh see that's often in in in people's uh configuration uh where I I had that for configuration uh where I I had that for configuration uh where I I had that for a long time uh but actually I didn't a long time uh but actually I didn't a long time uh but actually I didn't really like that I mean I I can set it really like that I mean I I can set it really like that I mean I I can set it to true to true to true and and and then I thought it would reload but then I thought it would reload but then I thought it would reload but apparently it doesn't well anyway just apparently it doesn't well anyway just apparently it doesn't well anyway just keep it false uh I don't like to have keep it false uh I don't like to have keep it false uh I don't like to have the numbers there anymore and the the numbers there anymore and the the numbers there anymore and the relative number that's the one where

  23. relative number that's the one where relative number that's the one where you uh well let's just try that out true and true and true then I quit I press R and open the true then I quit I press R and open the true then I quit I press R and open the file and now you file and now you file and now you see I have the line number to the left see I have the line number to the left see I have the line number to the left of the file here and also it says here 1 of the file here and also it says here 1 of the file here and also it says here 1 2 3 4 1 2 3 4 so it says the relative 2 3 4 1 2 3 4 so it says the relative 2 3 4 1 2 3 4 so it says the relative line number so if I want to uh say line number so if I want to uh say line number so if I want to uh say delete until o tab stop then I can delete until o tab stop then I can delete until o tab stop then I can do um d8 D and then I know exactly which do um d8 D and then I know exactly which do um d8 D and then I know exactly which number to press basically number to press basically number to press basically well I had that for a long time I well I had that for a long time I well I had that for a long time I thought I needed that but I find that I thought I needed that but I find that I thought I needed that but I find that I don't use that at all um when I need the don't use that at all um when I need the don't use that at all um when I need the line number it is you can't see it now line number it is you can't see it now line number it is you can't see it now because my head is in front of it here because my head is in front of it here because my head is in front of it here down here you down here you see the the down here you down here you see the the down here you down here you see the the line number so if I go up a line you see line number so if I go up a line you see line number so if I go up a line you see it's 45 46 you see the line number there it's 45 46 you see the line number there it's 45 46 you see the line number there already it's in my Lua line already it's in my Lua line already it's in my Lua line configuration so configuration so configuration so I don't need to have that in front of I don't need to have that in front of I don't need to have that in front of every line so that's why I decided to every line so that's why I decided to every line so that's why I decided to set these to false so go back open that set these to false so go back open that set these to false so go back open that again and here we go so no line numbers again and here we go so no line numbers again and here we go so no line numbers anymore in general I want to have as anymore in general I want to have as anymore in general I want to have as little as possible on the screen and

  24. little as possible on the screen and little as possible on the screen and those line numbers were making me a bit those line numbers were making me a bit those line numbers were making me a bit uh uh uh um nervous um nervous um nervous sometimes scroll off this setting um sometimes scroll off this setting um sometimes scroll off this setting um when I'm when I'm when I'm scrolling if I go all the way down then scrolling if I go all the way down then scrolling if I go all the way down then you will see that at the bottom like the you will see that at the bottom like the you will see that at the bottom like the cursor doesn't reach the bottom cursor doesn't reach the bottom cursor doesn't reach the bottom completely it sort of hovers above completely it sort of hovers above completely it sort of hovers above right and that is this in this number is right and that is this in this number is right and that is this in this number is set by scroll off you can set that to 12 set by scroll off you can set that to 12 set by scroll off you can set that to 12 too or higher but then at least the too or higher but then at least the too or higher but then at least the cursor doesn't go all the way down when cursor doesn't go all the way down when cursor doesn't go all the way down when you're when you're scrolling it just you're when you're scrolling it just you're when you're scrolling it just hovers up there a little bit and I found hovers up there a little bit and I found hovers up there a little bit and I found that to be much easier on the eyes that to be much easier on the eyes that to be much easier on the eyes line break um that breaks the line if it line break um that breaks the line if it line break um that breaks the line if it extends from the field of vision so uh extends from the field of vision so uh extends from the field of vision so uh if on Vim will wrap long lines at a if on Vim will wrap long lines at a if on Vim will wrap long lines at a character in break rather than at the character in break rather than at the character in break rather than at the last character that fits on the last character that fits on the last character that fits on the screen oh okay right so it um yeah it screen oh okay right so it um yeah it screen oh okay right so it um yeah it influences the way it breaks lines I influences the way it breaks lines I influences the way it breaks lines I don't completely understand currently don't completely understand currently don't completely understand currently why I said this but apparently at at why I said this but apparently at at why I said this but apparently at at some point there was a problem that I some point there was a problem that I some point there was a problem that I was having with line brakes and then I was having with line brakes and then I was having with line brakes and then I set this to true and I have never needed set this to true and I have never needed set this to true and I have never needed to adjust it ever to adjust it ever to adjust it ever since um here is a lot of indentation since um here is a lot of indentation since um here is a lot of indentation configuration I had this in my older configuration I had this in my older configuration I had this in my older files because I was

  25. files because I was files because I was um um um um use my my language server and autof um use my my language server and autof um use my my language server and autof formating wasn't working that well then formating wasn't working that well then formating wasn't working that well then so I had to manually configure the way so I had to manually configure the way so I had to manually configure the way uh this works so expand tab that um it uh this works so expand tab that um it uh this works so expand tab that um it converts the tabs to spaces and then tab converts the tabs to spaces and then tab converts the tabs to spaces and then tab stop with the tab stop setting you can stop with the tab stop setting you can stop with the tab stop setting you can see tell it how many spaces a tab see tell it how many spaces a tab see tell it how many spaces a tab character should be so python has very character should be so python has very character should be so python has very opinionated uh I was writing a lot of opinionated uh I was writing a lot of opinionated uh I was writing a lot of python at that time and python has a python at that time and python has a python at that time and python has a very opinionated way of how tabs and very opinionated way of how tabs and very opinionated way of how tabs and spaces should be formate and how many spaces should be formate and how many spaces should be formate and how many spaces there should be and I believe spaces there should be and I believe spaces there should be and I believe it's four I don't currently remember but it's four I don't currently remember but it's four I don't currently remember but that was um that's why I needed to do that was um that's why I needed to do that was um that's why I needed to do this uh some window now apparently I'm this uh some window now apparently I'm this uh some window now apparently I'm not using these settings they influence not using these settings they influence not using these settings they influence how when you split a window where it how when you split a window where it how when you split a window where it will actually be split so when on will actually be split so when on will actually be split so when on splitting a window I put the new window splitting a window I put the new window splitting a window I put the new window below the current below the current below the current one but um I find that if I just do one but um I find that if I just do one but um I find that if I just do vsit vsit vsit here then I will just uh split it to the here then I will just uh split it to the here then I will just uh split it to the right and if I do split it will split it right and if I do split it will split it right and if I do split it will split it below and that's also that's that's below and that's also that's that's below and that's also that's that's enough for me I don't have to at some enough for me I don't have to at some enough for me I don't have to at some point I apparently needed some more point I apparently needed some more point I apparently needed some more configuration of this but I'm not using

  26. configuration of this but I'm not using configuration of this but I'm not using that that that anymore um some config some completion anymore um some config some completion anymore um some config some completion tweaking yeah apparently I didn't need tweaking yeah apparently I didn't need tweaking yeah apparently I didn't need that anymore and lastly that anymore and lastly that anymore and lastly this is a setting where on Mac OS I'm this is a setting where on Mac OS I'm this is a setting where on Mac OS I'm pointing it to my browser and this is pointing it to my browser and this is pointing it to my browser and this is needed for when I'm editing markdown needed for when I'm editing markdown needed for when I'm editing markdown files and I want to do a live preview in files and I want to do a live preview in files and I want to do a live preview in the browser so let's go to my blog and the browser so let's go to my blog and the browser so let's go to my blog and let's just open a um uh random file here so if I do mark um uh random file here so if I do mark down preview then it opens my browser and if preview then it opens my browser and if I then I then I then go here so if I'm in go here so if I'm in go here so if I'm in this um this um this um file then if I'm scrolling up and down file then if I'm scrolling up and down file then if I'm scrolling up and down it will actually scroll with it as I am it will actually scroll with it as I am it will actually scroll with it as I am editing and this is a really nice way of editing and this is a really nice way of editing and this is a really nice way of uh writing because sometimes when you're uh writing because sometimes when you're uh writing because sometimes when you're writing an article that's going going to writing an article that's going going to writing an article that's going going to be represented in the browser it helps be represented in the browser it helps be represented in the browser it helps to actually see it how it's going to be to actually see it how it's going to be to actually see it how it's going to be uh represented sometimes I miss spelling uh represented sometimes I miss spelling uh represented sometimes I miss spelling mistakes or I miss certain formatting uh mistakes or I miss certain formatting uh mistakes or I miss certain formatting uh if I'm just looking at it in the in the if I'm just looking at it in the in the if I'm just looking at it in the in the terminal and then it really helps to terminal and then it really helps to terminal and then it really helps to have it as a preview here so that is

  27. have it as a preview here so that is have it as a preview here so that is what that setting is for and markdown what that setting is for and markdown what that setting is for and markdown preview is awesome it's a really really preview is awesome it's a really really preview is awesome it's a really really really cool plugin so I'm going to move really cool plugin so I'm going to move really cool plugin so I'm going to move that to number one again close this back that to number one again close this back that to number one again close this back to neovim and that was all the to neovim and that was all the to neovim and that was all the options so now we can move on to the options so now we can move on to the options so now we can move on to the plugin section moving on to plugin section moving on to plugin section moving on to the plugin section let's start with the plugin section let's start with the plugin section let's start with color scheme. Lua so in my terminal and color scheme. Lua so in my terminal and color scheme. Lua so in my terminal and almost everywhere I like to use the almost everywhere I like to use the almost everywhere I like to use the groove box material color scheme I think groove box material color scheme I think groove box material color scheme I think it's a it's a it's a beautiful very soothing color scheme beautiful very soothing color scheme beautiful very soothing color scheme that's very easy on the eye that's very easy on the eye that's very easy on the eye and especially in the evening it is just and especially in the evening it is just and especially in the evening it is just so nice to to have this um um scheme so so nice to to have this um um scheme so so nice to to have this um um scheme so I I when I discovered this I changed a I I when I discovered this I changed a I I when I discovered this I changed a couple of times but 95% of the time I've couple of times but 95% of the time I've couple of times but 95% of the time I've been on this color scheme because it's been on this color scheme because it's been on this color scheme because it's just so so just so so just so so beautiful and it is just a plug-in and beautiful and it is just a plug-in and beautiful and it is just a plug-in and then the way this works the the way lazy then the way this works the the way lazy then the way this works the the way lazy loads plugins is that you have this loads plugins is that you have this loads plugins is that you have this little block little block little block [Music] [Music] [Music] um because lazy reads everything that's um because lazy reads everything that's um because lazy reads everything that's in the plugins directory and as you see in the plugins directory and as you see in the plugins directory and as you see you have to return this too lazy um in you have to return this too lazy um in you have to return this too lazy um in normal neovim you you won't have this normal neovim you you won't have this normal neovim you you won't have this return statement but because lazy is a return statement but because lazy is a return statement but because lazy is a package manager it is a sort of a package manager it is a sort of a package manager it is a sort of a wrapper around it so you just add the

  28. wrapper around it so you just add the wrapper around it so you just add the repo like this and then it will load the repo like this and then it will load the repo like this and then it will load the color color color scheme and then when scheme and then when scheme and then when you it so this installs the plug-in and you it so this installs the plug-in and you it so this installs the plug-in and then I have to pass this option to the then I have to pass this option to the then I have to pass this option to the lazy Vim plugin so lazy Vim is a plugin lazy Vim plugin so lazy Vim is a plugin lazy Vim plugin so lazy Vim is a plugin into neovim and then you're telling it into neovim and then you're telling it into neovim and then you're telling it okay you have to use this color scheme okay you have to use this color scheme okay you have to use this color scheme so that's how I've set up my color so that's how I've set up my color so that's how I've set up my color scheme next we have disabled. scheme next we have disabled. scheme next we have disabled. Lua and this is Lua and this is Lua and this is a this is a file where I disable certain a this is a file where I disable certain a this is a file where I disable certain plugins that came with with lazy Vim so plugins that came with with lazy Vim so plugins that came with with lazy Vim so let's see if I can show you that really let's see if I can show you that really let's see if I can show you that really quick um lazy Vim can be run in a Docker quick um lazy Vim can be run in a Docker quick um lazy Vim can be run in a Docker container um try it with Docker container um try it with Docker container um try it with Docker here here here so I'm not sure if this is going to work so I'm not sure if this is going to work so I'm not sure if this is going to work but I'm just going to give it a try I but I'm just going to give it a try I but I'm just going to give it a try I haven't done it for a haven't done it for a haven't done it for a while so it's going to pull a Docker while so it's going to pull a Docker while so it's going to pull a Docker image and in there it's going to install image and in there it's going to install image and in there it's going to install lazy vim and then we we should have a lazy vim and then we we should have a lazy vim and then we we should have a sort of um default installation of lazy sort of um default installation of lazy sort of um default installation of lazy Vim available to us so it's now pulling Vim available to us so it's now pulling Vim available to us so it's now pulling the docker images and it's going to be the docker images and it's going to be the docker images and it's going to be starting up a Linux or an Alpine starting up a Linux or an Alpine starting up a Linux or an Alpine distribution installing lazy Vim into it distribution installing lazy Vim into it distribution installing lazy Vim into it and configure it with the default

  29. options it is starting here we options it is starting here we go it's actually really amazing it's so go it's actually really amazing it's so go it's actually really amazing it's so cool look at Vim so here you see this is the first Vim so here you see this is the first one that I uh disabled here you see one that I uh disabled here you see one that I uh disabled here you see these messages that are coming up here these messages that are coming up here these messages that are coming up here normally in Vim they are down here those normally in Vim they are down here those normally in Vim they are down here those are messages and it looks pretty cool are messages and it looks pretty cool are messages and it looks pretty cool like this but I I yeah I I didn't want like this but I I yeah I I didn't want like this but I I yeah I I didn't want to have it like that sorry but I I can't to have it like that sorry but I I can't to have it like that sorry but I I can't work like that but let's go and do a new work like that but let's go and do a new work like that but let's go and do a new file and let's try a couple of file and let's try a couple of file and let's try a couple of things so here all of these messages things so here all of these messages things so here all of these messages that's that's what I've disabled so that that's that's what I've disabled so that that's that's what I've disabled so that is done by uh I think it was Vim notify is done by uh I think it was Vim notify is done by uh I think it was Vim notify and noise those are both things that are and noise those are both things that are and noise those are both things that are disabled but disabled but disabled but um yeah if I um yeah if I um yeah if I just I don't really I don't really know just I don't really I don't really know just I don't really I don't really know what I should be doing here because it what I should be doing here because it what I should be doing here because it is um is um is um just in a container and there's not much just in a container and there's not much just in a container and there's not much that I can do but as you see here these that I can do but as you see here these that I can do but as you see here these those are the that's the big one that I those are the that's the big one that I those are the that's the big one that I have disabled um with all of these have disabled um with all of these have disabled um with all of these notifications I didn't want that and I notifications I didn't want that and I notifications I didn't want that and I did that by adding that disabled. Lua did that by adding that disabled. Lua did that by adding that disabled. Lua but this is also how you can just

  30. but this is also how you can just but this is also how you can just quickly run lazy viim in a docker quickly run lazy viim in a docker quickly run lazy viim in a docker container and to try it out so it's container and to try it out so it's container and to try it out so it's actually pretty cool next we have example. Lua so this cool next we have example. Lua so this is a file that is included with lazy vim is a file that is included with lazy vim is a file that is included with lazy vim and this is just a explanation of how to and this is just a explanation of how to and this is just a explanation of how to configure it it's actually really useful configure it it's actually really useful configure it it's actually really useful every time I want to add something I every time I want to add something I every time I want to add something I just take a quick look here and see how just take a quick look here and see how just take a quick look here and see how how they do it and this is basically all how they do it and this is basically all how they do it and this is basically all of the documentation that I've needed uh of the documentation that I've needed uh of the documentation that I've needed uh in addition to but I must also say that in addition to but I must also say that in addition to but I must also say that the docks of lazy Vim are actually the docks of lazy Vim are actually the docks of lazy Vim are actually really good it's also one of the reasons really good it's also one of the reasons really good it's also one of the reasons why I use lazy Vim because it has very why I use lazy Vim because it has very why I use lazy Vim because it has very nice searchable documentation and um it nice searchable documentation and um it nice searchable documentation and um it works really well go. Lua here I am installing the well go. Lua here I am installing the packages I want for go and go formatting packages I want for go and go formatting packages I want for go and go formatting and such like so you have the and such like so you have the and such like so you have the you have a few packages here you have you have a few packages here you have you have a few packages here you have LSP LSP LSP config these are all dependencies for go config these are all dependencies for go config these are all dependencies for go en Vim so go envm is the main one and it en Vim so go envm is the main one and it en Vim so go envm is the main one and it needs these so it will ensure that these needs these so it will ensure that these needs these so it will ensure that these are installed just in case you are installed just in case you are installed just in case you haven't and when that runs it will run a haven't and when that runs it will run a haven't and when that runs it will run a config config config function and it will do it will do a few function and it will do it will do a few function and it will do it will do a few go. install it will sort of configure

  31. go. install it will sort of configure go. install it will sort of configure that and this is all you need to get that and this is all you need to get that and this is all you need to get going with um go editing in going with um go editing in going with um go editing in neovim this will help if you have your neovim this will help if you have your neovim this will help if you have your if you have lazy Vim installed and which if you have lazy Vim installed and which if you have lazy Vim installed and which you which sets up all of the autoc you which sets up all of the autoc you which sets up all of the autoc completion for you uh with lu snip then completion for you uh with lu snip then completion for you uh with lu snip then if you install this package you are good if you install this package you are good if you install this package you are good to go with installing or with coding and go let's go let's [Music] [Music] [Music] see oh here you see I use this disable see oh here you see I use this disable see oh here you see I use this disable language server uh shortcut I pressed language server uh shortcut I pressed language server uh shortcut I pressed space space space s s s and um I did that because apparently Lua and um I did that because apparently Lua and um I did that because apparently Lua was throwing some errors here but I know was throwing some errors here but I know was throwing some errors here but I know this works so LSP this works so LSP this works so LSP config this takes a few options and all config this takes a few options and all config this takes a few options and all of these are servers of language servers of these are servers of language servers of these are servers of language servers that I want to have that I want to have that I want to have installed and these are added like this installed and these are added like this installed and these are added like this but when you do it then Mason actually but when you do it then Mason actually but when you do it then Mason actually installs these so to installs these so to installs these so to run to actually manage the language run to actually manage the language run to actually manage the language servers we have servers we have servers we have Mason and this will show you all of the Mason and this will show you all of the Mason and this will show you all of the the language servers that are installed the language servers that are installed the language servers that are installed but also the ones that should be but also the ones that should be but also the ones that should be installed and it here you can very installed and it here you can very installed and it here you can very quickly update them and if you press quickly update them and if you press quickly update them and if you press the um let's go back to

  32. the um let's go back to the um let's go back to Mason let's see if you press G question Mason let's see if you press G question Mason let's see if you press G question mark then you see all of the shortcuts mark then you see all of the shortcuts mark then you see all of the shortcuts for it and if I then press capital u for it and if I then press capital u for it and if I then press capital u then it will start updating all of the then it will start updating all of the then it will start updating all of the outdated packages but you can install uh outdated packages but you can install uh outdated packages but you can install uh language servers from Mason like that language servers from Mason like that language servers from Mason like that but if you do it like this then you are but if you do it like this then you are but if you do it like this then you are sure that it actually installs when you sure that it actually installs when you sure that it actually installs when you are on a different system um and it will are on a different system um and it will are on a different system um and it will also handle the updates better so this also handle the updates better so this also handle the updates better so this is how I do it and actually when when is how I do it and actually when when is how I do it and actually when when you're adding you're adding you're adding these uh LS space start and let me just close this and start and let me just close this and reopen it uh LSP it uh LSP config so the problem is that um these n config so the problem is that um these n config so the problem is that um these n these names don't exactly correspond these names don't exactly correspond these names don't exactly correspond with the names that you see in Mason so with the names that you see in Mason so with the names that you see in Mason so when you want to say install yaml then when you want to say install yaml then when you want to say install yaml then you have to do it like this or if I you have to do it like this or if I you have to do it like this or if I delete delete delete Helm here it will um show you um Helm here it will um show you um Helm here it will um show you um suggestions what you need to do so the suggestions what you need to do so the suggestions what you need to do so the names don't completely Corr respond and names don't completely Corr respond and names don't completely Corr respond and you have to rely on autoc completion to

  33. you have to rely on autoc completion to you have to rely on autoc completion to find the right server for you so just as find the right server for you so just as find the right server for you so just as a quick tip um if you just add a I don't a quick tip um if you just add a I don't a quick tip um if you just add a I don't know just yaml like this it won't work U know just yaml like this it won't work U know just yaml like this it won't work U well yaml LS will work but yaml won't well yaml LS will work but yaml won't well yaml LS will work but yaml won't because it needs to have a specific name because it needs to have a specific name because it needs to have a specific name that is probably different from the that is probably different from the that is probably different from the package in Mason as a pro package in Mason as a pro package in Mason as a pro tip so the summary in summary this is tip so the summary in summary this is tip so the summary in summary this is just a list of the language servers that just a list of the language servers that just a list of the language servers that I want to have installed at all I want to have installed at all I want to have installed at all times next we have markdown Lua so in times next we have markdown Lua so in times next we have markdown Lua so in the previous section I showed you how the previous section I showed you how the previous section I showed you how markdown preview Works what that does so markdown preview Works what that does so markdown preview Works what that does so I don't have to do that again but it is I don't have to do that again but it is I don't have to do that again but it is um configured like this and this is um configured like this and this is um configured like this and this is basically all I have for markdown in basically all I have for markdown in basically all I have for markdown in this file I do have another markdown this file I do have another markdown this file I do have another markdown related that's Pand do. Lua and I might related that's Pand do. Lua and I might related that's Pand do. Lua and I might just well do that straight away so you just well do that straight away so you just well do that straight away so you have vim pandoc and Vim pandoc syntax have vim pandoc and Vim pandoc syntax have vim pandoc and Vim pandoc syntax and this is and this is and this is actually is what's formatting my actually is what's formatting my actually is what's formatting my markdown markdown markdown files like this uh let's see here so files like this uh let's see here so files like this uh let's see here so here you see the headings get this here you see the headings get this here you see the headings get this really nice uh character instead of the really nice uh character instead of the really nice uh character instead of the hashtag so it it has this really really hashtag so it it has this really really hashtag so it it has this really really nice character it makes them bold and nice character it makes them bold and nice character it makes them bold and also when I make something bold in the

  34. also when I make something bold in the also when I make something bold in the text like text like text like this it this it this it will format it as bold so I I really will format it as bold so I I really will format it as bold so I I really like this for editing markdown in like this for editing markdown in like this for editing markdown in neovim um it is yeah it just basically neovim um it is yeah it just basically neovim um it is yeah it just basically handles the formatting really well and handles the formatting really well and handles the formatting really well and pandog is a way pandog is a way pandog is a way of converting and generating documents of converting and generating documents of converting and generating documents out of text files so you can use P do to out of text files so you can use P do to out of text files so you can use P do to create PDF files out of markdown files create PDF files out of markdown files create PDF files out of markdown files and convert them to all sorts of things and convert them to all sorts of things and convert them to all sorts of things I don't use that functionality that much I don't use that functionality that much I don't use that functionality that much but there is a lot more to pandoc than but there is a lot more to pandoc than but there is a lot more to pandoc than what I am using uh I think pandoc here what I am using uh I think pandoc here what I am using uh I think pandoc here pendock highlight by pendock folding pendock highlight by pendock folding pendock highlight by pendock folding there's a bunch of stuff you can do and there's a bunch of stuff you can do and there's a bunch of stuff you can do and if I do space if I do space if I do space sh pandoc then here there is a bunch of sh pandoc then here there is a bunch of sh pandoc then here there is a bunch of um um um uh yeah functionality in here it's quite uh yeah functionality in here it's quite uh yeah functionality in here it's quite big but I don't I don't use it that much big but I don't I don't use it that much big but I don't I don't use it that much I it's basically my markdown formatter I it's basically my markdown formatter I it's basically my markdown formatter and it's really useful and it's the best and it's really useful and it's the best and it's really useful and it's the best way to do it in my way to do it in my way to do it in my opinion in between markdown and pandoc opinion in between markdown and pandoc opinion in between markdown and pandoc we have no neck pain so this related to we have no neck pain so this related to we have no neck pain so this related to the newsboat config that I showed you the newsboat config that I showed you the newsboat config that I showed you earlier this um centers the the text so earlier this um centers the the text so earlier this um centers the the text so if I'm back here I'm now in this if I'm back here I'm now in this if I'm back here I'm now in this markdown file and you see that the text markdown file and you see that the text markdown file and you see that the text goes it spans across the entire screen

  35. goes it spans across the entire screen goes it spans across the entire screen well if I well if I well if I press um space NN then it is going to um press um space NN then it is going to um press um space NN then it is going to um add columns to the side and It Centers add columns to the side and It Centers add columns to the side and It Centers it in the middle now when I'm recording it in the middle now when I'm recording it in the middle now when I'm recording I have my terminal set to a quite a I have my terminal set to a quite a I have my terminal set to a quite a large text size so it's easier to read large text size so it's easier to read large text size so it's easier to read for you guys but if I do stop wreck for you guys but if I do stop wreck for you guys but if I do stop wreck stop stop stop recording then it changes my my um text recording then it changes my my um text recording then it changes my my um text size of the terminal so if I reopen that size of the terminal so if I reopen that size of the terminal so if I reopen that file now then here you see this is how file now then here you see this is how file now then here you see this is how it would usually look for me and it is it would usually look for me and it is it would usually look for me and it is not nice to have the text spanning not nice to have the text spanning not nice to have the text spanning across the entire screen so now if I across the entire screen so now if I across the entire screen so now if I press space NN now it's centered in this press space NN now it's centered in this press space NN now it's centered in this nice column and my eyes sort of look at nice column and my eyes sort of look at nice column and my eyes sort of look at only that column and it doesn't I don't only that column and it doesn't I don't only that column and it doesn't I don't have to move my head or I don't have to have to move my head or I don't have to have to move my head or I don't have to strain to read all of the text and it strain to read all of the text and it strain to read all of the text and it formats it really formats it really formats it really nicely and yeah that's why it's called nicely and yeah that's why it's called nicely and yeah that's why it's called no neck pain because you don't have to no neck pain because you don't have to no neck pain because you don't have to move your neck so that's actually quite move your neck so that's actually quite move your neck so that's actually quite a very funny name for that so that was a very funny name for that so that was a very funny name for that so that was the stop wreck now I'll do start wreck the stop wreck now I'll do start wreck the stop wreck now I'll do start wreck again and then it's again and then it's again and then it's uh increases the font size by replacing uh increases the font size by replacing uh increases the font size by replacing it in my electrity config and it gives it in my electrity config and it gives it in my electrity config and it gives me this handy little checklist um um if me this handy little checklist um um if me this handy little checklist um um if to check if I'm um if I set up my if my to check if I'm um if I set up my if my to check if I'm um if I set up my if my microphone is on and if my keys are

  36. microphone is on and if my keys are microphone is on and if my keys are being cast it's just a little reminder being cast it's just a little reminder being cast it's just a little reminder to myself when I start to myself when I start to myself when I start recording recording recording and that was no neck pain pendock we've and that was no neck pain pendock we've and that was no neck pain pendock we've done finally or almost finally we have done finally or almost finally we have done finally or almost finally we have some configuration for telescope so some configuration for telescope so some configuration for telescope so telescope is the plugin that I use for telescope is the plugin that I use for telescope is the plugin that I use for opening files like this so space FF this opening files like this so space FF this opening files like this so space FF this is telescope what you see here is telescope what you see here is telescope what you see here and what I have done here and what I have done here and what I have done here is uh this is just the the key map to is uh this is just the the key map to is uh this is just the the key map to open telescope for finding files so FF open telescope for finding files so FF open telescope for finding files so FF like like like this but you can also do space this but you can also do space this but you can also do space SG and now it's grapping the files so if SG and now it's grapping the files so if SG and now it's grapping the files so if I'm looking for yaml for example then it I'm looking for yaml for example then it I'm looking for yaml for example then it is actually gra it graps so it search is actually gra it graps so it search is actually gra it graps so it search inside of the files inside of the files inside of the files and um I don't know Lua all everything and um I don't know Lua all everything and um I don't know Lua all everything that contains Lua I can view it here but that contains Lua I can view it here but that contains Lua I can view it here but I have changed this in from normal grab I have changed this in from normal grab I have changed this in from normal grab to rip grab rip grap is a program that's to rip grab rip grap is a program that's to rip grab rip grap is a program that's lot faster than normal lot faster than normal lot faster than normal grap and then for the command I'm also grap and then for the command I'm also grap and then for the command I'm also passing a few um um Flags here so-- files and-- glob so um Flags here so-- files and-- glob so that means that it allows me to use

  37. that means that it allows me to use that means that it allows me to use globbing uh for it and I ignore the globbing uh for it and I ignore the globbing uh for it and I ignore the dogit directory when grapping and- L I dogit directory when grapping and- L I dogit directory when grapping and- L I believe believe believe um yeah follows symbolic links so um yeah follows symbolic links so um yeah follows symbolic links so sometimes I have directories like for sometimes I have directories like for sometimes I have directories like for for example in my second brain I have my for example in my second brain I have my for example in my second brain I have my blog directory I can just show you that blog directory I can just show you that blog directory I can just show you that uh SB uh SB uh SB CD CD CD z z z uh and uh and uh and then then then um stat um stat um stat Z here I have a set Z here I have a set Z here I have a set directory can I see that directory can I see that directory can I see that [Applause] [Applause] [Applause] LS LS LS [Music] um La grab um La grab Z here we go so here I have zet which is Z here we go so here I have zet which is Z here we go so here I have zet which is a symbolic link to my blog directory so a symbolic link to my blog directory so a symbolic link to my blog directory so when I'm searching when I'm in my second when I'm searching when I'm in my second when I'm searching when I'm in my second brain and I am searching for files I brain and I am searching for files I brain and I am searching for files I want that to include my blog files uh want that to include my blog files uh want that to include my blog files uh when I'm searching for it because a lot when I'm searching for it because a lot when I'm searching for it because a lot of my zcast is of my zcast is of my zcast is um

  38. um um published and then when I'm grapping I published and then when I'm grapping I published and then when I'm grapping I want it to make sure that it also is want it to make sure that it also is want it to make sure that it also is grapping the stuff that is in the grapping the stuff that is in the grapping the stuff that is in the symbolic link and that's why I have the symbolic link and that's why I have the symbolic link and that's why I have the DHL option DHL option DHL option here all right next we have some here all right next we have some here all right next we have some configuration for telescope so that configuration for telescope so that configuration for telescope so that means this um enables FCF so fuzzy file means this um enables FCF so fuzzy file means this um enables FCF so fuzzy file finder that's why that's why I am able finder that's why that's why I am able finder that's why that's why I am able to sort of say for example DN and Stat to sort of say for example DN and Stat to sort of say for example DN and Stat and then it will fuzzily find all of and then it will fuzzily find all of and then it will fuzzily find all of these these these um or DN that it will it will not only um or DN that it will it will not only um or DN that it will it will not only search for a like literal search for a like literal search for a like literal um result but it will also show partial um result but it will also show partial um result but it will also show partial results and that's what fuzzy file results and that's what fuzzy file results and that's what fuzzy file finder does and you need to set this up finder does and you need to set this up finder does and you need to set this up uh explicitly in telescope if you want uh explicitly in telescope if you want uh explicitly in telescope if you want to have that to have that to have that functionality and finally I have envm functionality and finally I have envm functionality and finally I have envm telescope I showed you that before but telescope I showed you that before but telescope I showed you that before but if I do if I do if I do um let's see FS space fs and then I can um let's see FS space fs and then I can um let's see FS space fs and then I can search for smies like a house or a search for smies like a house or a search for smies like a house or a computer and I can just insert it like computer and I can just insert it like computer and I can just insert it like that so that's really useful that so that's really useful that so that's really useful too and that is it for the telescope too and that is it for the telescope too and that is it for the telescope config not much special really but there

  39. config not much special really but there config not much special really but there is a few a bit of tweaking that I've is a few a bit of tweaking that I've is a few a bit of tweaking that I've done and then finally we have trees done and then finally we have trees done and then finally we have trees sitter. Lua and tree sitter is sitter. Lua and tree sitter is sitter. Lua and tree sitter is responsible for uh configuration of responsible for uh configuration of responsible for uh configuration of sorry for formatting and sorry for formatting and sorry for formatting and also um indentation but also the colors also um indentation but also the colors also um indentation but also the colors of the uh the stuff so you see here in of the uh the stuff so you see here in of the uh the stuff so you see here in Lua these keywords are all red and these Lua these keywords are all red and these Lua these keywords are all red and these are all blue and the and the strings are are all blue and the and the strings are are all blue and the and the strings are green this is all being handled by tree green this is all being handled by tree green this is all being handled by tree sitter and also the indentation so tree sitter and also the indentation so tree sitter and also the indentation so tree sitter is the way is the the parser that sitter is the way is the the parser that sitter is the way is the the parser that will handle the indentation and the will handle the indentation and the will handle the indentation and the colors and so forth and by adding this colors and so forth and by adding this colors and so forth and by adding this list of options you are telling you are list of options you are telling you are list of options you are telling you are ensuring the tree sitter installs these ensuring the tree sitter installs these ensuring the tree sitter installs these um every time you set up on a new system um every time you set up on a new system um every time you set up on a new system uh because sometimes it will intell uh because sometimes it will intell uh because sometimes it will intell intelligently detect the file that you intelligently detect the file that you intelligently detect the file that you are um trying to edit and then you will are um trying to edit and then you will are um trying to edit and then you will some I think it will install it some I think it will install it some I think it will install it automatically but I prefer to just give automatically but I prefer to just give automatically but I prefer to just give it into a list like this and to make it into a list like this and to make it into a list like this and to make sure that it's always available for for sure that it's always available for for sure that it's always available for for to me all right that was the plugin to me all right that was the plugin to me all right that was the plugin section so the only thing that's left section so the only thing that's left section so the only thing that's left really are just these couple of spelling really are just these couple of spelling really are just these couple of spelling files and when you when you're writing files and when you when you're writing files and when you when you're writing in Vim it will check spelling but then in Vim it will check spelling but then in Vim it will check spelling but then you can also add the words to them and you can also add the words to them and you can also add the words to them and it will just save them in a file and it will just save them in a file and it will just save them in a file and these are apparently the words that I these are apparently the words that I these are apparently the words that I have saved over time and that's it

  40. have saved over time and that's it have saved over time and that's it that's my entire neovim config it used that's my entire neovim config it used that's my entire neovim config it used to be quite a lot bigger and I was using to be quite a lot bigger and I was using to be quite a lot bigger and I was using a lot more plugins but as I was going a lot more plugins but as I was going a lot more plugins but as I was going through this I realized that I have through this I realized that I have through this I realized that I have minim minimized it quite a bit and and minim minimized it quite a bit and and minim minimized it quite a bit and and sort of went back to the basics over sort of went back to the basics over sort of went back to the basics over time and has been virtually unchanged time and has been virtually unchanged time and has been virtually unchanged for the last past 6 months maybe a for the last past 6 months maybe a for the last past 6 months maybe a couple of tweaks here and there but no couple of tweaks here and there but no couple of tweaks here and there but no big changes and it just works really big changes and it just works really big changes and it just works really well for me in my workflow as a cloud well for me in my workflow as a cloud well for me in my workflow as a cloud engineer Cloud native engineer working engineer Cloud native engineer working engineer Cloud native engineer working mainly with kubernetes and Azure so that mainly with kubernetes and Azure so that mainly with kubernetes and Azure so that concludes the neovim walkthr thank you concludes the neovim walkthr thank you concludes the neovim walkthr thank you so much for watching and if you have any so much for watching and if you have any so much for watching and if you have any questions I hope to see you in my school questions I hope to see you in my school questions I hope to see you in my school community

Summary

The speaker introduces a new school community designed for learning and publishing video courses, fostering a community of aspiring engineers. They emphasize the value of asking questions and receiving answers for technical growth, drawing a parallel to the importance of a supportive learning environment. The speaker also shares their personal journey with Vim and Neovim, recommending a foundational understanding of Vim's configuration before diving into Neovim, ultimately suggesting that building configurations from scratch, like they did with YAML for Vim, provides a deeper understanding of the tool's inner workings.

View original episode ↗