 In this video I'm going to talk about what kind of plugins and other settings I recommend for Vim. I've been getting a lot of questions about just different things that I do in Vim in videos that people will see and won't know exactly what I'm doing. So I want to do a video just showcasing the kind of stuff I have in my Vim RC just to make things clear and answer some questions and hopefully give you some ideas for the kind of stuff that you can do in your own Vim RC. Now I'll go ahead and say well you might as well start with plugins because that's the question I get the most or yeah the question I get the most. Now for plugin management I'll go ahead and say I use plugged. I find that it's probably the simplest thing out there. I've used pathogen I've used some of these other things but plugged is probably the easiest thing. You really just have to put this little sequence in your Vim RC and you can install plugins by saying plug install or update them by saying plug update or something like that. I usually don't actually update them that much but you know all you need is this in your Vim RC and it shouldn't throw any errors or anything similar. I find it very easy to use. Now the plugin that I get the most questions about is Go Yo. In fact the last video I did I think I was using this plugin briefly and you know six seven eight people just commented in row asking what it was. So Go Yo let me go ahead and turn it on. Go Yo what it does is it centers your text in Vim. You can see that you have a more readable format here. Of course for Vim RC file it's not going to make much of a difference. It's not supposed to be read but if you're making a if you're writing long paragraphs or something like that and you want something that isn't filling up the screen it's just sort of right in front of you and very readable. I definitely recommend Go Yo. I have it set to leader F. My leader key is space so it's just space F. We'll toggle it off and on. I definitely recommend this just because even when I was barely using plugins this is one that I can pretty consistently like using just because it just makes it a little more easy to actually write text. It's not like I use it when I'm writing code or anything but you might you might like it. Another plugin I have I'll just run through these really briefly. I3 Vim syntax by default Vim does not have the syntax file for I3 config files but this just adds that. The Maget you might know I think it's Maget in Emacs is a plug-in for dealing with Git and I actually have it open here in Vim Maget and it looks something like this where you have unstage changes that you can stage by pressing capital S and they move to the staged area you can press capital C capital C to send in a commit message so I'll say you know fish fix and then save to actually commit that stuff like that. This I think is still in development it's not as full-featured as the Emacs equivalent that it's sort of an illusion to. I don't think you can push right now I think they're about to add the ability to push from in the buffer but of course you could send in a shell command to do that from Vim just as easily it's just not part of this plug-in yet but I use this I use this pretty much all the time when I'm using Git I use the use just use git on the command line but I really like this stuff now and other stuff I have this thing Vimling it's my own plug-in this is for typing like accented characters or something like that so I can turn in turn on dead key mode and if I type in quotation mark E or double quote or yeah quotation mark or double mark quotation marks it will put in I guess diacritics on my characters stuff like that so this is a plug-in that I use a lot it also has an IPA mode if I want to write IPA characters or something like that but that that's another issue I actually did a video on this if you want to check it out I just search up I don't know special characters in Vim and it'll show up so anyway that's that's that I also Vim wiki that's just to get marked down syntax and mark down just minor mark down things I don't actually use the Vim wiki as its main you can have this kind of org mode like environment I don't really like that so much I don't really use it but and the other one I don't actually use this last one but multiple cursors you might be interested in it I don't really use that much but so some basic settings one of the settings I get the most questions about is simply setting numbers that is people will see my numbers on the side of my Vim and get confused by them it's the simplest thing in the world just set number and then relative number and as you can see the line that I'm on will have them what a whatever number it is and then it'll have numbers displayed arraying from that point and that is the reason I do this is if I want to move to this line I know that it's 10 up so I can just say 10 K and move up there so that's very convenient in Vim other settings I don't know why this isn't default but wild mode this is for having auto completion let's say I want to you know open a split and I want to have my bash file I can tab complete whatever file I want if you don't have if you have wild mode on you can you know it's basically an auto complete I don't know why this isn't default because I think it's I don't know it just seems like something you would have and I also just hate automatic commenting so I turn that off as I said Goyo is my map to F or leader F I also have spell check on leader oh oh for orthography or whatever I did a video on Vim spell checking if you want to check that out I'll go through I go through you know all how to add words to your personal dictionary and check for them and you know stuff like that so check that out if you don't know about it but leader oh turns off and on spell check and one of the other weird default settings in Vim is if I just open by default if you don't change this if you open a split it will open above your your currently open file or if you open a vertical split it'll open to the left and I find that really counterintuitive so I tell it to if I want to open a split you know a vertical split will say new file it opens on the right by default or if I want to just open a normal split I guess a horizontal split it'll open below I find it really weird that the default is not like that also in splits by default to move from split to split you have to press control w and then one of the Vim keys you know hjkl I find that's too much so I just map them to control plus hjkl just a little easier other things so in terms of in terms of external scripts there are a couple things that I evoke from them pretty much all the time you can see some of them here first off is shells shell check this is a nice little script if you don't know what this is it will analyze any kind of shell script and it will tell you if there are any errors but more importantly like what kind of formatting irregularities you might have it'll check to see if you're writing a POSIX compliant shell script it will make sure that you don't have bash isms just to show you what that looks like when I call it from VIM if I press leader in S this pops up it gives me recommendations it actually looks like I have a lot of stuff it recommends me to change in my VIM or my bash RC but that's the kind of stuff that it does so I find that very useful when I'm writing stuff and of course you can come you don't need VIM for this but I like calling it within VIM so I haven't mapped to leader S I also have sometimes I want it when I'm writing some kind of academic paper I like to pull up my bibliography is nice and fast so I have leader B to bring up my bibliography well that's my LaTeX bibliography my ref bibliography or for graph is control or space R and you'll notice two things that I do in videos all the time is when I'm compiling a document be that LaTeX or graph or markdown or markdown you'll see me often well actually I think I pulled up yeah so I'm gonna pull up an example graph document and I have a compile script that I have map to space C so that'll compile it's a general handler I'll show it to you in a second that'll compile a document and control P will bring up its corresponding PDF now this of course it's a script run from VIM but you know this is very much independent for example I can close the VIM buffer and there's no problem now to show you these scripts let me go ahead and what is it so compiler these of course are all of my githubs my githubs my github really all it is is a script that just checks okay what kind of file type is it and runs a particular command to compile it depending on what it is same thing for the the open the output binding it just checks whatever file it is and opens a corresponding PDF or something like that and it's different for different file types so that's it that's that's one thing that I use pretty frequently you'll see me using that in a lot of my videos and I have a little script that cleans up text or like tech file a lot tech build files when I leave VIM other stuff like that one annoying thing about so well on some edge cases in VIM sometimes it doesn't auto detect certain types of files so I just have it set you know be sure to read these as markdown be sure to read these as graph and I also have my Calcurs notes set for markdown and stuff like that I'm gonna skip a little ahead here oh one other thing that people another common question people ask about is how do you copy and paste in VIM here what I have to copy and paste in VIM check I had I did a video on copying and pasting I mean not not you know general Y and D and P and stuff like that but copying from VIM to like your browser or vice versa I did a video on that check that out if you haven't seen it already and the only other thing that I think might be worth looking at is I have I I have a command right here that will automatically delete all trailing white space when I save something so if this is actually every once and all this annoys me someone will like push some commit to one of my repositories that has a bunch of trailing white space and it'll mess something up because they don't check it but this this has happened to me multiple times but this is one little thing that I do to at least make sure that I don't do it so whenever I save you'll notice I made some white space here but when I save the document that white space actually gets deleted now there are only a couple times when you need white space at the very end for certain types of documents but those are really rare and other than that I'll just note that there are a couple things for example when I edit my X resources file I actually have it so whenever I edit that file it'll automatically update my XRDB my X database and just reading that file automatically that's just because and I think I have that oh yeah with this thing as well so I have some bookmark files to keep where I generate bash aliases from and whenever I update those I have it explicitly update the shortcuts for that so just bear in mind that you can do this when you whenever you finish editing a file you can say but buff write post and have some command run for that file or something like that so that's most of my VMRC the rest of it is really just snippets I've talked about these before when you know if I'm in a law tech file notice these are all my law tech snippets if I type in this particular sequence it will generate you know I want to make some bold text I just type in BF and it will just automatically input the syntax for that bold font that's very convenient when just sort of doing things automatically in Vim I there are of course many plugins that can do this for you by loading someone else's configurations but I I find that it's just easier to do it myself this might seem like a lot but it's really just like one afternoon I was like I'm gonna make some shortcuts for law tech and just do that it's as easy as just typing it out once frankly same thing with HTML additionally things like inputting special characters I have if I if I'm editing an HTML file I just do that if I input some kind of special character like you know e with an accent on it or something like that let me go ahead and do that it will automatically probably use my dead key thing it'll automatically replace it with the HTML escape sequence for that so I find that really convenient I just think it you know just a little optimization now again there are plugins for all this stuff but I just sort of like doing it myself but that's pretty much all I have in my VMRC again if you have any specific questions about the plugins I'm sure you can look them up again I've done videos on spell checking you them or you know all these all these other kind of things if you have any questions be sure to check but if I don't have videos on them feel free to ask but anyway that's about it so hopefully they get they gave you some ideas and I will see you guys next time