Vim: Vim as an IDE (VimConf 2020 Talk)

  Рет қаралды 117,662

Leeren

Leeren

Күн бұрын

Пікірлер
@karamcbride
@karamcbride 4 жыл бұрын
My favorite part of the talk is the thumbnail image. That's because I'm here as an aunt, not a Vim user :)
@leeren_
@leeren_ 4 жыл бұрын
❤️although I know it'd be really easy for you to learn this
@MartinsTalbergs
@MartinsTalbergs 4 жыл бұрын
VIM is easy and it changes your life, much like when you first meet Jesus
@wyleong4326
@wyleong4326 4 жыл бұрын
When you go on KZbin to learn something about programming and the lesson you get is about Love. The world is so awesome in so many way...
@ildefonsogiron4034
@ildefonsogiron4034 4 жыл бұрын
And I like your thumbnail too. Regards.
@박성환-y4f5e
@박성환-y4f5e 4 жыл бұрын
nice thumbnail :)
@bryanmoh7677
@bryanmoh7677 4 жыл бұрын
Loses all his money in crypto; doesn't put ads in the vid. Gentlemen we have a true hero in our midst
@leeren_
@leeren_ 4 жыл бұрын
:')
@leeren_
@leeren_ 4 жыл бұрын
sorry market too unforgiving, no longer robinhood
@kris10an64
@kris10an64 4 жыл бұрын
@@leeren_ I would be dissapointed if you didn't put ads tbh 🙂
@superscatboy
@superscatboy 4 жыл бұрын
True heroes don't invest in cryptos.
@8w73
@8w73 3 жыл бұрын
@@superscatboy Based.
@MrOohBattman
@MrOohBattman 4 жыл бұрын
You've found your calling, mate. Great pace, style, insight, delivery.. everything. Very, very watchable and retainable info.
@leeren_
@leeren_ 4 жыл бұрын
Thank you! Super motivating! I wanna do this full-time
@stefanmuck2048
@stefanmuck2048 4 жыл бұрын
I like how you come straight to the point. Being a professional since many years, I avoid using vi/vim until there are no options left but silently admire people mastering vim. I know that vim is a great tool for being more productive and I promise to take the time and learn how to get a foot in this. Most IDEs are just a pain and are doing a great job in distracting you from the work you are supposed to do.
@leeren_
@leeren_ 4 жыл бұрын
Thank you! Yeah getting your hands dirty with learning Vim is quite the challenge, especially starting off! But it's lots of fun
@vDungeon
@vDungeon 4 жыл бұрын
There is only 1 case when it is required more or less - is when you are working from a pure console. Even vscode now can give not less functionality. I even can edit code through ssh using vscode. So i use vi (not vim) only to edit some config files on remote host.
@xyzxyz6095
@xyzxyz6095 5 ай бұрын
Salutations from France and many thanks to the frankly speaking and efforts to make it easy to understand. Merci beaucoup.
@dariomatonicki1703
@dariomatonicki1703 4 жыл бұрын
Programmers from 70's did not need color screens, LSD was plentifully and not frowned upon back then .. ;)
@leeren_
@leeren_ 4 жыл бұрын
Word! Although I have doubts whether you could program effectively tripping LOL
@alextjn
@alextjn 4 жыл бұрын
Absolute master class, very informative. High quality videos on this topic are rare. Looking forward to more videos from you.
@leeren_
@leeren_ 4 жыл бұрын
Thanks! It means a lot to me!
@enisarik6002
@enisarik6002 3 жыл бұрын
Live example of using stow is super cool. Thanks Leeren!
@Qewbicle
@Qewbicle 3 жыл бұрын
Hey Leeren. I just want to say a big thank you. Your talk at one of the conferences, a few years back, helped me to understand how vim keys are mnemonic, I also understand that some bindings are visually shaped across the keyboard. For example, in tmux, ctrl+b for command then shift double quote, this visually splits the keyboard in half, for a horizontal spllit, and ctrl+b shift %, for visually splitting keyboard for visually splitting window. I know, it's not vim, but vim has a couple keybindings that work visually, but it escapes my mind right now until I go to use it, so I used the tmux example. There are three videos on youtube that have made me a power user in vim, where I feel like I can manage every aspect of any projects from within vim. From local files to remote files. No matter which computer I jump on, I can load my vimrc from my server and have full functionality (vim has scp, which is like ssh's scp, vimscp, simple right). Your prior conference video was a major breakthrough for me and is the top video I reference. This video now being the second top video. Also. I know you don't like highlighted search, I personally like it. What I did to remove the annoyance of the highlight after I finished my search and changes, was added a keybinding to clear my search. I use comma as my leader, so I type ",cls" for clear search, and it sets the search register to empty. cls :let @/ = "" Anyways. Your videos are astronomically important. I have vimified my computing because of them, even in my browser with surfingkeys. This concept has cascaded into other factors of my life outside of computing. A clear example, people think the future is like Minority Report, where you wave your arms everywhere to complete a task, but vim has taught me that the future is lazy, why wave your arms, or swing a mouse, if you could do the task near the speed of thought with simple key press. Now, I only need my mouse when I'm working in something like blender, or a weird site where surfingkeys doesn't work that well. I highly appreciate your contribution. Thank you very much. For anyone else reading this that is curious on my main reference videos. This video. Then. Lereen's talk -> kzbin.info/www/bejne/e169k6WqpLiosNk Thougtbot talk -> kzbin.info/www/bejne/jnKViJ2Al9Kgpa8 Also, consider skeletons, then add a keybinding, this becomes the emmet equivalent to vscode. For example, I use html that then pastes a skeleton file. Super easy. It then pastes my base html code and jumps to where I want to begin editing. Example: nnoremap html :-1read $HOME/.vim/skeletons/html_skeleton.html/titlef>a Once again. Thanks.
@Argletrough
@Argletrough 3 жыл бұрын
My favourite part was the after/ftplugin bit. I can move the 50+ 'autocmd FileType....' statements from my init.vim to separate files now! I think you could have blown people's minds even more with the built-in completion, which I don't think you mentioned... (For the benefit of those who don't know:) In insert mode: C-p / C-n : Complete identifiers in the current file (and some others?). C-x C-i : Complete identifiers in the current file _and_ included files. C-x C-d : Complete identifiers matched by the 'define' RegEx, in the current and included files. C-x C-] : Complete identifiers from ctags. This is especially useful because C-x C-i can be really slow if you have a big tree of included files. Also, set completeopt=menu,preview,longest for a pop-up list of completions.
@timothystone
@timothystone 4 жыл бұрын
LOVE THIS. Learned a ton and I’ve got 20 “fuc*ki’n” years of vi on this guy. I toyed around with this c. 2003. Lost a lot. Forgot a lot. Suffered a lot. I have a renewed mission. Your presentation style is perfect! I’d attend this in person. And the highlights on config lifecycle. OMG. Three words: lifecycle, lifecycle, lifecycle. It applies everywhere. I preach it and live it. And when someone asks me “but how did you know X?” My response has often been, “the lifecycle defines it.”
@leeren_
@leeren_ 4 жыл бұрын
Thank you! I live by that lifecycle rule. And it's great to hear you enjoy this presentation style.
@cpakkala
@cpakkala 2 жыл бұрын
I feel like I found my long lost brother... Great job man. I think you've inspired a lot of people to learn the core of an application and RTFM before seeking plugins.
@johnlewis7736
@johnlewis7736 4 жыл бұрын
I'm not a professional programmer. I always find several settings I want to incorporate into my vimrc. Unintended audience? Probably many people like me benefiting from your videos. Very generous of you to share. Thanks!
@leeren_
@leeren_ 4 жыл бұрын
That's so great to hear! Thank you for watching! I definitely agree Vim isn't just constrained to programmers. It's a great tool for anyone who wants to learn how to edit files effectively
@dikaiosunepaciencia8530
@dikaiosunepaciencia8530 3 жыл бұрын
I am learning a lot from this tutorial. This guy dragged me back to use vim again. Though there are points need to digest (understand) and by ways he delivers his teaching is no BS. Thanks for this video and it is worth watching it. Looking forward for more technical videos.
@derekfrost8991
@derekfrost8991 3 жыл бұрын
Your no nonsense explanations about vim and all the side stuff like path etc are the best I've seen, and I have seen a lot.. :)
@BER-mb7bt
@BER-mb7bt 2 жыл бұрын
Your includeexpr explanation and the 5 minute vimscript live programming pointed me in the right direction. The rest of the night I spent writing some vimscript to echo the definition of the function under the cursor by recursively checking inside includes, mapped it to a key and now vim is my main IDE.
@brunobelotticom
@brunobelotticom 4 жыл бұрын
Instant sub, you are a legend, no matter the endfunction bug :D I’ve been using vim for 12 years now, and I never actually found a good, deep explanation like this one about include search. Also, I love the “start from scratch” approach and the minimal setup (I HAVE to clean my vimrc now!), the live coding/debugging is fantastic, I learned so much from it! Thank you, thank you, thank you for sharing!
@leeren_
@leeren_ 4 жыл бұрын
Wow, that's a long time. Thanks so much! Glad the approach worked well for you. Stay tuned for more!
@brunobelotticom
@brunobelotticom 4 жыл бұрын
@@leeren_ Yeah, I know right? I'm OLD! 😱 Can't wait to see more stuff from you 👍🏻👍🏻👍🏻
@elcontrastador
@elcontrastador 3 жыл бұрын
Dude, this was very entertaining with great organization and flow. Subscribed AF!
@Amapramaadhy
@Amapramaadhy 4 жыл бұрын
Instant subscribe. Really thorough. Love the “from scratch” approach.
@leeren_
@leeren_ 4 жыл бұрын
Thanks! Glad you loved it!
@magnusanderson6681
@magnusanderson6681 3 жыл бұрын
@@leeren_ Same here. When you deleted your vimrc and all previous configurations I knew that this was gonna be an awesome video, because I knew that I would be able to do it all myself ... or at least hopefully. Still haven't gotten to the doing it myself part, as an nvim user I hope nothing is different EDIT: also I hope you didn't sell your bitcoin (assuming this really was taken in 2020) because you would have gone from broke to woke real quick
@stevehof
@stevehof 3 жыл бұрын
Subscribed to the channel within 3 minutes of starting this video. I'm a Math & CSC undergrad and this kind of information is never covered or done poorly. Thanks so much and I hope you keep making videos!
@martinmusli3044
@martinmusli3044 4 жыл бұрын
The best Tutorial Channel ever. Three videos, down to earth
@leeren_
@leeren_ 4 жыл бұрын
Thank you! Appreciate it!
@martinmusli3044
@martinmusli3044 4 жыл бұрын
@@leeren_ Do you have any Idea when you will give your next talk/presentation?
@leeren_
@leeren_ 4 жыл бұрын
@@martinmusli3044 Within a week but it won't be on Vim!
@mrlithium69
@mrlithium69 Жыл бұрын
I always come back to this. great teacher !
@mikedougherty3904
@mikedougherty3904 2 жыл бұрын
Thanks for the great video. I have been using Vim for years, but only basic commands. I have learned so much from this video, and I'm still only halfway through. Please make more videos in general!
@salmanabedin1313
@salmanabedin1313 4 жыл бұрын
I am an intermediate Vim user but while watching your talk, I felt like I don't know crap about Vim and it felt amazing! lol. Looking forward to future contents. XD
@leeren_
@leeren_ 4 жыл бұрын
Haha I feel the same way learning from even more advanced users too! More content coming
@rohanghige
@rohanghige 4 жыл бұрын
You are just amazing. I thought I know lot of vim, but what you have showed is just fabulous. I was amazed at the compiler settings.
@leeren_
@leeren_ 4 жыл бұрын
Thank you! I hope it helped!
@hansbala99
@hansbala99 3 жыл бұрын
Really impressed with the high quality content. Really looking forward to hearing more of your talks
@leeren_
@leeren_ 3 жыл бұрын
Thanks, more will come soon, and a lot more will come next year. What do you think of my latest one on kiwifruit?
@alanxoc3
@alanxoc3 4 жыл бұрын
I've been using vim in a very sub-par way compared to you. My vimrc is full of plugins and copy-pasted code from articles online, but I haven't spent the time to really understand all my configuration. You made me want to really understand how vim works and go with a much more minimalistic approach. Thanks for the great video!
@leeren_
@leeren_ 4 жыл бұрын
That's great to hear! I am 100% sure that's how most people start. You're on your way to greatness
@makunenbrawl7995
@makunenbrawl7995 Жыл бұрын
I'm always learning about vi since 2000. Thanks for all man you're awesome. Your tips & tricks wawww.....
@KSG__
@KSG__ 4 жыл бұрын
Great to see more videos from you man, I watched the talk video a long time ago when i was first learning vim and it helped a lot. Keep them coming, subbed!
@leeren_
@leeren_ 4 жыл бұрын
That's awesome. More will come!
@typesafety
@typesafety 4 жыл бұрын
I like this presentation a lot, it feels well-structured, well-paced, with clear explanations and examples, good job! plus, your sense of humor and way of speaking is great, it really contributes to the viewing experience haha
@leeren_
@leeren_ 4 жыл бұрын
Thank you! That's great to hear! Will keep up with it
@chrisBruner
@chrisBruner 4 жыл бұрын
So today I learned tree, :ij where to stick my vimrc, and a whole ton of stuff. This was a very densely packed video. Suggest you do a video on standard vim commands. I've used vim for years, and haven't seen half the tricks you used. Thanks for a great video. One thing that I was hoping for was how to do debugging through vim. I don't even know if that's possible, but to me an ide includes debugging.
@leeren_
@leeren_ 4 жыл бұрын
Thank you for the suggestion! Glad you learned a lot! I haven't played around much yet myself with debugging using Vim natively. What I do is just open a separate Vim terminal window and debug there.
@danielandreasen2293
@danielandreasen2293 4 жыл бұрын
Alright, I finished the video. Do you have your dotfiles anywhere? The include/define section was an eye-opener, but I prefer not to write out that regex.
@leeren_
@leeren_ 4 жыл бұрын
Oh yeah, I'll add that to the slides! And I'll try to update my git later this week.
@MartinsTalbergs
@MartinsTalbergs 4 жыл бұрын
Highly appreciate that you are no bullshit guy. This type of content will rise heights!
@leeren_
@leeren_ 4 жыл бұрын
Thank you! No BS is my style for sure
@romanjimenez1675
@romanjimenez1675 2 жыл бұрын
probably my favorite tutorial that I've ever seen. also made me realize I think I know vim but I really don't
@lucasmaia7553
@lucasmaia7553 3 жыл бұрын
What's the name of the software that you use to show at the top right of your screen to show the characters that have been typed? By the way I love the "from scratch" approach. Hugs from Brazil
@leeren_
@leeren_ 3 жыл бұрын
KeyCastr! Thank you so much for the support! Viva la Brazil!
@xjcai
@xjcai 3 жыл бұрын
So much insights in the video. I discovered a whole new world of vim. Love the vim more! Keep it up.
@javierlopez5877
@javierlopez5877 4 жыл бұрын
I loved the live presentation, happy to watch one in which you have more time. I don't know why but I find you Leeren so funny. Keep up the great work!
@leeren_
@leeren_ 4 жыл бұрын
Thank you, I will!
@richardbagshaw929
@richardbagshaw929 4 жыл бұрын
10:43 was brilliant for me, so so true about GO, the rest of the talk was awesome - thanks for sharing :)
@leeren_
@leeren_ 4 жыл бұрын
Right? Go is definitely my favorite language to use. For backend servers I'm convinced it's the superior option
@liamcooper3836
@liamcooper3836 4 жыл бұрын
Great talk, thanks for doing this. Love your passion for vim. Good luck on the youtube career!
@leeren_
@leeren_ 4 жыл бұрын
Thanks so much!
@fabricepepin3569
@fabricepepin3569 9 ай бұрын
Very good information even for beginners. Thank you for your videos.
@HaruharaxX
@HaruharaxX 3 жыл бұрын
Excellent delivery dude! Subscribed!
@leeren_
@leeren_ 3 жыл бұрын
Thank you!
@waseemahmed1446
@waseemahmed1446 4 жыл бұрын
That was the most liveliest vim setup i've seen on youtube. Like the color and syntax on part and all awesome bro!! Btw i was wondering where should i go to read all this like a documentation or a book or something which will help me get a quick glance and also tell me in "from the scratch" approach P.S i am giving a like and a comment 6 mins in the video
@leeren_
@leeren_ 4 жыл бұрын
Thanks for the kind words! Yeah I think the best resource for self-learning is to experiment on your own. When there's something specific you'd like to do, use a google search to point you in the right direction, and from there you should be able to know where to consult the vim manual for specific guidance via :h
@adrianochambel2876
@adrianochambel2876 4 жыл бұрын
Great job! This guy is the best I have been watching so far. Keep going man with your excellent approaching
@leeren_
@leeren_ 4 жыл бұрын
Thanks, stay tuned!
@mo5168
@mo5168 4 жыл бұрын
i agree. although, check out Greg Hurrell's vim screencast. The dude is also a vim wizard.
@RonBelaire
@RonBelaire 4 жыл бұрын
Love the 'from scratch' approach
@leeren_
@leeren_ 4 жыл бұрын
Thanks, glad it helped!
@avimehenwal
@avimehenwal 4 жыл бұрын
Really loved your talk man.. its one of the best I have seen on vim/neovim. Best part was the organization, how you broke your session into 7 parts. I learnt a lot. Thanks for sharing Parts with include-search, setting compilers and managing dotfiles were totally new for me. Cheers and wish you grow fortune in Bitcoin
@leeren_
@leeren_ 4 жыл бұрын
Thank you for the incredible acclamation! I hope you learned a lot and can incorporate these tips into your workflow!
@suryaperiaswamy5085
@suryaperiaswamy5085 3 жыл бұрын
This video is gold! I learned a lot. Thanks so much, man !!
@leeren_
@leeren_ 3 жыл бұрын
Glad you learned a lot from it!
@falkschonfeld2370
@falkschonfeld2370 4 жыл бұрын
NIce work with the include/define section, and with the easy to understand way of explaining the error format. I would personally prefer a much wider window showing your current keystrokes as sometimes (more like very often) you type faster than I can follow in the tiny window at the top right. I would suggest screenkey for this purpose as it has a screenwide bar
@leeren_
@leeren_ 4 жыл бұрын
Yeah, that's a great suggestion, and a problem I haven't figured out myself yet. I use KeyCastr on MacOS right now, and unfortunately the default (wider) mode works terribly when running apps in full-screen mode. Does anyone know of good key casting alternatives?
@leeren_
@leeren_ 3 жыл бұрын
Hi everyone - remember to visit my community channel to give me suggestions on new videos to do and to stay up to date with everything that i'm working on: kzbin.infocommunity
@grim.reaper
@grim.reaper 3 жыл бұрын
Thanks a bunch for the video. This clears a lot of things for me!!
@leeren_
@leeren_ 3 жыл бұрын
Glad to hear it!
@sainathsingineedi2922
@sainathsingineedi2922 4 жыл бұрын
Kalle sent me here and I am not disappointed. Nice stuff
@leeren_
@leeren_ 4 жыл бұрын
Thank you! I am very grateful Kalle shared this!
@bdesd
@bdesd 3 жыл бұрын
Love this video, and I love you’re teaching style bro you’re hilarious 😂
@jonnykopp
@jonnykopp 4 жыл бұрын
New to the channel. You knocked it out of the park. Thanks for sharing this stuff.
@leeren_
@leeren_ 4 жыл бұрын
Thanks so much!
@biogirl18
@biogirl18 4 жыл бұрын
Great stuff! Smooth teaching. You are born to be a teacher.
@leeren_
@leeren_ 4 жыл бұрын
Thank you, that means a lot!
@flipsi
@flipsi 4 жыл бұрын
Great talk! Especially loved the include-search part, because a lot of vim users will be unfamiliar with it, I guess.
@leeren_
@leeren_ 3 жыл бұрын
Thank you! Yes, it's the most under-appreciated feature in all of Vim in my opinion.
@ajwilliams2310
@ajwilliams2310 4 жыл бұрын
Awesome video! Very well organized and explained, and extremely helpful. I was wondering why you suggest that ctags should be a backup plan if include-search doesn't work. Doesn't ctags do everything include-search can? What makes include search better? Thanks again for making this video, and your past ones. Some of the best vim tutorials I have found. Subbed.
@leeren_
@leeren_ 3 жыл бұрын
Yes, I would suggest exactly as you said. Include-search is preferable because it has more features built to work specifically for vim (just look at :help include-search), whereas ctags was built as a generic tool usable for many different editors (and Vim of course has a bunch of features to support it, but include-search is more flexible overall)! I'm honored, thank you for watching!
@Gold_fi
@Gold_fi 4 жыл бұрын
Pls do more KZbin video, I think this channel can rival even the best Vim channels
@leeren_
@leeren_ 4 жыл бұрын
#1 baby
@BenKadel
@BenKadel 4 жыл бұрын
Best bit was the "Well F*** you man!" (25:20) made me laugh out loud! Quality! On another note this video is incredible and is really helpful and insightful thank you!
@leeren_
@leeren_ 4 жыл бұрын
LOL - love that you found that funny too! Thank you for the wonderful words
@sheerun
@sheerun 4 жыл бұрын
I actually dislike such swearing in videos
@qinfengguo3792
@qinfengguo3792 3 жыл бұрын
Love that part too. it's an amazing video. 1.5x speed is the best. Leeren shaking like a BOSS!
@yujinyuz
@yujinyuz 4 жыл бұрын
This guy inspired me to use Vim (his first talk on going mouseless with Vim and Tmux)
@leeren_
@leeren_ 4 жыл бұрын
Wow, it's my pleasure!
@manojuppala
@manojuppala 4 жыл бұрын
I love using VScode. But after watching this video I've started using vim extension in VScode.😁 Still using vscode
@leeren_
@leeren_ 4 жыл бұрын
Sweet. How's that going?
@intermediatedeveloper291
@intermediatedeveloper291 3 жыл бұрын
I started using that, but I quickly found that Vim was stepping on some of the VS Code shortcuts, like CTRL + B to hide the file explorer. I guess I could remap that key binding, but I think I might go the route described in this video. I guess that's one of the cool things about Vim -- lots of ways to tailor it.
@williambarrett7108
@williambarrett7108 3 жыл бұрын
Thank you for the time stamps!
@leeren_
@leeren_ 3 жыл бұрын
Of course!
@KiraTheUnleashed
@KiraTheUnleashed 4 жыл бұрын
I'm a Java developer and I write enterprise applications. Thank you for acknowledging that vim can't replace an IDE.
@fabioramatis2373
@fabioramatis2373 4 жыл бұрын
emacs actually can, watch this kzbin.info/www/bejne/eJPNqaFvrruBgJo
@VictorRodriguez-zp2do
@VictorRodriguez-zp2do 4 жыл бұрын
VIM can replace an IDE. He just didn't go over plugins, in this video he just configured bare vim to a usable state but with plugins you can get auto-completion, syntax checking, snippets and any fancy feature that you would get in any normal IDE.
@KiraTheUnleashed
@KiraTheUnleashed 4 жыл бұрын
@@VictorRodriguez-zp2do Does Vim also provides a debugger just like modern IDEs especially for Java? Because if that's the case then I'm happy to make the switch. Currently I'm using intellij with a vim emulator.
@leeren_
@leeren_ 4 жыл бұрын
@@KiraTheUnleashed Yeah you'd have to use a debugger for that. This is where a Vim plugin might come in handy. I typically like to debug in a separate Vim terminal window e.g. using pdb / gdb
@VictorRodriguez-zp2do
@VictorRodriguez-zp2do 4 жыл бұрын
@@leeren_ There's also termdebug, but that simply opens gdb in a vim terminal so it's more like a shortcut than anything.
@DiscoveryTec
@DiscoveryTec 3 жыл бұрын
Loved this talk. Thank you for sharing it. :D
@leeren_
@leeren_ 3 жыл бұрын
Thank you for watching!
@simonekalb
@simonekalb 4 жыл бұрын
Amazing and really helpful practical talk.Really impressive skills. Keep up the good work.
@leeren_
@leeren_ 4 жыл бұрын
Thank you! I will!
@j4g094
@j4g094 4 жыл бұрын
you know, I have used vim for several years now and had a somewhat complicated structure of config files to load per filetype basis. Thank you very much for showing me the /after/ftplugin directory
@leeren_
@leeren_ 4 жыл бұрын
Hope it helps! Great that you learned something new!
@forsh2966
@forsh2966 4 жыл бұрын
I am super lucky found these videos on my youtube home. Instant subs too, thank you for the great explanation for newbs like me :D
@leeren_
@leeren_ 4 жыл бұрын
thanks for subbing and watching!
@xitin9940
@xitin9940 4 жыл бұрын
as a new vim user it's very helpful, thank you
@leeren_
@leeren_ 4 жыл бұрын
I'm glad it helped you!
@rukavitsin
@rukavitsin 4 жыл бұрын
Instant subscribe. Amazing tutorial
@leeren_
@leeren_ 4 жыл бұрын
Thank you!
@kevko5212
@kevko5212 4 жыл бұрын
That was a great talk. Really learned a lot about i-search, define, and make. Will be an improvement over my current workflow of ctags, grep, and ctrl-z (with redir to a file if I need to see the error within vim).
@kevko5212
@kevko5212 4 жыл бұрын
So it looks like :dj only searches files populated by include, and not path. So in java where imports are implicit for files that are in the same package, this will not work. Am I understanding that correctly? Looks like I will continue to use ctags for java.
@leeren_
@leeren_ 4 жыл бұрын
@@kevko5212 Yeah unfortunately this is where include-search can be fairly limited. You're spot on about that.
@qawsfgtwgshsghsfdvf
@qawsfgtwgshsghsfdvf 4 жыл бұрын
Wow! Your vim talks are awesome. I learn so much from them. Thankyou. Just keep it clean and have a search for bare git repositories to store your dotfiles
@leeren_
@leeren_ 4 жыл бұрын
Thank you for watching! Will do
@adampaulukanis
@adampaulukanis 3 жыл бұрын
Nice mate. Thanks for this.
@leeren_
@leeren_ 3 жыл бұрын
Thank you for watching!
@Awwe12675
@Awwe12675 9 ай бұрын
افضل فديو شاهدته عن فيم ، شكرا لك
@okeeycai7549
@okeeycai7549 4 жыл бұрын
wow, 1h 6m... deep dive into Vim! Awesome!
@leeren_
@leeren_ 4 жыл бұрын
Hope you enjoyed!
@Pujastanto
@Pujastanto 4 жыл бұрын
I'm not vim user and there's still so many vim users in 2020, my question is why? What makes it better than let say Vscode or vscodium? (no offense its purely based on my curiosity)
@aquepaique
@aquepaique 4 жыл бұрын
using vim you code faster
@leeren_
@leeren_ 4 жыл бұрын
For me it's mainly convenience, portability. This especially holds true if your work entails working with lots of servers. The speed is another plus
@frydac
@frydac 4 жыл бұрын
IMO fast coding has nothing to do with your editor, but with your problem solving/decision making skills, or the problems you code are too easy and you need to find a more challenging job :). I'm a pretty skilled vim user and love improving my workflow, I have a colleague who has only basic vim knowledge but is a much more experienced programmer, and just smarter person. While I can do 'individual' actions much faster than him, his output is at least triple that of mine. Why I use vim over VSCode, multiple reasons - vscode didn't exist, and I was pretty invested in vim when it did come out - the struggle and feeling of accomplishment when improving your workflow - for me everyday use of vim almost feels like playing a videogame called: effective editing, a game without a skill-ceiling. I do think it has to be in your personality to want to play and enjoy playing this game, some ppl just don't care about it and just don't want to be bothered, but I deeply enjoy it, and can lay awake being excited thinking about this stuff :) VSCode also gives you some of this, bit it doesn't force you to in the same degree. - vim is soo fast (with exception to windows, where it feels not as snappy, especially its filesystem speed is not on the same level as e.g. linux'). e.g. I use git from cli, and vim for diff/editing commits, vim's startuptime is less than 100ms and I now have 71 plugins installed. FYI startup/plugin profiling is all built in, you can easily debug your experience in great detail. I do think vscode is great and covers a lot of the same area as vim and is for many ppl the better/more convenient choice most likely. Also vscode initiated the language server protocol that has been adopted by many vim plugins, although this talk tries to provide an alternative for it, proper semantic completion and goto based on an AST from an actual compiler using metainformation from a complex project's buildsystem is in some cases a lot more effective, which imo just adds to all the other options for navigation, it all depends on the current context what works best. So vim even benefits from work done for vscode. It will be interesting to see how they all will evolve.
@brinckau
@brinckau 4 жыл бұрын
One reason (among many) has to do with the UNIX philosophy. You want to write a C++ program, to write a book, to send an e-mail? Those tasks all come down to one thing: editing text. You can do that with Vim. You don't write e-mails or your résumé using VSCode, do you? Some people even type their KZbin comments using the same text editor they use for everything else (some browser extensions are made for that).
@kallikantzaros
@kallikantzaros 4 жыл бұрын
Are you planning to create more videos on different Linux topics any soon, because you explain very well and I would love to watch more of you? Cheers!
@leeren_
@leeren_ 4 жыл бұрын
You bet! I need to start pushing myself to these videos more consistently. What topics would you be interested in?
@kallikantzaros
@kallikantzaros 4 жыл бұрын
@@leeren_ booting, kernel, resource handling, maybe bash project that you have done and want to explain ways to write scripts, kernel modules, whatever you want man just do it :)
@Gold_fi
@Gold_fi 4 жыл бұрын
@@leeren_ ...and maybe some vimscript, lua, python, WSL2, job control in bash.
@digitaljestin
@digitaljestin 4 жыл бұрын
/usr/include in the default path had nothing to do with finding vim configs, but is where library headers (.h files) are stored. It's useful for C/C++.
@leeren_
@leeren_ 4 жыл бұрын
Ah, I made a mistake then, thank you for pointing that out
@Cih2001
@Cih2001 4 жыл бұрын
Hi Leeren, Thanks to you I started working with VIM two years ago and I really enjoy your super informative videos. But one thing you never mention/use is LSP. Is there any reason for that?
@leeren_
@leeren_ 4 жыл бұрын
No reason! Just trying to cover all of Vim's native features before moving towards that topic! LSPs are great
@jonnykopp
@jonnykopp 3 жыл бұрын
Have you thought of incorporating treesitter into the include search workflow? Also, how do you handle the multiple returns needed for something like: From package import Part1, Part2, Part3 Awesome video!
@leeren_
@leeren_ 3 жыл бұрын
Yeah I haven't updated my include-search Python file to support that yet. It definitely gets complicated. That's when I start to fall-back to Tags. Haven't used treesitter before. How do you like it?
@GokuSan389
@GokuSan389 3 жыл бұрын
Damn I love this talk, its my 3rd time watching it :D... My favorite parts are the 23:35 with the after directory, it helped me tweak some things with php and ruby, and the whole include-search.
@leeren_
@leeren_ 3 жыл бұрын
Thanks for the support! I'm really glad! What else would you wanna learn about Vim in the future? Like what kind of workflows
@BramStolk
@BramStolk 4 жыл бұрын
Awesome stuff. Thanks for sharing! I have been using vi since 1989, but still use a very basic subset from it. I learned a lot of new tricks. About include jump.... it works in my C project, but how would I quickly toggle to the actual implementation, as include jump takes me to header, not c file?
@leeren_
@leeren_ 4 жыл бұрын
Wow, it's all the more meaningful to me to have an old-school vim user tell me they learned a lot! It's been a while since I've touched C, but if you run :dlist or :ilist, for example, you should see a list of all included inter-file pattern or definition matches, and i'm assuming this would include the actual source implementation (and not just the headers). Let me know if that's not working.
@BramStolk
@BramStolk 4 жыл бұрын
@@leeren_ It lists just the header (and invocation in current file) but not the implementation. Makes sense, as the .c file is not included, the .h file is. Oh, and back in the day it was still called 'vi' as 'vim' did not exist yet :-)
@leeren_
@leeren_ 4 жыл бұрын
​@@BramStolk Right, that makes sense. I guess tags are the best fallback here, then. It's interesting though because I'd assume the defaults for C would allow for an easier navigation experience compared to other languages. Assuming header and source files are of the same name, you COULD try playing around with `suffixesadd` so that header files result in searching for the C counterparts. Or, if that doesn't work then tag jumps do seem like the best bet. You've piqued my interests, though, I'll try to explore this weekend.
@rianfuro4088
@rianfuro4088 4 жыл бұрын
@Bram Stolk @Leeren TL;DR: :execute "normal :e +/\\\\v/ %:r.c\" As you have your .h and .c files side by side, you can bind the above to a command or keybinding to your liking and it should take you to the implementation; otherwise you need to adapt the path at the end to your setup. expand('') expands to the word under the cursor. Since the include-search should leave your cursor on the symbol, that should work out. :edit allows you to give it a command indicating where to put the cursor when opening the file. We use that to regex-search (+//) for the word under the cursor between word boundaries: "+/\v/". I use very-magic here (\v) so I don't need to escape the word-boundary symbols < and >. %:r takes the current filename (%) and strips the last extension from it (:r). So %:r.c basically takes your file.h and makes file.c out of it. So in full, from .h we open the file .c, searching for the word under the cursor to place the cursor there when opening. You can easily make that a toggle (swapping between .h and .c from either side) by packing all of that into a function, checking for the current file ending and applying the respective other ending.
@leeren_
@leeren_ 4 жыл бұрын
@@rianfuro4088 Great tip! Thanks for sharing.
@ildefonsogiron4034
@ildefonsogiron4034 4 жыл бұрын
I've been using VIM as an IDE for decades. A big screen with 9 80x25 terminal emulators, and four or five xfce4 desktops, all running on Debian Linux. Other desktops are used to work on spreadsheets, documents, browsers, etc. Regards.
@leeren_
@leeren_ 4 жыл бұрын
Wow, thanks for sharing your setup. That's really cool!
@szybszy2008
@szybszy2008 3 жыл бұрын
Thank you very much indeed! Great talk and guide for fresh Vim user like me (especially interested in Python) ;) Thanks!
@leeren_
@leeren_ 3 жыл бұрын
Thank you! I'm glad it helped!
@matka5130
@matka5130 4 жыл бұрын
You just made my day, excellent job !
@leeren_
@leeren_ 4 жыл бұрын
Very happy to hear! Thank you!
@ItsYourBoyMRAR
@ItsYourBoyMRAR 4 жыл бұрын
Is More Useful Than VS Code?
@matka5130
@matka5130 4 жыл бұрын
@@ItsYourBoyMRAR I would say that it's different approach. Can be much more effecient, but learning curve is much harder.
@ItsYourBoyMRAR
@ItsYourBoyMRAR 4 жыл бұрын
@@matka5130oh ok
@Spikey8d
@Spikey8d 4 жыл бұрын
I have come across include path while reading the help pages, but I couldn't get it working or figure out how it was supposed to be used. This talk demonstrated just how powerful it can be! Not what I expected from the title, but thanks! Looking forward to more
@leeren_
@leeren_ 4 жыл бұрын
Thank you! What DID you expect?
@Spikey8d
@Spikey8d 4 жыл бұрын
Leeren I have been seeing a lot of KZbin suggestions recently for multiple videos that cover how to make Vim work like VSCode by adding usually LSP, fzf and nerdtree plugins. I guess I saw the words "vim, ide, 2020" in the title and assumed it would be the same
@leeren_
@leeren_ 4 жыл бұрын
@@Spikey8d Cool! How do those compare? I actually don't watch other Vim YT vids
@Spikey8d
@Spikey8d 4 жыл бұрын
My guess is that for the average non-super-vim-enthusiast how to get Vim to be like VSCode with minimal effort is what they want to see, but how to grok Vim and what it comes with built-in is what will bring the most value to their editing experience. I'll take any Vim content I can get, whether that's showing off their workflow and plugins or giving a ground-up walkthrough of the nitty-gritty --I appreciate it all
@julianelischer6961
@julianelischer6961 3 жыл бұрын
Interesting for someone who started with vi in 1980 but only recently started switching to vim... How about a description on how to use language servers? (e.g. gopls)
@leeren_
@leeren_ 3 жыл бұрын
That's a good idea. How do you like vim compared to vi?
@mkhnuser
@mkhnuser 3 жыл бұрын
Thanks! But what is difference between buffers, windows & tabs in vim?
@fev4
@fev4 4 жыл бұрын
What a beast. Thanks. Of course I had to subscribe
@leeren_
@leeren_ 4 жыл бұрын
Thank you!
@vanditgoel7000
@vanditgoel7000 Жыл бұрын
Hi! Thanks for the amazing video! However I have problems with include search. If a function or word is called more than once in a file and I do an `ij` on it shows me results from the same file. And not the actual file the function was defined in. How do I fix this?
@kerron68
@kerron68 3 жыл бұрын
3 minutes in - "This guy is good! I'm going to enjoy this."
@leeren_
@leeren_ 3 жыл бұрын
Did you enjoy it? Thanks!
@GevorgVardanyan
@GevorgVardanyan 2 жыл бұрын
Hi. Thank you for this video. It is great.
@mainendra
@mainendra 4 жыл бұрын
Really good 👍, I like the way you are not using any plugins. I'm also using similar style whether it's work project or personal, just start with any plugin to get the job done and then understand the plugin and if it can be achieved without plugin then create your own script / function so that we can avoid third party dependencies and also learn about how it works. Also you can personalized it the way you want as third party libraries are designed to cater all types of user and your need might be different.
@leeren_
@leeren_ 4 жыл бұрын
Thanks a lot! Yeah, that's the same way I use to personalize my Vim!
@franciscmunteanu9096
@franciscmunteanu9096 3 жыл бұрын
Hi Leeren! Looking forward to see more of those great tutorials! Thanks a lot!! One small change I had to make to PyInclude function is this: let l = substitute(parts[0], '\.', '', '') Since cases like .conv (relative python imports where not working for me).
@leeren_
@leeren_ 3 жыл бұрын
Thanks for sharing this. Maybe it's a versioning issue.
@williambarrett7108
@williambarrett7108 3 жыл бұрын
Do you have content on LBRY? I like your content but KZbin is annoying with all the adds. You might want to mirror your content onto LBRY. You may be surprised by this venue. Honestly you are helping me and I really am enjoying your videos!
@leeren_
@leeren_ 3 жыл бұрын
No, is it popular? Ads suck but I do wanna make this a career and unfortunately it's the only way I know of monetizing in a convenient way. Thanks for watching and glad you're enjoying them! I will check out LBRY
@williambarrett7108
@williambarrett7108 3 жыл бұрын
I watch the adds because I think you definitely deserve to get paid. I really enjoy your videos, and appreciate the work you put into them!
@williambarrett7108
@williambarrett7108 3 жыл бұрын
You do also get paid on LBRY from you viewers, and a lot of creators also have a patreon site that gets paid by a monthly subscription.
@mcoussama9096
@mcoussama9096 3 жыл бұрын
Thank you so much for sharing this.
@leeren_
@leeren_ 3 жыл бұрын
Thank you for watching!
@mrmusicalinstrument
@mrmusicalinstrument 4 жыл бұрын
Great video, very well explained and a true from-scratch approach. Looking forward to seeing more of your videos! Regarding escaping in the include/define options, you can get around double-backslashing by using a let statement instead, like: let &l:include = '^\s*\(from\|import\)\s*\zs\(\S\+\s\{-}\)*\ze\($\| as\)' It's explained also in :h 'define', I find this a lot more convenient than having to manually escape everything. You can also reduce the amount of backslashes needed by enabling verymagic mode, with the \v flag: let &l:include = '\v^\s*(from|import)\s*\zs(\S+\s{-})*\ze($| as)'
@leeren_
@leeren_ 4 жыл бұрын
Excellent tip. Thanks for writing out the alternative so we can all learn from you!
@mikej9325
@mikej9325 4 жыл бұрын
So helpful. Thank you
@leeren_
@leeren_ 4 жыл бұрын
Glad it helped!
@pallandobaggins8172
@pallandobaggins8172 4 жыл бұрын
Thank you for the lesson! I will have to replay this a couple of times, there's too much information for one viewing. PS: Yes you're a legend 🙂
@leeren_
@leeren_ 4 жыл бұрын
Thanks! Hope you learn a lot!
@hellozdm3701
@hellozdm3701 3 жыл бұрын
the include search is useful, but when it found many result , how can I select one instead of go to the first place? I find :il list or :ij count pattern, but can't find how to show a select
@leeren_
@leeren_ 3 жыл бұрын
Excellent question! This is one of the areas where a plugin can make a lot of sense - I recommend github.com/romainl/vim-qf for just this
@RafaLeyvaRuiz
@RafaLeyvaRuiz 3 жыл бұрын
this was simply amazing,
@leeren_
@leeren_ 3 жыл бұрын
Thank you very much!
@goonman1255
@goonman1255 3 жыл бұрын
Fuck these vim talks are unreal, need more of this!
@leeren_
@leeren_ 3 жыл бұрын
Thank you!
@kartikxramesh
@kartikxramesh 3 жыл бұрын
man your voice is incredibly soothing lmao
@leeren_
@leeren_ 3 жыл бұрын
Thank you!
How to Install and Manage Vim Plugins (The Easy Way)
8:53
Eric Murphy
Рет қаралды 23 М.
А что бы ты сделал? @LimbLossBoss
00:17
История одного вокалиста
Рет қаралды 10 МЛН
НИКИТА ПОДСТАВИЛ ДЖОНИ 😡
01:00
HOOOTDOGS
Рет қаралды 2,7 МЛН
Can I Run Youtube Entirely From My Terminal? (No Browser)
15:31
Vim: Tutorial on Customization and Configuration (2020)
1:27:53
How I animate 3Blue1Brown | A Manim demo with Ben Sparks
53:41
3Blue1Brown
Рет қаралды 685 М.
Why I Cant Stand IDE's After Using VIM | Prime Reacts
17:51
ThePrimeTime
Рет қаралды 331 М.
Vim Tips You Probably Never Heard of
12:11
Luke Smith
Рет қаралды 121 М.
30 Vim commands you NEED TO KNOW (in just 10 minutes)
10:27
typecraft
Рет қаралды 107 М.
The Worst Programming Language Ever - Mark Rendle - NDC Oslo 2021
1:00:41
NDC Conferences
Рет қаралды 1,3 МЛН
So You Think You Know Git - FOSDEM 2024
47:00
GitButler
Рет қаралды 1,2 МЛН
How do Graphics Cards Work?  Exploring GPU Architecture
28:30
Branch Education
Рет қаралды 425 М.
Vim Tips I Wish I Knew Earlier
23:00
Sebastian Daschner
Рет қаралды 72 М.