Advanced Vim Workflows

  Рет қаралды 84,033

Semicolon & Sons

Semicolon & Sons

Күн бұрын

Watch three typical workflows of someone with a decade of Vim experience. I'll edit 40 files at once with :argdo, turn bags of JavaScript functions into classes with a macro, then create a keyboard shortcut for playing the mp3 under cursor.
Detailed show Notes: www.semicolona...
Errata
4.16: I said "command line mode". It's actually "command mode". Thanks to the great people at r/vim for catching that.

Пікірлер: 116
@d3lirious
@d3lirious 9 ай бұрын
So far all videos displaying the "power of vim" have had me screaming at the screen as they use macros to solve absolutely basic problems that can be solved much better with :%s/pattern/replacement/g (assuming the dev is not a tool and actually knows Regex). This is the first demonstration I see of actual powerful use macros. Especially since you also demonstrate the power of text objects and arglist. Well done sir! PS: my most recent use of macros was selecting certain bits of text and moving them from one file to another. It's suprisingly easy to record a macro that: 1. deletes the entire text object your cursor is on 2. switches window (I had the other file open in the other window) 3. jumps to the bottom 4. pastes 5. comes back to the first window 6. jumps to the next text object to inspect
@Fichleai
@Fichleai 4 жыл бұрын
Holy Sh** this is amazing !! I'm only 6 months into VIM and everyday getting new tricks and commands, but looking forward to a decade in VIM !
@ArielVolovik
@ArielVolovik 4 жыл бұрын
As a new Vim user... you're a goddamn wizard!
@fredhair
@fredhair 4 жыл бұрын
Im pretty new to vim but so far I really love its capabilities though im no where near this level! The only thing is trying to remember all the keys and wishing I knew more about vim builtin scripting. Glad to discover your content and thank you for producing it!
@JKhalaf
@JKhalaf 3 жыл бұрын
As someone just getting started with vim, that was amazing to watch! Can you do a video on how you have your vim set up? I mean with all the plugins ...etc.
@Deanin
@Deanin 4 жыл бұрын
Excited to watch this tonight, glad to see more content!
@semicolonsons
@semicolonsons 4 жыл бұрын
Errata 4.16: I said "command line mode". It's actually "command mode". Thanks to the great people at r/vim for catching that. Show notes and episode alerts: www.semicolonandsons.com/episode/Advanced-Vim-Workflows
@sagardesai5278
@sagardesai5278 4 жыл бұрын
I think you misunderstood the correction. Command mode is synonymous to Normal mode, so at 4:16 "Command Line mode" is the correct word to use.
@javiertw89
@javiertw89 3 жыл бұрын
You had me already convinced with Schumann, you didn't need to record all those macros!
@martonturbuk3060
@martonturbuk3060 3 жыл бұрын
And here I am thinking VIM can' surprise me anymore. And then there is this video.
@semicolonsons
@semicolonsons 3 жыл бұрын
A compliment to another man's vim skills is the greatest compliment of them all. I am humbled.
@PabloAndresDealbera
@PabloAndresDealbera 4 жыл бұрын
Excelent showcase on actually doing real example on how to use this tools. I often when doing some refactoring try to learn a new way on doing it by using Vim or some cli tool like sed. Never knew I could run a macro on several files like that, and also that example on taking the results of a regexp and pasting on that line. Very good stuff! Keep them going!
@ivankudinov4153
@ivankudinov4153 4 жыл бұрын
Splendid job! Efficient & elegant manner combines with the true knowledge for an aesthetics pleasure. High quality content here!
@shaytal100
@shaytal100 4 жыл бұрын
Great video! Love to see how others use vim. The best way to learn after one knows the basics. Cool Examples! Looking forward to the next vim workflow video!
@Klausterfull
@Klausterfull 2 жыл бұрын
Loved the macro explanation! 🙏
@qwertyasdf7615
@qwertyasdf7615 4 жыл бұрын
Awesome vid 🙌 Excited for some more content!!
@InputOutput10
@InputOutput10 2 жыл бұрын
Now I see how developers become 10x, my power level is too weak.
@mback3713
@mback3713 8 ай бұрын
it feels to me as though a sed or awk script would be better for the first 2 examples... but the third vim example is really cool!
@pouet4608
@pouet4608 7 ай бұрын
What a gem!
@jhwheeler7
@jhwheeler7 4 жыл бұрын
Mind officially blown!
@YannMetalhead
@YannMetalhead 2 жыл бұрын
Good tips.
@snoopy8870
@snoopy8870 Жыл бұрын
music at the beginning?
@Aronnax777
@Aronnax777 3 жыл бұрын
What is happening, how do you get it set up like that! And your prompt, I have heard about customizing your linux prompt, but you must have installed some software.
@albert3407
@albert3407 Жыл бұрын
what kind of editor is it? is it extended vim with plugins?
@blank-vw2sb
@blank-vw2sb 3 жыл бұрын
DOPE AS FAQ
@hielke2332
@hielke2332 4 жыл бұрын
Not a vim question, but if I do a git diff on my machine it looks a lot messier than if you do it.
@semicolonsons
@semicolonsons 4 жыл бұрын
@Aramis Razzaghipour Exactly.
@godnyx117
@godnyx117 4 жыл бұрын
Great video man! Can I learn what do you use for autocompletion?
@semicolonsons
@semicolonsons 4 жыл бұрын
I've already recorded a video on the topic so stay tuned. In brief it's a combination of vim-lsp and the asyncomplete plugin.
@arvindersingh9863
@arvindersingh9863 3 жыл бұрын
I'm using neovim and i use tab key to switch buffers. But switching happens after a delay, but when i use :bnext and :bprev for switching it works fast. Is there any solution you can suggest?
@semicolonsons
@semicolonsons 3 жыл бұрын
It may be possible that you have "tab + something else" mapped to another action and vim is waiting to see whether you end up pressing another key or just leaving it at tab. Check your mappings with something with :map
@arvindersingh9863
@arvindersingh9863 3 жыл бұрын
@@semicolonsons Yes I'm using tab key as completion key for emmet.vim. Thanks a lot
@phurgelisherpa896
@phurgelisherpa896 Ай бұрын
Real Chad
@toequantumspace
@toequantumspace 4 жыл бұрын
Vim rulez
@Megalcristo2
@Megalcristo2 4 жыл бұрын
3:40 If you don't save and use :ea 1f you would be doing the same but without the need of using a plug-in.
@semicolonsons
@semicolonsons 4 жыл бұрын
Very interested in understanding this. Can you unpack your command a bit? I must admit I don't understand it (but am super eager to learn)
@Megalcristo2
@Megalcristo2 4 жыл бұрын
@@semicolonsons I learnt it from the help system, ea means earlier and you can move trought different states in your file thank to this command and "later" (I think, I don't use this last one quite often so I don't remember). If you use ea 10m you go back to the state you were 10 minutes ago, if instead of m you use f you move thought save states. You can think of it like a mini git. (stackoverflow.com/questions/18500352/how-to-undo-up-to-last-write-in-vim)
@semicolonsons
@semicolonsons 4 жыл бұрын
@@Megalcristo2 Amazing. You learn something new every day about vim.
@jasperzanjani
@jasperzanjani 4 жыл бұрын
4:00 tl;dr - use `:argdo normal@c` to run macro at register c on all open buffers
@yujinyuz
@yujinyuz 4 жыл бұрын
Thanks for this one! How did you set up your config to make it highlight while typing :%s/^function ? I'd also appreciate it if you enable screen keys so we could see what you're actually typing :)
@yujinyuz
@yujinyuz 4 жыл бұрын
Aha! Found it: set inccommand=nosplit
@semicolonsons
@semicolonsons 4 жыл бұрын
@@yujinyuz It's a neovim only thing as far as I know
@yujinyuz
@yujinyuz 4 жыл бұрын
@@semicolonsons Yeah. I'm using neovim so I don't have problems with it. I tried doing what you did btw, but apparently doing :%s/^function/foo/g doesn't match anything for me. while :%s/function/foo/g works fine. Any ideas why the ^ was not working in my case?
@semicolonsons
@semicolonsons 4 жыл бұрын
@@yujinyuz Ah yes. That's because I have `set gdefault` in my vimrc. Here's a good reference: vim.fandom.com/wiki/Search_and_replace
@damienw4958
@damienw4958 4 жыл бұрын
You can actually do it in vim too, `:set hlsearch` iirc, otherwise, check the arch wiki, I recently made an edit to the tips for this.
@JayJay-ki4mi
@JayJay-ki4mi 4 жыл бұрын
Omg the prozac thing made me laugh. Love the channel name too.
@klimenkodr123
@klimenkodr123 4 жыл бұрын
Please do more, sir.
@yallaoui
@yallaoui 3 жыл бұрын
Excellent advanced vim tips. Kindly use screen key so we can see the commands you type. Many thanks
@MrMangkokoo
@MrMangkokoo 3 жыл бұрын
How can I get the buffer list on the top of the window like yours??
@primepicks101
@primepicks101 4 жыл бұрын
Good morning, Sir. I hope you are doing well. I would like to recommend you to do some videos about the vim's plugins that you use. Sincerely, a brazilian friend.
@semicolonsons
@semicolonsons 4 жыл бұрын
thanks good idea
@kombatunit66
@kombatunit66 3 жыл бұрын
I've been using VI since 1997 and that was just nutty.
@sergeygong2224
@sergeygong2224 3 жыл бұрын
what a cool voice )
@lylez00
@lylez00 8 ай бұрын
To help view the output of "git diff", I like to use: git diff | gvim -c set titlestring="output\ of\git\ diff" - &
@liamf7072
@liamf7072 10 ай бұрын
How do you get the alternating background colors for your start-of-line tabs/spaces?
@kronaemmanuel
@kronaemmanuel 4 жыл бұрын
Ummmm the audio sounds like you applied the background noise removal thing in audacity too many times.
@semicolonsons
@semicolonsons 4 жыл бұрын
Yea I totally know. I've figured out a way to get the audio a tad better in future. Anyway, hope you enjoyed the work flows :)
@kronaemmanuel
@kronaemmanuel 4 жыл бұрын
@@semicolonsons i do enjoy your work a lot. I love your channel.
@semicolonsons
@semicolonsons 4 жыл бұрын
@@kronaemmanuel thanks man! I'm curious what world of development do mostly inhabit? What types of software and stacks?
@kronaemmanuel
@kronaemmanuel 4 жыл бұрын
@@semicolonsons I use vim for React and web development mostly.
@testertech
@testertech Жыл бұрын
Instant subscribe, awesome content!
@pinpox
@pinpox 4 жыл бұрын
Would you mind sharing your vim configuration files? I'd be interested to see them, your setup looks nice!
@semicolonsons
@semicolonsons 4 жыл бұрын
Here's a pretty recent version. I plan on doing a future video where I build it up piece-by-piece. gist.github.com/jackkinsella/aa7374a6832cca8a09eadc3434a33c24
@pinpox
@pinpox 4 жыл бұрын
@@semicolonsons Thanks, that's great! I would be really interested in that video and probably others too!
@klimmesil9585
@klimmesil9585 2 жыл бұрын
I like how you say hate shtee ML because that's clearly my relationship with www
@mumk
@mumk 8 ай бұрын
Nice channel name bro, reminds me of steinway and sons
@cindysi63
@cindysi63 3 ай бұрын
Wow this is master tier level skills!
@421sap
@421sap 7 ай бұрын
God bless you in Jesus' Name Amen ✝️
@JulioOAO
@JulioOAO 3 жыл бұрын
Best Vim's video ever!
@comosaycomosah
@comosaycomosah 7 ай бұрын
lmao your name is amazing bro
@ahmaddynugroho
@ahmaddynugroho 2 жыл бұрын
1:50 tips, use "dj" instead of "2dd"
@patjustpat8178
@patjustpat8178 2 жыл бұрын
took me 30 seconds to subscribe
@heljhumenad
@heljhumenad 3 жыл бұрын
This so blown my mind how did you do that ??? my skills in Vim is in beginners i need to learn more from you Thanks!
@semicolonsons
@semicolonsons 3 жыл бұрын
10 years of practice :) And enjoyable through every second
@mosk11tto
@mosk11tto 4 жыл бұрын
This reminds me of emacsrocks, and that if anything is a compliment to a good video.
@semicolonsons
@semicolonsons 4 жыл бұрын
Never heard of it but I'm very curious to check out what the dark side looks like ;)
@ybbond_
@ybbond_ 3 жыл бұрын
how can you change buffer while the one you're leaving is modified buffer? 3:09
@semicolonsons
@semicolonsons 3 жыл бұрын
Can't remember but I think I used a key mapping ]b that maps to :bnext
@kellysmith7357
@kellysmith7357 3 жыл бұрын
i
@Agililord
@Agililord 3 жыл бұрын
Hey @Semicolon&Sons! I have a question. I'm trying to replicate the workflow of using `args` then `argdo`, hoping I can do similar with `vimgrep` and `cdo`. But it doesn't seem like the w on the command from cdo is actually writing the files, so the `cdo` stops and yells at me because there's no write. I am still fairly new to working with buffers, so maybe I'm not understanding why we need to delete the current buffer, or how to do that in order to make the writes effective. But if you have thoughts/have seen this and can think of a correction, I would be eternally grateful!
@luukasportfors9414
@luukasportfors9414 4 жыл бұрын
Nice video and all but why is your intro a tiny part of Greig's A minor concerto?
@semicolonsons
@semicolonsons 4 жыл бұрын
You know your tunes! I just like it and it's old enough that I could find recordings that aren't subject to licensing fees.
@luukasportfors9414
@luukasportfors9414 4 жыл бұрын
@@semicolonsons Is your name somehow referring to steinway&sons aswell? xd
@semicolonsons
@semicolonsons 4 жыл бұрын
@@luukasportfors9414 I wanted to sound fancy and use alliteration at the same time. Plus something something object inheritance.
@Chalisque
@Chalisque 8 ай бұрын
I always find so much to vim that I haven't discovered yet. The args do and macro thing I must learn to make use of.
@avimehenwal
@avimehenwal 2 жыл бұрын
god tier content .... instant sub. Thankyou for making this high quality video and sharing it (Y) kudos
@FlaviusAspra
@FlaviusAspra 3 жыл бұрын
We really need great refactoring tools like language servers. This way we can have the IDE in vim.
@gaurabkhatry7641
@gaurabkhatry7641 3 жыл бұрын
Which colorscheme is this?
@semicolonsons
@semicolonsons 3 жыл бұрын
Solarized I think, with light customization. Working on updating a publicly shareable vimrc
@paultwocock5421
@paultwocock5421 3 жыл бұрын
Vim, if u you're absolutely beginner This book "vim from wtf to omg" will be useful for you
@AtomToast
@AtomToast 4 жыл бұрын
vim indent guides looks pretty nice, I might look into it as an alternative to indentLine
@Vulto166
@Vulto166 2 жыл бұрын
humm Edvard Grieg for the intro. Looks like you are a man of culture.
@1n5ighttrading69
@1n5ighttrading69 3 жыл бұрын
This was amazing! Thank you for doing this!
@whatupmiked8514
@whatupmiked8514 4 жыл бұрын
Just curious what you are using for code completion engine? I see you are using fzf for search and this video put me over the edge into trying it. Thanks for the great video!
@semicolonsons
@semicolonsons 4 жыл бұрын
I'm using vim-lsp to get access to the Language Server Protocol. I've already recorded a video on that and will be releasing it on semicolonandsons.com instead of KZbin.
@user-je8he7ox6p
@user-je8he7ox6p Жыл бұрын
Great video, I learned a lot from this video!
@goonman1255
@goonman1255 3 жыл бұрын
Really good vid, please make more vim ones
@rmdes
@rmdes 4 жыл бұрын
That made me want to learn vim :)
@mateoleoncamacho3222
@mateoleoncamacho3222 3 жыл бұрын
Hello! Not actually related to Vim, but I'd love to know the name of the music at the start of the video. Best wishes, great content!
@semicolonsons
@semicolonsons 3 жыл бұрын
Grieg - Piano Concerto in Am
@nodswal
@nodswal 4 жыл бұрын
Loved the content, is this going to be a reoccurring subject? Looks like you removed the link to your "Show Notes"?
@semicolonsons
@semicolonsons 4 жыл бұрын
Yep, for sure. I've already recorded the next four videos, though I plan on hosting most of them on my own website. The problem is that KZbin doesn't let me modify exiting videos so I can't fix errors. Show notes are here: www.semicolonandsons.com/episode/Advanced-Vim-Workflows I also added a link in the description (should have put that there initially!)
@rolandrodriguez
@rolandrodriguez 3 жыл бұрын
Fawesome thx
@idvorkin
@idvorkin 4 жыл бұрын
Can you share your dotfiles? Good to see other best practices
@semicolonsons
@semicolonsons 4 жыл бұрын
Gladly gist.github.com/jackkinsella/aa7374a6832cca8a09eadc3434a33c24
@idvorkin
@idvorkin 4 жыл бұрын
​@@semicolonsons Much obliged - github.com/idvorkin/Settings/commit/8420806df61e0b75eb61681562da79e175025379
@thriftsimple561
@thriftsimple561 4 жыл бұрын
Huh?
@atrioom
@atrioom 4 жыл бұрын
jesus, loose the echo oO
@semicolonsons
@semicolonsons 4 жыл бұрын
I know. Working on it. But COVID-19 means I'm stuck recording in my apartment which has big rooms and therefore terrible acoustics.
@atrioom
@atrioom 4 жыл бұрын
@@semicolonsons Oh wow, I thought it was an effect you added later on xD Thanks for the vid anyways, nice tactics! :)
Vim's Versatile CLI
3:40
Semicolon & Sons
Рет қаралды 9 М.
10 Advanced Vim Features (You Probably Didn't Know)
21:47
Sebastian Daschner
Рет қаралды 73 М.
Running With Bigger And Bigger Lunchlys
00:18
MrBeast
Рет қаралды 107 МЛН
Being Competent With Coding Is More Fun
11:13
TheVimeagen
Рет қаралды 81 М.
Vim Tips You Probably Never Heard of
12:11
Luke Smith
Рет қаралды 119 М.
Vim Motions & Tricks I Wish I Learned Sooner
9:25
Henry Misc
Рет қаралды 34 М.
Vim vs NeoVim, What's the Difference?  Which Should You Use?
10:29
Mental Outlaw
Рет қаралды 322 М.
This VIM trick BLEW MY MIND
6:37
typecraft
Рет қаралды 53 М.
My Favorite Vim Tricks
14:39
MAKC
Рет қаралды 182 М.
VIM shortcuts but they keep getting crazier
9:53
Amichai Mantinband
Рет қаралды 16 М.
A Vid in which Vim Saves Me Hours & Hundreds of Clicks
10:23
Luke Smith
Рет қаралды 275 М.
My Forever Dev Workflow
16:02
typecraft
Рет қаралды 93 М.
Level Up Your Vim Game with These Hidden Tricks
11:01
DevOps Toolbox
Рет қаралды 13 М.