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
@brevnobia123817 күн бұрын
to sort a file, same procedure but in number 3 I jump with macro a to line marked a (ma) with macro b line marked b etc...
@Fichleai4 жыл бұрын
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 !
@fredhair4 жыл бұрын
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!
@kombatunit663 жыл бұрын
I've been using VI since 1997 and that was just nutty.
@Deanin4 жыл бұрын
Excited to watch this tonight, glad to see more content!
@JKhalaf3 жыл бұрын
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.
@ArielVolovik4 жыл бұрын
As a new Vim user... you're a goddamn wizard!
@martonturbuk30604 жыл бұрын
And here I am thinking VIM can' surprise me anymore. And then there is this video.
@semicolonsons4 жыл бұрын
A compliment to another man's vim skills is the greatest compliment of them all. I am humbled.
@Chalisque10 ай бұрын
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.
@PabloAndresDealbera4 жыл бұрын
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!
@ivankudinov41534 жыл бұрын
Splendid job! Efficient & elegant manner combines with the true knowledge for an aesthetics pleasure. High quality content here!
@javiertw894 жыл бұрын
You had me already convinced with Schumann, you didn't need to record all those macros!
@JulioOAO4 жыл бұрын
Best Vim's video ever!
@Vulto1662 жыл бұрын
humm Edvard Grieg for the intro. Looks like you are a man of culture.
@cindysi635 ай бұрын
Wow this is master tier level skills!
@JayJay-ki4mi4 жыл бұрын
Omg the prozac thing made me laugh. Love the channel name too.
@Klausterfull2 жыл бұрын
Loved the macro explanation! 🙏
@avimehenwal2 жыл бұрын
god tier content .... instant sub. Thankyou for making this high quality video and sharing it (Y) kudos
@yallaoui3 жыл бұрын
Excellent advanced vim tips. Kindly use screen key so we can see the commands you type. Many thanks
@AtomToast4 жыл бұрын
vim indent guides looks pretty nice, I might look into it as an alternative to indentLine
@shaytal1004 жыл бұрын
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!
@klimenkodr1234 жыл бұрын
Please do more, sir.
@qwertyasdf76154 жыл бұрын
Awesome vid 🙌 Excited for some more content!!
@user-je8he7ox6p Жыл бұрын
Great video, I learned a lot from this video!
@1n5ighttrading693 жыл бұрын
This was amazing! Thank you for doing this!
@goonman12553 жыл бұрын
Really good vid, please make more vim ones
@pouet46089 ай бұрын
What a gem!
@jhwheeler74 жыл бұрын
Mind officially blown!
@MrMangkokoo3 жыл бұрын
How can I get the buffer list on the top of the window like yours??
@lylez0010 ай бұрын
To help view the output of "git diff", I like to use: git diff | gvim -c set titlestring="output\ of\git\ diff" - &
@testertech Жыл бұрын
Instant subscribe, awesome content!
@mback371310 ай бұрын
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!
@jasperzanjani4 жыл бұрын
4:00 tl;dr - use `:argdo normal@c` to run macro at register c on all open buffers
@mumk10 ай бұрын
Nice channel name bro, reminds me of steinway and sons
@klimmesil95852 жыл бұрын
I like how you say hate shtee ML because that's clearly my relationship with www
@FlaviusAspra3 жыл бұрын
We really need great refactoring tools like language servers. This way we can have the IDE in vim.
@Megalcristo24 жыл бұрын
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.
@semicolonsons4 жыл бұрын
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)
@Megalcristo24 жыл бұрын
@@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)
@semicolonsons4 жыл бұрын
@@Megalcristo2 Amazing. You learn something new every day about vim.
@semicolonsons4 жыл бұрын
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
@sagardesai52784 жыл бұрын
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.
@mosk11tto4 жыл бұрын
This reminds me of emacsrocks, and that if anything is a compliment to a good video.
@semicolonsons4 жыл бұрын
Never heard of it but I'm very curious to check out what the dark side looks like ;)
@YannMetalhead2 жыл бұрын
Good tips.
@InputOutput102 жыл бұрын
Now I see how developers become 10x, my power level is too weak.
@primepicks1014 жыл бұрын
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.
@semicolonsons4 жыл бұрын
thanks good idea
@liamf7072 Жыл бұрын
How do you get the alternating background colors for your start-of-line tabs/spaces?
@rmdes4 жыл бұрын
That made me want to learn vim :)
@pinpox4 жыл бұрын
Would you mind sharing your vim configuration files? I'd be interested to see them, your setup looks nice!
@semicolonsons4 жыл бұрын
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
@pinpox4 жыл бұрын
@@semicolonsons Thanks, that's great! I would be really interested in that video and probably others too!
@heljhumenad3 жыл бұрын
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!
@semicolonsons3 жыл бұрын
10 years of practice :) And enjoyable through every second
@snoopy8870 Жыл бұрын
music at the beginning?
@ybbond_3 жыл бұрын
how can you change buffer while the one you're leaving is modified buffer? 3:09
@semicolonsons3 жыл бұрын
Can't remember but I think I used a key mapping ]b that maps to :bnext
@sergeygong22243 жыл бұрын
what a cool voice )
@blank-vw2sb3 жыл бұрын
DOPE AS FAQ
@yujinyuz4 жыл бұрын
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 :)
@yujinyuz4 жыл бұрын
Aha! Found it: set inccommand=nosplit
@semicolonsons4 жыл бұрын
@@yujinyuz It's a neovim only thing as far as I know
@yujinyuz4 жыл бұрын
@@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?
@semicolonsons4 жыл бұрын
@@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
@damienw49584 жыл бұрын
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.
@patjustpat81782 жыл бұрын
took me 30 seconds to subscribe
@Aronnax7773 жыл бұрын
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.
@hielke23324 жыл бұрын
Not a vim question, but if I do a git diff on my machine it looks a lot messier than if you do it.
@semicolonsons4 жыл бұрын
@Aramis Razzaghipour Exactly.
@paultwocock54213 жыл бұрын
Vim, if u you're absolutely beginner This book "vim from wtf to omg" will be useful for you
@kellysmith73573 жыл бұрын
i
@Agililord3 жыл бұрын
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!
@arvindersingh98633 жыл бұрын
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?
@semicolonsons3 жыл бұрын
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
@arvindersingh98633 жыл бұрын
@@semicolonsons Yes I'm using tab key as completion key for emmet.vim. Thanks a lot
@kronaemmanuel4 жыл бұрын
Ummmm the audio sounds like you applied the background noise removal thing in audacity too many times.
@semicolonsons4 жыл бұрын
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 :)
@kronaemmanuel4 жыл бұрын
@@semicolonsons i do enjoy your work a lot. I love your channel.
@semicolonsons4 жыл бұрын
@@kronaemmanuel thanks man! I'm curious what world of development do mostly inhabit? What types of software and stacks?
@kronaemmanuel4 жыл бұрын
@@semicolonsons I use vim for React and web development mostly.
@albert3407 Жыл бұрын
what kind of editor is it? is it extended vim with plugins?
@luukasportfors94144 жыл бұрын
Nice video and all but why is your intro a tiny part of Greig's A minor concerto?
@semicolonsons4 жыл бұрын
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.
@luukasportfors94144 жыл бұрын
@@semicolonsons Is your name somehow referring to steinway&sons aswell? xd
@semicolonsons4 жыл бұрын
@@luukasportfors9414 I wanted to sound fancy and use alliteration at the same time. Plus something something object inheritance.
@idvorkin4 жыл бұрын
Can you share your dotfiles? Good to see other best practices
@@semicolonsons Much obliged - github.com/idvorkin/Settings/commit/8420806df61e0b75eb61681562da79e175025379
@godnyx1174 жыл бұрын
Great video man! Can I learn what do you use for autocompletion?
@semicolonsons4 жыл бұрын
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.
@gaurabkhatry76413 жыл бұрын
Which colorscheme is this?
@semicolonsons3 жыл бұрын
Solarized I think, with light customization. Working on updating a publicly shareable vimrc
@avgvstvs96Ай бұрын
oh wow
@comosaycomosah9 ай бұрын
lmao your name is amazing bro
@mateoleoncamacho32223 жыл бұрын
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!
@semicolonsons3 жыл бұрын
Grieg - Piano Concerto in Am
@miku4j2 жыл бұрын
1:50 tips, use "dj" instead of "2dd"
@rolandrodriguez3 жыл бұрын
Fawesome thx
@whatupmiked85144 жыл бұрын
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!
@semicolonsons4 жыл бұрын
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.
@nodswal4 жыл бұрын
Loved the content, is this going to be a reoccurring subject? Looks like you removed the link to your "Show Notes"?
@semicolonsons4 жыл бұрын
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!)
@phurgelisherpa8963 ай бұрын
Real Chad
@toequantumspace4 жыл бұрын
Vim rulez
@421sap9 ай бұрын
God bless you in Jesus' Name Amen ✝️
@thriftsimple5614 жыл бұрын
Huh?
@atrioom4 жыл бұрын
jesus, loose the echo oO
@semicolonsons4 жыл бұрын
I know. Working on it. But COVID-19 means I'm stuck recording in my apartment which has big rooms and therefore terrible acoustics.
@atrioom4 жыл бұрын
@@semicolonsons Oh wow, I thought it was an effect you added later on xD Thanks for the vid anyways, nice tactics! :)