My Neovim Config! (as of January 2024)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
okay so I often get asked about uh my neovim and my neovim configuration so I figured I do a quick little walk through um let me first all my DOT files and configuration can be found on my GitHub which will be here and we'll get a link in the description but you can find my do files at DMM mroy Kickstart ni um currently I'm managing all of my uh uh setup with NYX but I still uh use Lua and all that for my neovim and anyone who uses neovim normally should be able to uh copy this so if you go to Kickstart SLC config drop into the NVM or envm directory all of my setups here uh and you can pretty much just copy paste that and dump that into your own project I've also tried to take a lot of care and effort um to comment a lot of my uh Lua configuration to explain what's going on I had originally started this repo in my envm configuration using uh TJ D's um Kickstart uhmm project and then slowly expand it out from there so everything should be pretty uh idiomatic and standard but yeah let's uh let's jump in shall we so if we look here this is the root level directory of my config uh it's pretty straightforward and barebones and basic um I use lazy. MVM as my package manager which is what this Lazy Lock file is the entry point to my DOT files is going to be this init.lua which really just requires my uh specific user configuration in the root level we have these two directories after which is the typical neovim after directory um you can read the neovim docs for what that directory is used for but like the too long didn't read is that's the last thing um the files in the after directory is like the last stage of bootstrapping new ofm so uh things you'll find in here are going to be um things for detecting specific syntaxes or file types um I have some set up for reason ML and uh ok camel and then the majority of my configuration lives within uh Lua which if you recall we import user so if we go back and go look in Lua we have user and then this anit do Lua that's what this outside file is requiring if we look in here uh we basically funnel everything else up through this uh user init into the top level init and that's kind of how my newm bootstraps itself so in here we bring in my options uh all our plugins um which our plugins are loaded via this user. La module uh my keymaps and then I have a bunch of Uh custom uh plugins if you will um or just like little uh scripts that I've written in L to uh make my editor experience exactly how I want it so to start let's jump into my options that's probably going to be the most important uh as I said I try to like I've tried to comment mostly everything in here um for what it does and what it controls so I personally enjoy having relative line numbers so I can see for instance like um let's have a better example right now I'm on line 13 but maybe I want to jump 10 up so I can just say 10K and I jump up there fun describe so that's what relative line numbers does um I set up tabs to spaces I turn on auto indenting with these options um I turn on some smart indenting and have a link to stack overo for why we need this uh we incremental searching I disable uh text wrap kind of across the board I use my space bar as my leader key um so any of my keybinds that are prefixed with leader I am pressing space bar and then my key bar to activate those I set up how I want uh things to be split so when I'm doing things like a vertical split or a horizontal split um those settings control that I turn on Mouse mode so right we can come in here can do all that I rarely ever use that but I do prefer to have it on uh we enable some settings for uh casing this mostly is to help um searching I actually have no idea what up time or update times does so let's see here uh looks like this is just for writing the swap file uh we set some autocomplete options our undo file we update to 24-bit color we have our sign column um which is this guy over here so it's always going to be enabled not just when plugins decide to put something there I really hate having this off uh because if you have it off and you go into a buffer or you're working in a buffer where let's say you make a edit to get and suddenly get wants to put symbols in there it's going to push your buffer to the right I think that's really annoying uh we enable access integration with the system clipboard uh we put a cursor line on which is basically this line right here it moves with what line my cursor's on just easier for me to at a quick glance see where I'm at uh we set up some fold settings and this is mostly to work with one of our um plugins so I'm not sure if I can fold anything in here yeah um we'll go over folding a little bit later but these are recommended settings for folds um from envm UFO which is the plugin I use for managing my folds uh then scroll off is basically what keeps the buffer um I almost just pointed at the screen like an idiot um there's always at minimum eight lines above or eight lines below me as I'm scrolling through my files that is what this does uh the column line is just this over here it's pretty standard nowadays to have a column width of 80 characters um so I just keep that as the default and then right now I have this setting here uh most of you won't need this and I'm not even sure if I need this anymore but this is to customly configure the blinking of of my cursor um I was having some issues in t-mo and G ghosty that I need to revisit um but for now it works reasonably well um each thing's commented on what it does and yeah hopefully I can remove that sometime soon so the next thing uh I want to go through is our actual plugins so if you recall if we look in our user in it we bring our plugins in through this lazy module and we're managing all our plugins with lazy so let's go take a look at lazy. Lua if we look at lazy. Lua this is going to look super similar to your if you use Packer um we basically just set up where uh lazy can put data we uh install lazy if it's not already installed um make sure it's in vim's runtime path uh actually load the plugin and then we set it up and we import plugins this is going to go look in a directory of this name so to actually get all of our NE plugins we keep it in a directory called plugins um and if you're not familiar with lazy lazy ends up looking like this you get a command that you can run and it's going to bump up this window in your view you're going to get all the plugins you have loaded in your system which you can see I have quite a few and then some of them haven't loaded in yet because I haven't needed to use them that's one nice property of lazy is you can really configure it to not load plugins until you need them hence the name lazy lazy loading um that can help with startup times if you use a lot of plugins we can come in here and we can do things like uh we can check if any of our plugins have updates uh looks like I do so let's read through these quick some new updates to treeit Great some updates to dressing some updates to luine great these all look good so if we go back up to the top we can go ahead and run update or sync so I'm just going to run sync and that will update everything for me um one nice thing about um this is you can also profile it to see how fast your uh editor starts up so if you press P you can see that uh neovim in total starts up in 77 milliseconds for me and you can kind of see when and where plugins get loaded and lazy gives you a bunch of options on how to configure that um I could spend time getting this even lower but um I don't notice really any problems with my startup time at the moment so that's lazy so now let's go take a tour of my actual plugins so if you recall uh in our current file we're looking for a plugin directory that's where lazy's looking and it is looking right here this plugin directory so this I uh have a file for um most of my um plugins so we have Auto Pairs and uh uh my completion stuff so if we come in here and look we load in the typical endm autocomplete um plugin and this plugin is going to load uh when the buffer read post event fires or the buffer new file fire event fires excuse me we have a handful of dependencies in this so we have things like uh integrating with our LSP getting completions from our buffer getting file path completions getting snippet completions um some other stuff that make our Snippets better let's see here LSP kind if I recall correctly gives me icons in in our autocomplete so if we look here like I don't know yeah so these icons here that's where uh LSP kind is feeding in sete that and then um enm Auto pairs is uh going to be a plugin that like automatically closes our brackets or strings um so you can see like when I press these I'm getting like the equivalent closing of it so that's what mm Auto pairs does walking through our configuration of this stuff um I probably won't go too into the weeds with a lot of this stuff um because it's pretty specific to me but uh here we're just setting up how um Auto completes and um our popups work so setting key bindings here so I can like basically go through my list of key bindings I can open it pressing control space contrl j and k move me up and down through the list I think I can also use tab and shift tab yep so that's what you're seeing here that functionality that we just covered is what those keybinds does or do excuse me um if we have hover docs for a particular function that sets this up and this configures our sources for actual autocomplete so we get first and foremost sources from our LSP and then we get sources from co-pilot and then uh stuff out of the local buffer which I think I want to replaced these um around co-pilot file path and then our Snippets this configures some of our formatting um adds basically just um you know the symbols generally and then ghost text is like what will give the this is the ghost text here from our autocomplete plugin it's not actually in the buffer but if we accepted that that's what it's going to give us so that's our autocomplete plugin and all of its dependencies moving on our color scheme uh I use capucin macchiato no idea if I said that correctly but the plugin for capucin actually is super nice because it lets you um automatically apply your color theme to a bunch of really common um so this handle is applying my theme across all of that for me and then down here we just set our color theme and um this little bit right here um I'm not sure if I need it anymore um neovim was doing some changes to semantic highlights and it was uh giving me some weird visual effects so I just turned it off I need to go back and revisit this to see if I still need it moving on our comment plugin this just lets me do things like if I press uh GCC it's going to comment out a line or if I have a giant selection and I do GCC going to do the same thing we can also do blocks of comments so if I highlight all this and I do GB it'll do a block comment pretty straightforward um we also configure um TS context comment string I believe if I recall um this helps um integrate treesitter into our commenting next is co-pilot um I can probably remove this first co-pilot plugin nowadays I don't really use it anymore and I've changed to using our co-pilot uh complete um or co-pilot integrated with my autocomplete rather than co-pilot being it's like Standalone UI and such um so in fact let's actually just get rid of this plugin because we don't need it anymore save that next up is dressing dressing is a plugin which um just gives some of the UI a little bit better of an appearance so for example like the borders around this popup window and like down here in my autocomplete um that's what dressing does fidget is a little plugin that's being Rewritten right right now so if I press format or save you'll see this stuff down here in the corner loading this is what fidget does um so that's all fidget is git signs is going to be the plugin that adds um changes to our sidebar for if you're in a get controlled repo this is a new line so you know not super exciting um Harpoon I use Harpoon all all the time uh Harpoon is a plugin that like I can Harpoon this file so if I press spacebar ha this will be in here now and I can quickly navigate it to it so to demonstrate this let's add the previous file weim so if I press spacebar ha and then I do spacebar ho we can see our Harpoon menu I now have two files harpooned if I were to click on uh the first one that would jump us back in forth spacebar ho we are in here again I can go back here and now I have key bindings for up to five Harpoon files so if I press spacebar one it's going to take me to the first Harpoon file if I press spacebar two oops I waited too long there space bar two it's going to jump me back forth there um I can do you can edit this menu in here like you can just B one out save it um or you can just move them back and forth right and that will change the key bindings and everything pretty nice plugin I use that a lot for jumping around file buffers that uh if I'm working on a feature and maybe I have like a types definition file and a implementation file and a testing file I'll Harpoon all of those and just be able to quickly navigate back and forth between them after Harpoon we've got illuminate illuminate is going to be the plugin that uh highlights um if there's more than one symbol uh with what you're hovered over I'll highlight it so you can see I'm highlighted over this here and highlights it down there if we jump back to a file that has two Imports maybe here um let's see here yeah here's a great example we have multiple require require statements when I go over require it highlights all the other ones and I think I have if I press space bar Open Bracket I can jump jump back and forth behind all the different symbols underneath my cursor um I'm actually looking to replace this with um a different plugin um but I haven't yet it functionally does the same thing um but sometimes this illuminate plugin doesn't work well in O camel files which I write a lot of um so I'm looking to potentially replace it so that's illuminate indm blank line um that's what's going to configure these lines over here I think or I actually can't even remember what this does enabled show start yeah I think that just helps with f or like line indentation and this over here these lines then my LSP setup so we use envm LSP config uh it loads when we uh get done reading a buffer into memory uh it has a couple available commands with it we have some dependencies so Mason is a UI for installing LSPs so you can come in here and update and install new uh language servers so that's pretty convenient and nice just updating some at the time then we have um a plug-in which is probably already loaded in from our um autocomplete but this lets us bind our LSP with autocomplete none LS is going to let us have LSP servers for things like eslint prettier um formatters things of that nature neev is just going to make writing neovim code a little bit nicer for us and then fidget again um probably don't need it in here but it is a dependency is what uh gives us that nice little UI down here um nothing super exciting in here just some custom stuff so there's some messages I don't want to see from TS server um these are some messages I just like um these are some info Diagnostics I just don't care to see from TS server so I just have a list of the things I don't want to see and then I inter accept uh TS serers stuff and I filter those out it's all we're doing there this is a list of all the servers we want installed automatically for us um with some configuration on them this is going to be super specific to uh your individual like workflow and what languages you work with so here we integrate here's the code where we actually like bind our uh LSP to um the LS or autocomplete stuff let's see here I have this function uh where we integrate our LSP with some keybinds which this function comes from our actual keybinds file which we'll go over in a little bit uh we set up a command for just running formatting um and if you're a typescript Dev specifically um I have this set up in such a way that um if you're using both TS server and prettier it's going to default to using prettier to format your code rather than TS server that way you don't get like a format from prettier and then also a second format from TS server and then we just Loop through our servers in that block above register them all um here's where we set up NLS which NLS is what gives us LSP like capabilities for things like prettier and eslint um we set up some styling we say we want Prett PR style Lua okel format we set up um diagnostics for eslint um we set up code actions for is lint pretty straightforward um some styling stuff and that's the extent of my LSP stuff it's probably the most complicated piece I have next is Lu line so your uh Lu line is going to be this bar of information down at the bottom I have um did I write this oh right I wrote a custom uh Harpoon integration with um lu line so you can see down here that has this little Harpoon a Das SL2 so this is telling me that I have two harpooned files in this project and the current file I'm in is not one of them if I were to add this to my Harpoon you see that just incremented I pressed spacebar ha to add this buffer to my Harpoon list which you'll see it's there now and down here you can see that we're in our third file so that tells me if I want to get back to this file I can press space bar three we go here space bar one space bar sorry space bar two space bar one and to go back space bar three so that's how that little Harpoon integration Works um I had this for work previously um it will also show your G Branch down here you can see we're in main this basically just like intercepts uh that data and uh we had a naming convention at work to name our branches like this so I basically just parsed out the ticket number and then made it a custom Branch name so it didn't take up a ton of room this is how you write a custom component for line like I said this is like all the harpoon integration is we brought in the marks API from Harpoon we got the total number of marks if there's no marks we just return an empty string uh we set the current Mark to a dash and then we go ahead and check if the current buffer is one of the marks and if so we just spit out this string right here which you'll see like this is literally that right there and then we follow the standard lure line setup and add all the pieces we care about in my case I care about my G Branch my Harpoon uh the diff Diagnostics um our file name and our file type which is going to be over here markdown preview this is super cool I just learned about this I think from Rond recently um I have a command in my editor that um loads when I go to a markdown file so if we just quickly make a markdown down file in here markdown MD we save that we go in here let's just say hello world we save and I've run markdown preview this is going to open a tab and it's going to have that in there and it actually scrolls with you does live updating check this out like and we can just you can see it stays in sync with your editor super cool very useful for editing markdown files delete that next is envm notify um envm notify is going to give us a uh little popup over here when asynchronous things are running so for example if I run this like this airor message right here that is the kind of UI that um MV notified gives us and then uh um I just have some custom overrides and things of that nature in here some custom styling uh nothing super exciting next is MM t-mo Navigator so I also use t-mo and this lets me uh essentially um switch between neovin paines and t-mo paines so if I were to open a new t-mo pane to the right so t-mo open to the right so over here we're outside of neovim but I can press contrl H and contrl L to jump back and forth between these same with contrl um J and K if we had buffers or pains above and below and one of the other nice things is um that is not what I meant to do but sure we can close this back over here let's close this window on the left cool so that just gives us integration between t-mo and newm uh next up is oil oil is what I use for uh browsing my uh file directory I don't use a file tree you might have seen me already pop open this view this is oil this is how I navigate around my projects and explore them it lets you treat uh your file tree as an actual like text buffer so so you've already seen me create a markdown file like I can say file. txt save that yep want to create it boom I can delete it um I could go paste it in here you know this is what oil is you can also configure it to open in a buffer so if we do a new split over here and then run oil we get a buffer that doesn't go away rather than the floating one and then these are just my key maps um for oil I highly highly highly recommend oil over a file tree uh we also have Spectre so Spectre is going to be a global find and replace plugin um so I can launch into Spectre like this it gives us a UI over here this will GP across your whole project so let's say we want to search for dependencies right and let's say we wanted to change this to uh depths across the entire project uh we could do that I'm obviously not going to do that but this shows us all our changes where it would change um so super super useful plugin that I use all the time next up is symbols outline um this is going to give us exactly what it sounds like a symbol outline so if I press leader so uh gives us a actual symbol outline on the left over here we can expand it uh step into stuff yeah you're just typical symbol outline nothing too exciting next up is telescope um this is probably like my most used plug-in uh if you're not familiar with telescope which I it's like one of the foundational plugins in the ovm this is going to be our fuzzy finder so if I do like spacebar SF it's going to let me search for files across my entire project um filter it down I can also search uh my open buffers I can search just a whole bunch of different things it lets you fuzzy find across in that UI just showed um so this is how that's configured next is treeit sitter treesitter is what's going to give us really awesome highlighting and basically parses our buffers into abstract syntax trees and enables um other plugins to read and interact with those uh syntax trees in fact can we I forget what the plugin is here there's a way to inspect yeah inspect tree so here is what the current files uh tree sitter syntax tree ends up looking like so plugins will use this tree to highlight things syntax highlighting edit files one of the most useful plugins in the neovim ecosystem uh next is tscm this is my own uh plugin uh this lets you get uh asynchronous in fact you saw me run this earlier we're not in a typescript project right now but this plugin will run asynchronous non-blocking project wide type checking on a typescript project next up is UFO this is my uh code folding plugin so so we can come in here and like fold this right that's basically what this does um just sets up some custom folding next up is vim maximizer so if I have two windows open um if I press spacebar M it'll maximize it or minimize the other or maximize the current paint I'm in and I can press it again to uh have them equal out so very little setup for that plugin themm surround uh is a plugin where let's say I have um some text I can say yank y s i w and then brackets and it'll surround it with brackets I can also do that or I can delete surround all sorts of things like that so that's what that plugin does and finally Wilder um Wilder is what controls uh command mode in newm so command mode is this guy down here this is going to give me like fuzzy finding and better Auto completes and some different uis um so that's what Wilder does and then I have some just styling and custom setups that I found useful so that's all my plugins um it's quite a few but it's still pretty lightweight like I said that I have a 77 second or 75 can you imagine a 77 second startup time 77 millisec startup time so my key maps are going to be under here and again this is a file I've tried to uh comment pretty heavily so maybe one useful thing to cover first is I have these keymap utils which I actually think I'm going to rip out I copied this from primagen originally um but I think I'm going to get rid of them when I get some free time but to go look at what my keymap utils look like um I B basically just give myself convenient methods for U mapping different key combinations in vim's various modes whether that's normal mode which is what we're in now insert mode when we're typing uh command mode um things like that so that's all these do um nothing super exciting some of them are non-recursive which means it won't override um underlying keybinds but let's jump in uh so we disable spacebar since we're using it as our uh leader key so we can move in every direction contrl jrl KRL l contrl h um I can press um leader um control up to switch between the last buff ER which is you know here that's actually not what I would have expected um I should probably change this but save with leader key so I press space bar W to save my buffer leader Q to quit out of the buffer uh save and quit leader Z I almost never use this key bind I press leader e to open uh a floating oil buffer um I have a bunch of key maps for keeping my buffer centered when I navigate so ZZ in neovim is a key bind to Center your buffer around your cursor so when I'm doing vertical movements which are all captured here on the left um I update them to automatically Center my buffer so if I'm going up and down it's always keeping my buffer centered that's what these do these are some of like my most important keybinds in my op opinion um let's see here I can press leader capital S to launch into find and replace um I can oh that was that one if I just do capital S it'll put me down here to uh find and replace in the current buffer and then leader capital F uh launches me into Spectre uh I have two key binds for jumping to the beginning and start of a line so I use capital L and Capital H to jump between uh the start beginning of lines uh I use capital u for undo so I can do undo there and then this is actually more like redo so if I come in here and I delete in between these I can press uh lowercase U to undo it and then capital u to redo it so I thought that was a pretty uh nice convention uh if I want to turn off highlights so if I search for let's just say no recursive remap you can look in here and if I want to hide these highlights I press spacebar n o turns them off um if we had Diagnostics I can uh navigate around my buffer by pressing bracket D or bracket um e bracket W let me jump around my various Diagnostics in my buffer so D will take me to any diagnostic e will just take me between my air Diagnostics W for my warnings uh we can place all our Diagnostics into a quick list I don't really ever use this um I do use these Quick Fix list ones so if I did have something in my um if we do spacebar LD whoops it's going to put all our Diagnostics into this quick fix list and I can navigate in my Quick Fix list from in the buffer by pressing space bar CN CN or CP uh I can close it by spacebar CC whoops Cc or reopen it with so that's how I use my Quick Fix list and let's go back and fix that uh the maximizer toggle I talked about before that's where if I have two buffer opens and I press spacebar M it's going to maximize the current one I'm in I can press lader M again to bring them back to equal widths um uh I can also use leader uh Arrow key to um or leader equal excuse me that was a weird uh little ligature there so if I go in here and I press leader space bar it'll set them to equal so those kind of do the same thing space bar F formats my current buffer uh oh this is one of the custom ones I wrote which we'll go over in a little bit so if I have two buffers open uh let's go to a different one actually so I have my options in this open I normally am always editing in my left buffer if I press leader RW it rotates them RW um is the pneumonic that I came up with you know it's short for rotate windows so that's what that does uh leader TC runs my uh typ script type Checker plugin that I built and obviously the the pneumonic there is uh type check or typescript compile so my Harpoon keybinds which we've talked about already ho opens Harpoon ha adds the current one HR removes it HC clears all of it see if we did HC whoops HC it's now empty and then here's how I navigate between my Harpoon files again spacebar one space bar two space bar three space bar five got through all this oh GX I did skip this one GX if my cursor is over a link and I press GX uh it will load that link in um the browser so if we just have like github.com DMM mroy and I do GX it'll open that so getting into actual telescope keybinds um I can do leader question mark to uh show my most recently opened files uh leader SB I also use quite frequently for all the buffers right now like I've been in every buffer I've been in every file in this project so this isn't really a good list to demonstrate but this will effectively just be a list of all the buffers I've opened uh SF again like I said all the files in my project uh sh lets me search the neovim help so if I press leader sh I can search all of the help documentation across all my plugins and across all of the uh neovim and Vim super useful SG is searching by GP across the whole project so if I press SG I can then just search across everything in here and it'll GP uh really the entire project for uh whatever you type in SD lets me search Diagnostics I don't use this at all and in fact I overwrite it right afterwards with uh search git files which we also have up above so I can get rid of that SC lets me search commands I really don't use this because Wilder gives me autocomplete and fuzzy finding all my compl uh commands down there but if I did SC this would also give me all my commands uh in this view here uh let's go delete that uh leader slash is going to let me fuzzy search in the current buffer again I don't really use this super frequently um I just end up using the normal search down here um so it's there though uh leader SS lets me do a spell check I uh have tons of typos when I edit so if I do SS it's just going to pop up spelling suggestion questions and then here's our LSP keybinds um so this is the function that if you recall in our LSP we have map LSP keybinds in here we import this function into our LSP keybinds uh to use and we pass in the buffer so if we go excuse me if we go back so these are all of our LSP keybinds so leader RN will rename the current symbol uh so let's see if I can just do like this that just rename that and all of that in there um yep we want to go there sorry CA is for opening code actions so if I press leader CA there's no code actions available I don't know if I'm going to get anything I don't particularly know Lu's code actions but that will give me code actions in other languages uh pressing GD is my go to definition uh gr is going to be go to references so if I do gr it's going to show me a list in telescope of all the references of that symbol uh GI takes me to a list in telescope of implementations um I don't think I've ever ran leader BS uh but that would give me all the symbols in the current buffer like instead I would open up my uh symbol map over here um project symbols again like BS I just don't really use this at all um we map capital K to have that hover dock there and leader k for that um control K when we're in insert mode to get a signature help um we can go to declarations and then TD is for type definitions uh we've already covered our symbol outline um we've covered jumping uh in illuminate so illuminate again is what's hovering or highlighting uh the same words um key binds for UFO uh I map JJ so if I'm insert mode and typing if I press JJ I go out of insert mode in visual mode we disable space again the same as normal mode um using capital L and um capital l and H to jump to the beginning and end of lines uh this is a super useful plugin um so when I paste we don't lose the contents of the register um I have these if I press alt K or J I can move selected text up and down uh we've got some indentation stuff so if I highlight a block of text and I press Arrow Arrow moves it over and back or if we do equal it just automatically does it and then finally the last stuff to cover is kind of all of my custom stuff this group of uh files here so we'll start with highlight yank so in here uh if I do like yanking word if you see how it like highlights that whole block right there that's what this plugin does so like when you yank something uh it highlights that whole block to give you like a visual indication that you yanked something next is going to be format on Save and here basically this just runs that format command that we saw previously in my LSP file um so when I write it's automatically going to try to format the file uh toggle es lint this basically just gives me a uh user command that I can turn eslint on and off with up next is the rotate Windows plugin again this is the plugin that uh lets me do stuff like this I just custom wrote it to the way I like it it's one of my favorite things about neovim is being able to easily write this kind of functionality that fits your workflow um and this was really easy to write like I just go look at the open Windows if I have more than two I say I can't do it otherwise I just swap them next up is resize windows so this is an auto command uh that like um basically as I resize this this just keeps the proportion of um the windows or the the open windows and buffer in your neoven buffers as it it uh resizes next is vertical help um this just is a function that makes when I like if I search for help right and let's say I just want to go to I don't know look at LSP stuff it's going to load it in a vertical tab rather than a horizontal Tab and that's just a personal preference next up is uh this little edit text thing and this just turns on word wrapping and spell checking when I'm in a text file a get commit message or a markdown file and then toggle Diagnostics is going to sound pretty exactly like it what it is if I uh I don't know let's make some errors here you can see that I have diagnostic showing up in my buffer so if I run my toggle Diagnostics command it will just hide them and turn it off and then I can come in and turn them back one and I think that is pretty much everything I wanted to cover all yall that's the full tour thank you very [Music] much he
Info
Channel: Dillon Mulroy
Views: 43,789
Rating: undefined out of 5
Keywords:
Id: oo_I5lAmdi0
Channel Id: undefined
Length: 48min 32sec (2912 seconds)
Published: Sun Jan 28 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.