Chief Edging Officer here. Real talk. Thank you so much for all the amazing support. I cannot thank you all enough. TRULY. You know everything I do is live on twitch? Where you can see me scream at you... BLAZINGLY FAST.
I remember following this series as it was released. Most of these are 2nd nature to me now, but I came back to this one to check for tricks I might’ve missed. On rewatch, 7:32 has me a little confused? Why VY and not just Y?
the only person whose videos single handedly inspired me to dive deep into vim, learn some of the unusual stuff and gradually get good with it, congratulations to you prime for the 100K and also for these BLAZINGLY FAST contributions to the vim neighborhood. Keep the coconut oily movements coming!
I was going to mention the “gv” Normal-mode command too. It’s very convenient after you made a mistake with Visual mode, such as selecting one line too few or too many as ThePrimagen did at 9:00.
So glad you're doing this series. Your video on 'g' was the first of yours I watched and was blown away how f***ing entertaining you were. Not sure this would be vim-specific but it'd fit nicely in this series... a Regex series for things like the fighting kirby and any other oddities that go beyond the basic blob operator
What I love about your vids is that they aren't pretentious "10 vim commands you don't know", but show so many cool tricks I've not used before. Almost every other video out there is the same 10 commands, probably all sourcing the same medium article on "obscure" vim commands.
You are the only UA-camr where I need to turn the playback speed down to 0.75x. I watch most tutorials at 1.5x. Blazingly fast was an understatement, dude. Anti-clickbait, that's what it is. Next time I expect a more honest title such as: "Absurdly hypersonic, scratch that, faster than light-speed Vim" I loved every second (which in my case was 25% longer) of this tutorial. Been using Vim for about 1.5 years and some of the tips in this video still managed to blow my mind! Thanks Prime, solid as ever!
Felt compelled to comment again after watching all the way through. Please make more of these videos! 🙏 This one was hella useful. I already have the muscle memory for the individual steps you showed in this vid, but just hadn't quite figured out how to string them together to assassinate the repetitive little manipulations we do all the time (like your example of setting the elements of that `data` array).
@ThePrimeagen best thing i did to my config was making w => e while in operating and visual mode. If you think about it, you almost always want to use w (include space) while navigating, but use e (exclude space) while performing an operation. So this mapping just combines the two with almost no drawbacks
I finally started to using vim because of this series, this video is the first one that I have to "study" because IMO is the high level stuff, Keep the good work!!!
8:40 Prime, I am really interesting in seeing a video about the vim sed commands! I have recently started using find and replace a lot in vim, especially where I used to do macros.
Best vim course by far, you really dove right into it. Also everything is so fast haha, need to rewind 10 times to see what you just pressed, but it's amazing seeing firsthand just how fast a true Vim user can code. I'll keep practicing and hopefully will reach that level as well soon.
I just found you and I feel soooo goo bc I already knew every single trick showed heere, I feel so proud of me 💌you are such an inspiration, keep goiing!!
Another banger! This one I'll have to rewatch a few times to get it because my vimming isn't quite at this level yet. I guess that's why I'm only Principal Janitor of TheStartup. 😅
I’m on team built-in vim motions for the exact stated reason that they will likely work in whatever vim ide plugin you’re already using. Excellent advice!
I have always used the vertical select mode to g+control+a, loved to learn that just selecting it with line visual is enough, so much easier! And the "o" to go back and forth in visual mode, also didn't know that! I guess it can be used with the extra tip and the end, if you are in the middle of a humongous json thing, you can do a vi[ and then "o" to go to the top as well.
The "vi{" gold nugget at the end also works when editing massive HTML/XML/etc. documents on which you have no idea where a tag begin/ends. You can use 'vit' or 'vat' (select inside tag, or select around tag -or whatever the 'a' means), and it's a good way to jump between opening/closing tags. Pressing 'o' (like in "oily, coconut-oily") helps moving to the start/end of the selection. As always, great video, Primeagen. I felt walking through the Valley of Shadow of Death every time I had to edit an array.
Keep them coming! There is also " :.,.+{numer} norm " to apply a sequence of comands in normal mode from current line + {number}. For exemple, insert a semi-colon at the end of 3 lines: ":.,.+2 norm A; "
Damn your vim skills are in god mode! Going to take away the % sign tip and work it. Thanks for all your vids, I still go back to the original 1-6 series to refresh skills 👍🏼
5:20 Instead of doing va}Vd you can also do dVa} dV is line-wise delete. The advantage to doing dV instead of V...d is that you can repeat it in any pair of curly braces. Repeating V...d just uses the static visual selection, i.e. the same number of lines all the time.
I recently discovered a (pretty stupid) trick: map and to "4j" and "4k". Then whenever you're holding J and K to scroll, just hold the ctrl key as well and you will scroll 4x faster.. Great for when you want to quickly move the cursor like 20-30 lines and don't want to think about it.
Great video! I was surprised that you could do ci", di", etc just when you are on the line. For some reason I thought I need to literally be INSIDE the " That's a deal breaker :)
Suggestion for Your bonus tip At the end of the video: vi{ can be replaced by ]}, which will bring you to the end of a “scope”. I think you can repeat by using ; which will navigate to the end of the next (inner) scope
I love your videos .... Now I have switched 50% of my workflows to nvim and can use it to get things done. Thanks to your video it's not that scary anymore :D
If you don't already know - 'verymagic' mode makes writing regular expressions easier (all keys have their special meaning by default besides alphanumerics and _), and it's negative 'verynomagic' is equally great for verbatim text
I didn't even KNOW about p for paragraph and a in visual mode for "around". Nice to keep on learning movement! Finally in my "advanced" phase, I miss seeing new content, like this!
you can also do "dib" to delete inside any kind of parens/braces which I find is easier than having to think about what kind of braces you're in or reach for "%"
you can use :keepjumps command to not store stuff in the jumplist map("n", "{", ":execute 'keepjumps norm! ' . v:count1 . '{'") map("n", "}", ":execute 'keepjumps norm! ' . v:count1 . '}'")
thanks so much brother ..you are my inspiration ..started using it since 1 week ..just loving it ! ....thanks again from INDIA ..this vim skill is MUST NEEDED !
Just an update, you can also use f with around or inner to select a function, as well as "a" for arguments (if you use treesitter). So for example, to delete a function you just do "daf" or "delete around function". To change the argument your cursor is over you do "caa" or "change around argument".
I dropped my phone while watching this. Too much coco oil. Thanks sir, I am starting with vim and this is just needed. Would love one where you talk about what you think the “needed” plugins for a bare minimum vim setup are. Keep up the good work Maria.
Glad I stayed to the end. BTW I still do :10000 to go to the end of the file just because It has a great result and I dont have to think about how to get to the end. Just saying since you learn something that is not 100% effective does not mean that it does not work.
WOW ::::: Mind blown 🤯 I didnt know about the ctrl + a and about the substitute abilities in vim and you can use regex like selection in it I will gladly use these new information in my beautiful blazingly fast VSCode VIM 🔥
Slight improvement (IMO) for that last very large array scenario - ]] will take you to the end of the array and [[ will take you to the start (same with ]} and [{ ). That said, the visual mode way shown works with more objects so one could argue it incurs less mental load by being more general.
At around 5:30 mark, you could use nvim-treesitter/nvim-treesitter-textobjects which add functions and classes text objects. You could do for example daf to delete a function, or dif to delete inside of a function.
Damn, man your motions were so fast, that playing video on 0.25 was not enough to understand some keystrokes. Seriously, I found some useful motions. Thanks and keep going!
Thanks! I did not yet know about that combination of the g key with that Ctrl a and x increment and decrement. However, I tried something really interesting too, might be worth sharing. And that is trying the 0x and 0b notations for hex and binary numbers, and it turns out that Vim recognizes that as well with this incrementing and decrementing. Very cool!
Nice little custom normal mode command I have is +semi-colon, for all you c/cpp devs out there who are fed up going to the end of a line to add a semi-colon
In 8:50 you don't even need a capture group as `&` in the replace segment of `:substitute` inserts the entire match. This would work: `:s/\w\+/data[0] = "&"/` and it's easier to type.
if I remember correctly, I heard you mention something about making a course (not tutorials like this video) to teach new developers vim. Is such a course available anywhere?
DAMNN. I was hesitate to gave up vim after my boss demand I switch to window and vscode like a "normal person". Fuck him. Those tips are killer, chief.
Your array example: I sadly would have just used a macro that completes the edit and moves the cursor down a line so I can spam @@ to repeat Why I love watching your videos. I learn different/new ways to solve my editing problems! Thanks @ThePrimeagen
I really love your videos and TJ's videos, you guys really talk about neovim/vim. I hate other show-off guys always talk about their setup which is nobody F*king care
Theo: "WHY ARE YOU WRITING UNIT TESTS😭". PRIME: "SUCK IT I LIKE THEM" lmfao! I learn so much from the vids and am entertained, all at the same time! Congrats on 100k
Chief Edging Officer here. Real talk. Thank you so much for all the amazing support. I cannot thank you all enough. TRULY.
You know everything I do is live on twitch? Where you can see me scream at you... BLAZINGLY FAST.
Thank you!
sus 🧐
I remember following this series as it was released. Most of these are 2nd nature to me now, but I came back to this one to check for tricks I might’ve missed.
On rewatch, 7:32 has me a little confused? Why VY and not just Y?
Love this series. Please keep em coming! Blazingly Fast. Love the laterally inverted plaque lol.
WE ARE TRYING
@@ThePrimeagen I shall send some coconut oil if it helps.
the only person whose videos single handedly inspired me to dive deep into vim, learn some of the unusual stuff and gradually get good with it, congratulations to you prime for the 100K and also for these BLAZINGLY FAST contributions to the vim neighborhood. Keep the coconut oily movements coming!
Love the o tip for moving the cursor in visual mode.
Another nice one to have is gv to reselect previous visual area
I was going to mention the “gv” Normal-mode command too. It’s very convenient after you made a mistake with Visual mode, such as selecting one line too few or too many as ThePrimagen did at 9:00.
So glad you're doing this series. Your video on 'g' was the first of yours I watched and was blown away how f***ing entertaining you were. Not sure this would be vim-specific but it'd fit nicely in this series... a Regex series for things like the fighting kirby and any other oddities that go beyond the basic blob operator
have a link handy?
What I love about your vids is that they aren't pretentious "10 vim commands you don't know", but show so many cool tricks I've not used before. Almost every other video out there is the same 10 commands, probably all sourcing the same medium article on "obscure" vim commands.
Thnx CEO of multi billion dollar startup.
what do you mean ?
Really cool
You can gp instead of just p to move the cursor to the end of the paste (rather than having to manually navigate). Works with P too, using gP
I've learned more new things about vim in the last 10 minutes than I have in months. You're a beast primagen lol. Please keep this series going!
you are welcome ^^
You ALWAYS have something new to show about vim, I am very impressed... every time I see you, I have got something amazing and blazingly to learn!
You are the only UA-camr where I need to turn the playback speed down to 0.75x. I watch most tutorials at 1.5x. Blazingly fast was an understatement, dude. Anti-clickbait, that's what it is. Next time I expect a more honest title such as: "Absurdly hypersonic, scratch that, faster than light-speed Vim" I loved every second (which in my case was 25% longer) of this tutorial. Been using Vim for about 1.5 years and some of the tips in this video still managed to blow my mind! Thanks Prime, solid as ever!
Yayayayaya
I cant believe people actually work like this, this is incredible. I'm taking the leap of faith into believing this is worth ti
It's like watching a Sorcerer revealing his secret spells.
Thank you very much, that's awesome!
This series is what I have always dreamed of. Thank you for doing this. The fighting one eyed Kirby is a game changer
the rule of watching ThePrimeagen video, you like first, then pressing the play button
Good rule
Felt compelled to comment again after watching all the way through. Please make more of these videos! 🙏 This one was hella useful. I already have the muscle memory for the individual steps you showed in this vid, but just hadn't quite figured out how to string them together to assassinate the repetitive little manipulations we do all the time (like your example of setting the elements of that `data` array).
It feels so awesome when you get to it all together
@ThePrimeagen best thing i did to my config was making w => e while in operating and visual mode. If you think about it, you almost always want to use w (include space) while navigating, but use e (exclude space) while performing an operation. So this mapping just combines the two with almost no drawbacks
I finally started to using vim because of this series, this video is the first one that I have to "study" because IMO is the high level stuff, Keep the good work!!!
8:40 Prime, I am really interesting in seeing a video about the vim sed commands!
I have recently started using find and replace a lot in vim, especially where I used to do macros.
Yeah me too
seat-belt sign is the beautiful motion
This series is awesome. Learning new vim tricks every episode!
:)
Best vim course by far, you really dove right into it. Also everything is so fast haha, need to rewind 10 times to see what you just pressed, but it's amazing seeing firsthand just how fast a true Vim user can code. I'll keep practicing and hopefully will reach that level as well soon.
I just found you and I feel soooo goo bc I already knew every single trick showed heere, I feel so proud of me 💌you are such an inspiration, keep goiing!!
Another banger! This one I'll have to rewatch a few times to get it because my vimming isn't quite at this level yet. I guess that's why I'm only Principal Janitor of TheStartup. 😅
Well... technically you are director of janitorial engineering...
@@ThePrimeagen I stand corrected, Mr. CEO. I will update my business cards and email signature appropriately. 👍
Me listening to Prime talking about VIM:
"I like your funny words magic man"
Damn, I like the g thing. Also, to go to the beginning or end of a function I usually go with [{ or ]}.
"glad I watched until the end."
I can't believe I'm touching and even learning vim again after I hated it for a decade, just because of this channel
just don't stop teaching, you're the best!
who says i am teaching? :)
loving these motions which go into a pair of parens / quotes and do stuff inside them.
I’m on team built-in vim motions for the exact stated reason that they will likely work in whatever vim ide plugin you’re already using. Excellent advice!
I have always used the vertical select mode to g+control+a, loved to learn that just selecting it with line visual is enough, so much easier! And the "o" to go back and forth in visual mode, also didn't know that! I guess it can be used with the extra tip and the end, if you are in the middle of a humongous json thing, you can do a vi[ and then "o" to go to the top as well.
The "vi{" gold nugget at the end also works when editing massive HTML/XML/etc. documents on which you have no idea where a tag begin/ends. You can use 'vit' or 'vat' (select inside tag, or select around tag -or whatever the 'a' means), and it's a good way to jump between opening/closing tags. Pressing 'o' (like in "oily, coconut-oily") helps moving to the start/end of the selection.
As always, great video, Primeagen. I felt walking through the Valley of Shadow of Death every time I had to edit an array.
Even better gold nugget: ]} or [{
@@andyw732 Ty. I need to try that. I believe I saw that somewhere before, but didn't work for me 🤔
Keep them coming!
There is also " :.,.+{numer} norm " to apply a sequence of comands in normal mode from current line + {number}. For exemple, insert a semi-colon at the end of 3 lines: ":.,.+2 norm A; "
You can pre enter ..,..+{number} by pressing, in normal mode, {number} followed by :
Damn your vim skills are in god mode!
Going to take away the % sign tip and work it. Thanks for all your vids, I still go back to the original 1-6 series to refresh skills 👍🏼
5:20
Instead of doing va}Vd you can also do dVa}
dV is line-wise delete. The advantage to doing dV instead of V...d is that you can repeat it in any pair of curly braces. Repeating V...d just uses the static visual selection, i.e. the same number of lines all the time.
much smart!
i didn't realize you could chain it like that!
Vim god hath once again bestowed upon us new knowledge
that background makes gruvbox that much more #hawt prime...glad I stayed until the end!
I recently discovered a (pretty stupid) trick: map and to "4j" and "4k". Then whenever you're holding J and K to scroll, just hold the ctrl key as well and you will scroll 4x faster.. Great for when you want to quickly move the cursor like 20-30 lines and don't want to think about it.
Holy shit. This is one of most informative videos that are very entertaining on this entire site
yayaya!
This series really convinced me to start using Vim motions. Now I have Evil in my Emacs :)
Great video! I was surprised that you could do ci", di", etc just when you are on the line. For some reason I thought I need to literally be INSIDE the "
That's a deal breaker :)
yes, this is the mind blowing speeds of vim :)
I am SO glad I stayed for the end of this video
Suggestion for Your bonus tip At the end of the video: vi{ can be replaced by ]}, which will bring you to the end of a “scope”. I think you can repeat by using ; which will navigate to the end of the next (inner) scope
I love your videos .... Now I have switched 50% of my workflows to nvim and can use it to get things done. Thanks to your video it's not that scary anymore :D
Glad I watched till the end, but happier that caught a glimpse of the elusive plowghini.
Man I'am from Russia. Thanks. My speed In Vim going to the sky. U're godlike
If you don't already know - 'verymagic' mode makes writing regular expressions easier (all keys have their special meaning by default besides alphanumerics and _), and it's negative 'verynomagic' is equally great for verbatim text
I love how you sprinkle :w everywhere
Thanks! This series is pure gold. Keep it up, please!!
I didn't even KNOW about p for paragraph and a in visual mode for "around". Nice to keep on learning movement! Finally in my "advanced" phase, I miss seeing new content, like this!
Thank you for all videos about Vim Movements! I walked to the end!
Dang, I love this coconut oiled shiny, amazing, super series💥
Thanks a lot 💪
you can also do "dib" to delete inside any kind of parens/braces which I find is easier than having to think about what kind of braces you're in or reach for "%"
Oh man I've slept on the "ib" motion and the like, good call
I learned alot of great tips here, and I've been using vim for a decade. Thanks
you can use :keepjumps command to not store stuff in the jumplist
map("n", "{", ":execute 'keepjumps norm! ' . v:count1 . '{'")
map("n", "}", ":execute 'keepjumps norm! ' . v:count1 . '}'")
ty, not sure why those jumps store by default, pretty useless
I may have converted years ago at this point, but I always learn something useful from these!
Bruh, your Vim videos are so mind blowing, looking forward to coming back and actually understanding half of what you did in this video lol
At 6:42 you can also just do a '=] instead of >4j which is the "Smart paste Tip 1593"
Listening to the audio only, without knowing anything about vim, is a wild ride.
thanks so much brother ..you are my inspiration ..started using it since 1 week ..just loving it ! ....thanks again from INDIA ..this vim skill is MUST NEEDED !
Just an update, you can also use f with around or inner to select a function, as well as "a" for arguments (if you use treesitter). So for example, to delete a function you just do "daf" or "delete around function". To change the argument your cursor is over you do "caa" or "change around argument".
Is this the Dr. Disrespect of the IT world? Nice content!
I dropped my phone while watching this. Too much coco oil.
Thanks sir, I am starting with vim and this is just needed. Would love one where you talk about what you think the “needed” plugins for a bare minimum vim setup are. Keep up the good work Maria.
Glad I stayed to the end.
BTW I still do :10000 to go to the end of the file just because It has a great result and I dont have to think about how to get to the end.
Just saying since you learn something that is not 100% effective does not mean that it does not work.
... so you press G?
but you are right, you don't have to do things the bestest, you have to do them the way you enjoy them the bestest
One thing I started using a whole ton is capital J - blazingly fast line joining and useful in a lot of cases.
I like it before I see it!
o in visual mode is insane
I recommend the "." command for the array asignments, at least if you use a single edit to do so: [uppercase I] [end] [esc]
Wow! I’m glad I stayed until the end!
Thanks a lot for this video. I
WOW ::::: Mind blown 🤯
I didnt know about the ctrl + a
and about the substitute abilities in vim and you can use regex like selection in it
I will gladly use these new information in my beautiful blazingly fast VSCode VIM 🔥
OH NO!!!! s/\(\w.*\)/data[0] = "\1";
doest work in VSCode vim 😠
Slight improvement (IMO) for that last very large array scenario - ]] will take you to the end of the array and [[ will take you to the start (same with ]} and [{ ). That said, the visual mode way shown works with more objects so one could argue it incurs less mental load by being more general.
At around 5:30 mark, you could use nvim-treesitter/nvim-treesitter-textobjects which add functions and classes text objects. You could do for example daf to delete a function, or dif to delete inside of a function.
yeah, but i am trying to avoid motion changing items I really worry about building unusable habits.
Damn, man your motions were so fast, that playing video on 0.25 was not enough to understand some keystrokes.
Seriously, I found some useful motions. Thanks and keep going!
Tyty
This one was meaty, gonna have to rewatch a few times to note everything lol (and now it's probably a good time to learn how to use Treesitter)
Thanks! I did not yet know about that combination of the g key with that Ctrl a and x increment and decrement.
However, I tried something really interesting too, might be worth sharing. And that is trying the 0x and 0b notations for hex and binary numbers, and it turns out that Vim recognizes that as well with this incrementing and decrementing. Very cool!
lord coconut oil
Nice little custom normal mode command I have is +semi-colon, for all you c/cpp devs out there who are fed up going to the end of a line to add a semi-colon
As for your last tip, one thing I end up using quite often is O to jump at the first or last line of a selection without leaving the visual mode.
Sweet coconut oil infused goodness right here
I'm just glad you returned to gruvbox.
In 8:50 you don't even need a capture group as `&` in the replace segment of `:substitute` inserts the entire match. This would work: `:s/\w\+/data[0] = "&"/` and it's easier to type.
Amazing content dude! I would love to hear your thoughts/strategy on macros?
This video is good, the only down side is that you must watch in 0.25 speed.
This guy's about convinced me to start using some archaic 30+ year old piece of software
Prime making my workflow coconut oily smooth
if I remember correctly, I heard you mention something about making a course (not tutorials like this video) to teach new developers vim. Is such a course available anywhere?
Glad I stayed till the end
DAMNN.
I was hesitate to gave up vim after my boss demand I switch to window and vscode like a "normal person".
Fuck him.
Those tips are killer, chief.
This series taught me everything. Thanks
And THAT is why you are the CEO baby!
Your array example: I sadly would have just used a macro that completes the edit and moves the cursor down a line so I can spam @@ to repeat
Why I love watching your videos. I learn different/new ways to solve my editing problems! Thanks @ThePrimeagen
Glad I watched it till the end... 😄 I made myself a macro for that regex and oh boy, oh boy... coconut oil is dripping!
I have to turn the speed to 0.5x to follow your steps. It's blazingly fast...
I really love your videos and TJ's videos, you guys really talk about neovim/vim. I hate other show-off guys always talk about their setup which is nobody F*king care
I can't wait until I'm this cracked out with vim
Absolute 🔥🔥as always
I was going to hit like just to notice I already did earlier in the video 😂
Theo: "WHY ARE YOU WRITING UNIT TESTS😭". PRIME: "SUCK IT I LIKE THEM" lmfao! I learn so much from the vids and am entertained, all at the same time! Congrats on 100k