3 Levels of Vim Refactoring

  Рет қаралды 42,427

typecraft

typecraft

Күн бұрын

Пікірлер: 184
@mahirabbas3700
@mahirabbas3700 7 ай бұрын
thanks nerd
@ziggyshea
@ziggyshea 7 ай бұрын
I own a record player, love French press coffee, run a tiling window manager on Arch (btw), but would use the LSP rename. Now I'm having an identity crisis.
@typecraft_dev
@typecraft_dev 7 ай бұрын
lol
@nickmills8476
@nickmills8476 7 ай бұрын
Use whatever works, but whatever you use, use vim…
@t0mmy44h
@t0mmy44h 7 ай бұрын
Espresso machine and high end DAC but yes me too, in fact I did a bit of all of this two days ago at work :/
@neniugrava
@neniugrava 6 ай бұрын
I listen to lossy music over good (but not gold-plated) Bluetooth headphones, use an aeropress, run neovim in WSL in Ubuntu on Windows, and I would probably just :windo or :tabdo a %s because I already know which files use the function being renamed. I would use the LSP, but building C/C++ projects on Windows does not play nice with clangd running in Linux 😢, and I'm too lazy to make something to reformat my compile_commands.json to work 😂. I should really start to use vimgrep more, though...
@BiGreDNoSecoMpAny
@BiGreDNoSecoMpAny 6 ай бұрын
You should ditch the French Press for a V60, you’ll get better coffee instantly - there’s a reason you don’t get a French press in any good Café
@pbnjdev
@pbnjdev 7 ай бұрын
Nice video. Just a minor correction about what the neckbeard would do: 1. The neckbeard would know from experience that `:vimgrep` is painfully slow and would use `:grep` which calls an external grep utility as specified by `grepprg` vim option (`grep -n $* /dev/null` by default, but can be customized to anything else `let &l:grepprg = 'rg --vimgrep --smart-case $*'`) 2. The neckbeard would proceed to run a grep command on the relevant files/directories to exclude unwanted results (e.g. css), like `:grep "@?(p\|P)osts?" path/to/*.rb` 3. Lastly, the neckbeard would run a precise substitution command on the quickfix entries while preserving case-sensitivity and save the modified buffers in one-go, like `cdo %s/\(p\|P\)ost\(s\)\?/\1oop\2/g | update`.
@craigdanielmaceacher
@craigdanielmaceacher 7 ай бұрын
`:noauto vimgrep` helps with speed
@ivanheffner2587
@ivanheffner2587 7 ай бұрын
Or, as one well who takes “use the best tool for the job” very seriously, I would… I mean, “the neckbeard”… would use `git grep` since this is definitely in a git repository, using the `-l` option to only list the files, which would then be used as the file list for some quick `perl -pi -e` to do the substitution on all files.
@valbogda5512
@valbogda5512 7 ай бұрын
Both the video and this comment are super accurate at capturing the essence of a neckbeard. However, as a neckbeard I would not use vim for this task. Instead, I'd just grep (ripgrep nowadays, times are changing) and once I'm satisfied that I'm capturing just the right stuff I would pipe the list of files to an inline substituting `sed` incantation. Of course, all this would be done inside of a git repo so that the final result can be inspected and conveniently re-done if needed. PS. If I'm on a system that lacks `sed` I would use `perl` as a poor mans `sed`. `perl -pi -e 's/Posts?/poop/i' (rg -li Posts)`
@plaintext7288
@plaintext7288 7 ай бұрын
My neckbeard grew 1mm just from reading this
@ivanheffner2587
@ivanheffner2587 7 ай бұрын
@@valbogda5512 “perl as a poor man’s sed”? o.O?
@nossal
@nossal 7 ай бұрын
More options: - Telescope -> Quickfix -> cdo - nvim-spretre
@dhakhoa93
@dhakhoa93 7 ай бұрын
You should be able to use `:cfdo` instead, which would run the command for all the files, not all entries, in the qf list, especially in this case where you already use %s to substitute the whole file.
@typecraft_dev
@typecraft_dev 7 ай бұрын
very nice, learn something new every day! :)
@GokayBURUC
@GokayBURUC 6 ай бұрын
Telescope + quickfix + :cdo + vim regex
@2EOGIY
@2EOGIY 7 ай бұрын
My notes from video how to refactor: - buy a vinyl player; - grow beard; - poop a lot; - bookmark this video. Thank you, Good job.
@typecraft_dev
@typecraft_dev 7 ай бұрын
Lol
@starmechlx
@starmechlx 7 ай бұрын
Man, as a new (6 months in) Neovim user, I literally just learned about the quickfix list from The Primeagen like yesterday. Seeing it here again today doubled down that I need to start using this and get comfortable with it. Way too much goodness here. On a separate note, I just have to say how much I love the aesthetic of these videos. Also, I was a Dracula guy before, but you have turned me into a Catppuccin nerd, so for that: thanks nerd.
@typecraft_dev
@typecraft_dev 7 ай бұрын
Awesome! glad you're getting something out of these videos! welcome to the vim cult, brother
@DestopLine
@DestopLine 7 ай бұрын
Same here, I learned about it from him on his video with the _Elixir_ guy
@freewarehunter
@freewarehunter 6 ай бұрын
I think this might the highest value-per-minute KZbin video I've ever watched.
@MrSnivvel
@MrSnivvel 7 ай бұрын
Great info. I know I'll be rewatching the 'neckbeard' part a few times to catch all parts. In my mind, striving to be in both the 'neckbeard' and 'config wizard' camps is going to mean being the most productive in using Neovim. Thanks for this video, nerd! 🤠
@wiseskeshom4673
@wiseskeshom4673 6 ай бұрын
Thanks to all hipsters the config wizards, neckbeards and nerds, I learn new things about Vim every time I come here. nice work :)
@Mr_Smørrebrød
@Mr_Smørrebrød 7 ай бұрын
This "3 levels of ..." is a very nice format! More please 😁
@DrkGrntt
@DrkGrntt 7 ай бұрын
This is fantastic! Great timing too, I need to do this in a couple of hours. I'm fairly new to vim, so your content has been super helpful, thanks!
@typecraft_dev
@typecraft_dev 7 ай бұрын
Glad it was helpful!
@j1d7s
@j1d7s 7 ай бұрын
Great comparison, I did not know where this was going beforehand and I am usually in the LSP camp, so I thought I already knew the "best" way. The neckbeard approach was new to me, I did not know there is this great builtin way.
@Denis-wf4bl
@Denis-wf4bl 7 ай бұрын
Great video, I learned a lot here! I love the three characters, please post more educational videos with them. Thanks Nerd 🥰
@typecraft_dev
@typecraft_dev 7 ай бұрын
will do! thanks for being a memner, nerd!
@aayushbajaj2260
@aayushbajaj2260 6 ай бұрын
you know so much. I've been using vim for like 3 years, I don't know this much yet! also your presentation is cool :>
@gunarcom
@gunarcom 7 ай бұрын
You have some of the most informative videos in the space, thank you!
@typecraft_dev
@typecraft_dev 7 ай бұрын
Thanks!
@ivshofspb
@ivshofspb 7 ай бұрын
I do appreciate this approach . Howeve it is still looks like magic and I feel more confident using Notepad++
@lukeemhigh
@lukeemhigh 7 ай бұрын
Great video, as always. I use LSP rename when available and Telescope->Quickfix->cdo when editing stuff like Helm charts or stuff where the LSP does not have the rename functionality baked in. On arch (btw) running a tiling WM (btw). Thanks nerd!
@VovaY
@VovaY 7 ай бұрын
I'm a configuration wizard, I even grew the exact same mustahe
@ethandoescode
@ethandoescode 7 ай бұрын
Have been using your neovim for noobs config and adding to it myself for a few weeks. Did not realize that I could use that lsp binding for refactoring haha. I guess I’m transitioning from hipster stage ever so slowly
@alanis4AL
@alanis4AL 7 ай бұрын
Love your content the way you explain things is perfect I hope you don’t get this wrong but the only thing I would suggest is drop the intro you don’t need it Ps. Thanks for sharing your knowledge with us
@typecraft_dev
@typecraft_dev 7 ай бұрын
good feedback thanks :)
@zaubara1543
@zaubara1543 2 ай бұрын
I would be the "stumbles down the stairs" -User: -assignment is to code mobile robots in ros -learn that ros runs only on ubuntu 20.04 -run it on a vm because dualbooting my laptop for an old distro to use only one framework seems wasteful -learn that vms are notorious for not correctly executing or displaying some ros addons -notice this new magic thing called docker -try to use other dockerfiles to build my ros setup, but fail miserably in setting up vs code correctly -be angry at vs code and use the bloody terminal -run ros docker image via wsl2 on windows -setting up my first ros nodes, but now there are at least 4 terminals open at any given time -learn about tmux and feel like a wizard -missing the pretty colours and assists of vs code -learning about vim -now this bloody rabbit hole with plugins and lua, but gods do I feel strong TLDR; Wanted to program whats basically a roomba but learned how to manipulate lua instead
@typecraft_dev
@typecraft_dev 2 ай бұрын
hahaha hell yeah
@PetrenkoAndrii
@PetrenkoAndrii 7 ай бұрын
Wow! This was something. I have to rewatch this video couple of times being :%s/one/two/g type of vim user. Thanks for cool video!
@typecraft_dev
@typecraft_dev 7 ай бұрын
Glad you enjoyed it!
@Anthony-pln
@Anthony-pln 7 ай бұрын
Hey that was a creative format. Kudos. Fun and interesting.
@typecraft_dev
@typecraft_dev 7 ай бұрын
Glad you liked it!
@Naparajith
@Naparajith 7 ай бұрын
Nice video. Really helped me level up my NeoVim game.
@techedzee
@techedzee 7 ай бұрын
Damn. I love the neck beard flow
@typecraft_dev
@typecraft_dev 7 ай бұрын
I do too
@TheEriksen123
@TheEriksen123 7 ай бұрын
Love this, would like to see more examples!
@typecraft_dev
@typecraft_dev 7 ай бұрын
awesome!
@chandragie
@chandragie 7 ай бұрын
always new things to learn in vim 👍🏻👍🏻
@Viken43
@Viken43 7 ай бұрын
I am quite a new user to vim, only really use it for basic editing. Typecraft is improving my knowledge almost ready to start using hjkl keys 😊… I use Arch BTW
@typecraft_dev
@typecraft_dev 7 ай бұрын
Welcome aboard!
@ThatBidsh
@ThatBidsh 7 ай бұрын
glad u went more in depth on cdo because i learned a thing! lol
@NormalNvim
@NormalNvim 7 ай бұрын
Color me impressed. This is great content.
@msmoser
@msmoser 7 ай бұрын
This would have been a perfect video if it had the ethereal “LDUR” background voice….
@gorudonu
@gorudonu 7 ай бұрын
oh I didnt know about global replace, thanks!
@mattweidner
@mattweidner 7 ай бұрын
Neckbeard status confirmed.
@utvikler-no
@utvikler-no 7 ай бұрын
Awesome as always ❤
@throwaway3227
@throwaway3227 7 ай бұрын
Neckbeard here (apparently), but just wanted to point out that you don't need any plugins (lspconfig included) to run an LSP in Neovim.
@davidjohansson8476
@davidjohansson8476 6 ай бұрын
I don't believe this was said, but one advantage of relying on something like grep instead of lsp is that you get updated documentation/comments for free.
@muizzyranking
@muizzyranking 7 ай бұрын
this is actually a fun one, thanks nerd.
@maguilecutty
@maguilecutty 7 ай бұрын
What about the user who is smart enough to use telescope and a macro to have the same control as the neckbears and uses a key map to make it happen?
@thadrunsfaster
@thadrunsfaster 7 ай бұрын
I’m a mix of three. I’m a neckbeard-hipster-plugin?
@RazoBeckett.
@RazoBeckett. 7 ай бұрын
hey , hey, hey look who is back !!
@darksinge
@darksinge 7 ай бұрын
As a neckbeard, I'd use cfdo when making multiple file changes, as it's more efficient than plain ole cdo 🤓.
@vanvothe4817
@vanvothe4817 7 ай бұрын
I just installed 2 plugin vim: oil + nvim-surround. Use vim is a simple text editor, all remaining operations use the terminal
@bagfleet
@bagfleet 7 ай бұрын
Great vid! Love your videos!
@AderynCrow
@AderynCrow 6 ай бұрын
Thanks for calling me a neckbeard, really needed that. I shave daily, but your description fits perfectly. I only don't use vim as an alarm, but I have a vim setup where I have a clock in it's own tile in vim, so that's kinda similar
@rodelias9378
@rodelias9378 7 ай бұрын
Thanks Nerd. Great video btw
@typecraft_dev
@typecraft_dev 7 ай бұрын
Hey, thanks!
@johnnyboard78
@johnnyboard78 7 ай бұрын
The neckbeard would rather quit with `:xa`, less characters typed + it only saves the buffers that were modified
@felipegutierrez2944
@felipegutierrez2944 7 ай бұрын
how do you manage http requests, with postman or with a nvim plugin? Great Content!
@howuseehim
@howuseehim 28 күн бұрын
You gonna love this, so I quit vim, went to vscode cmd shift f replaced all occurrences, save, went back to nvim looked around to see if someone noticed.
@carlweis
@carlweis 3 ай бұрын
Hell Yeah, Brother! Thanks Nerd.
@Milaweak
@Milaweak 7 ай бұрын
MORE MORE MORE videos like this !!!!
@laughingvampire7555
@laughingvampire7555 3 ай бұрын
I bet the neckbeard is not even using neovim, he is using his own Bram's vim setup written in viml 20 years ago
@CalvinB_
@CalvinB_ 7 ай бұрын
FRAMEWORK, laptop!! sorry still love seeing them.....
@typecraft_dev
@typecraft_dev 7 ай бұрын
stay tuned!!! video about the framework coming up
@catwhisperer911
@catwhisperer911 7 ай бұрын
Using LSP rename only works in the current buffer for me. Are you using one or more additional plugins to have it work across multiple files?
@typecraft_dev
@typecraft_dev 7 ай бұрын
Not sure. It works in solargraph and ruby
@EduardoAlvarez-fm6zi
@EduardoAlvarez-fm6zi 6 ай бұрын
Arch? For a neckbeard? Pffft. Slackware ;)
@disguisedpigeon5465
@disguisedpigeon5465 7 ай бұрын
IMO the config wizard way is optimal when you are coding and the neckbeard one is better for documentation, but the hipster way falls short of usefulness when you have the other two. Telescope is great for navigating files and such though. PRAISE LORD TEEJ
@iamfishmind
@iamfishmind 7 ай бұрын
i have a french press 😅 but personally would use the "find & replace" function in any number of gui software with navigation tree in side panel
@Freshbott2
@Freshbott2 7 ай бұрын
What I really want is neovim but without all the endless setup and constant learning. Is there a good tool that lets you search commands like you would in Blender or AutoCAD?
@mahaddev
@mahaddev 4 ай бұрын
Bookmarked this
@typecraft_dev
@typecraft_dev 4 ай бұрын
Hell yeah, brother
@joshysmarty2540
@joshysmarty2540 7 ай бұрын
I need more nvim videos!.
@gjermundification
@gjermundification 7 ай бұрын
cdo all the way to goal.
@juanmacias5922
@juanmacias5922 7 ай бұрын
So helpful, thanks!
@binh1298ify
@binh1298ify 6 ай бұрын
thanks man. cool video
@Cool-Linux-Penguin
@Cool-Linux-Penguin 7 ай бұрын
Sorry for being 30 minutes late.
@typecraft_dev
@typecraft_dev 7 ай бұрын
its ok I'll forgive you for now.
@Cool-Linux-Penguin
@Cool-Linux-Penguin 7 ай бұрын
Yay
@loutrea
@loutrea 7 ай бұрын
ok I'm a hipster neckbeard wizard as I use the 3 methods, depending on, well, I don't know.
@loutrea
@loutrea 7 ай бұрын
great video btw, keep going. I didn't know what "french coffee" is, and as a French, it makes me laugh :)
@mateusfreira
@mateusfreira 7 ай бұрын
Do I need mustache to be a KZbin developer? Great content and edition, thank you.
@typecraft_dev
@typecraft_dev 7 ай бұрын
Yes you do
@nothiiiiiiiing
@nothiiiiiiiing 7 ай бұрын
LSP rename or sed, i do use helix but should be equivalent
@jamlie977
@jamlie977 7 ай бұрын
damn it, i'm not a neckbeard
@Tarekconqueso
@Tarekconqueso 6 ай бұрын
so you're telling me the so feared vim hipster does not know about :cdo s/ hmmmmmm
@TreeLuvBurdpu
@TreeLuvBurdpu 7 ай бұрын
I like the last one but with \b to avoid postcss
@gjermundification
@gjermundification 7 ай бұрын
4:32 Gem^^
@xXrandom
@xXrandom 7 ай бұрын
Let's gooooo
@noisycarlos
@noisycarlos 7 ай бұрын
which ruby or rails lsp are you using? h
@typecraft_dev
@typecraft_dev 7 ай бұрын
Solargraph
@typecraft_dev
@typecraft_dev 2 ай бұрын
Things have changed since our last comment. Want to find out our setup for Rails now? Join our free workshop next week - learn.typecraft.dev/neovim-and-zellij-ruby-on-rails-edition/
@12crenshaw
@12crenshaw 6 ай бұрын
Imagine just using normal 21st century graphical editor and doing this in 5 sec without any stress
@laughingvampire7555
@laughingvampire7555 3 ай бұрын
Poop: pure object oriented programming
@thehiddenplace
@thehiddenplace 5 ай бұрын
I love that the hipster has a macbook and the conf wiz a framework laptop. I use both, where does that put me?
@typecraft_dev
@typecraft_dev 5 ай бұрын
A menace to society
@thehiddenplace
@thehiddenplace 5 ай бұрын
@@typecraft_dev Ok that's not too bad, I thought it made me a hyper-hipster.
@FilipGodlewski
@FilipGodlewski 6 ай бұрын
Don't forget about CFilter
@JoshPeterson
@JoshPeterson 6 ай бұрын
You're obsessed with "poops"
@hapaise2924
@hapaise2924 7 ай бұрын
thanks! Make a video on dotfiles on how we can make dot files for nvim config, tmux, I have yabai and all that so we can use it on another machine with just one command
@craigdanielmaceacher
@craigdanielmaceacher 7 ай бұрын
`:cdo update` so you aren’t touching modified times on unedited files
@schlesser
@schlesser 7 ай бұрын
Awesome
@Megabeboo
@Megabeboo 6 ай бұрын
Show us your keyboard! It sounds nice.
@valbogda5512
@valbogda5512 7 ай бұрын
Hello, have I stumbled upon the secret Archilinati society?
@typecraft_dev
@typecraft_dev 7 ай бұрын
yes you have. welcome, brother
@pookiepats
@pookiepats 7 ай бұрын
Neovim: All in One Procrastination App Neovim: Come waste your weekends with us Neovim: Slower than Helix, but we got plugins! Neovim: It is normal to learn an entire language just for your config Neovim: Build from source or have remorse Neovim: We make editing hard so code can be easy Neovim: it’s just Vim, with enhanced complexity Neovim: This repo has been moved Neovim: Switch to VS Code when the stream ends Neovim: We will end up bungling this
@pavloburyanov5842
@pavloburyanov5842 7 ай бұрын
who am I if I use all 3 approaches?
@DarinNelson-w5v
@DarinNelson-w5v 7 ай бұрын
`:bot copen`, because his terminal is split vertically. Do I need a shave?
@lightningpheonix7785
@lightningpheonix7785 6 ай бұрын
I am the neckbeard guy 😂 also with keybindings instead of typing commands
@BartTrojanowski
@BartTrojanowski 7 ай бұрын
Nice.
@dezly-macauley
@dezly-macauley 7 ай бұрын
I use the s with /gc command and oil.nvim to keep my files named consistently. Now you're telling me I can rename things WITHIN multiple files with :cdo... dude this too much power! I still don't have a neckbeard but I just got one step closer 😆
@Feedback406
@Feedback406 7 ай бұрын
That it I have to subscribe now
@will_1536
@will_1536 7 ай бұрын
Bro if I could rely on my omnisharp lsp to always work like it does in VisualStudio I would just use that rename, but because it often doesn't, I'm forced to be a neckbeard
@RomanLi-y9c
@RomanLi-y9c 6 ай бұрын
sed can do it, how about macro over quickfix?
@Szymonides252
@Szymonides252 7 ай бұрын
I use arch btw and I still confuse 'j' with 'k' in vim 😅
@typecraft_dev
@typecraft_dev 7 ай бұрын
fellow arch brother
@ChrisCox-wv7oo
@ChrisCox-wv7oo 7 ай бұрын
What helped was thinking index finger is stronger than middle finger, and going down in a file is more common than going up. Strong finger down. Less strong finger up.
@julian_handpan
@julian_handpan 7 ай бұрын
I use Ruby on Rails BTW...
@yashrajdargan2203
@yashrajdargan2203 7 ай бұрын
great acting nerd!!!
@simonlauer9379
@simonlauer9379 7 ай бұрын
I use NixOs btw just dropping it in 😂
@typecraft_dev
@typecraft_dev 7 ай бұрын
Love the concept of nixos. I'm going to have to look into it more in the future
@rzwnhmd
@rzwnhmd 7 ай бұрын
super nerds would do :cdo update instead of :wqa
@fisk_00
@fisk_00 Ай бұрын
Combine cdo with telescope and quickfix
@lexdysia9119
@lexdysia9119 7 ай бұрын
tell us you don't like our posts without telling us you don't like our posts :)
@spasham74
@spasham74 7 ай бұрын
:cdo will search replace
30 Vim commands you NEED TO KNOW (in just 10 minutes)
10:27
typecraft
Рет қаралды 119 М.
My Forever Dev Workflow
16:02
typecraft
Рет қаралды 106 М.
Noodles Eating Challenge, So Magical! So Much Fun#Funnyfamily #Partygames #Funny
00:33
ТЫ В ДЕТСТВЕ КОГДА ВЫПАЛ ЗУБ😂#shorts
00:59
BATEK_OFFICIAL
Рет қаралды 4,1 МЛН
ЛУЧШИЙ ФОКУС + секрет! #shorts
00:12
Роман Magic
Рет қаралды 39 МЛН
They Chose Kindness Over Abuse in Their Team #shorts
00:20
I migliori trucchetti di Fabiosa
Рет қаралды 12 МЛН
Why I Cant Stand IDE's After Using VIM | Prime Reacts
17:51
ThePrimeTime
Рет қаралды 372 М.
The Painful world of Linux Ricing | A Hyprland story
13:01
typecraft
Рет қаралды 62 М.
6 easy steps to get started with Neovim
2:40
ComputerBread
Рет қаралды 4,1 М.
I tried Neovim Distributions so you don't have to
9:12
typecraft
Рет қаралды 178 М.
Ghostty is Probably The Best Terminal Emulator I've Ever Used
12:26
DevOps Toolbox
Рет қаралды 54 М.
Tmux will SKYROCKET your productivity - here’s how
10:02
typecraft
Рет қаралды 109 М.
How to Vim in 2023: Tips and Tricks
15:53
ThePrimeagen
Рет қаралды 435 М.
I am done with vim
4:41
ThePrimeagen
Рет қаралды 216 М.
NEVER lose dotfiles again with GNU Stow
14:33
typecraft
Рет қаралды 56 М.
Noodles Eating Challenge, So Magical! So Much Fun#Funnyfamily #Partygames #Funny
00:33