My favorite part of the talk is the thumbnail image. That's because I'm here as an aunt, not a Vim user :)
@leeren_4 жыл бұрын
❤️although I know it'd be really easy for you to learn this
@MartinsTalbergs4 жыл бұрын
VIM is easy and it changes your life, much like when you first meet Jesus
@wyleong43264 жыл бұрын
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...
@ildefonsogiron40344 жыл бұрын
And I like your thumbnail too. Regards.
@박성환-y4f5e4 жыл бұрын
nice thumbnail :)
@bryanmoh76774 жыл бұрын
Loses all his money in crypto; doesn't put ads in the vid. Gentlemen we have a true hero in our midst
@leeren_4 жыл бұрын
:')
@leeren_4 жыл бұрын
sorry market too unforgiving, no longer robinhood
@kris10an644 жыл бұрын
@@leeren_ I would be dissapointed if you didn't put ads tbh 🙂
@superscatboy4 жыл бұрын
True heroes don't invest in cryptos.
@8w733 жыл бұрын
@@superscatboy Based.
@MrOohBattman4 жыл бұрын
You've found your calling, mate. Great pace, style, insight, delivery.. everything. Very, very watchable and retainable info.
@leeren_4 жыл бұрын
Thank you! Super motivating! I wanna do this full-time
@stefanmuck20484 жыл бұрын
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_4 жыл бұрын
Thank you! Yeah getting your hands dirty with learning Vim is quite the challenge, especially starting off! But it's lots of fun
@vDungeon4 жыл бұрын
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.
@xyzxyz60955 ай бұрын
Salutations from France and many thanks to the frankly speaking and efforts to make it easy to understand. Merci beaucoup.
@dariomatonicki17034 жыл бұрын
Programmers from 70's did not need color screens, LSD was plentifully and not frowned upon back then .. ;)
@leeren_4 жыл бұрын
Word! Although I have doubts whether you could program effectively tripping LOL
@alextjn4 жыл бұрын
Absolute master class, very informative. High quality videos on this topic are rare. Looking forward to more videos from you.
@leeren_4 жыл бұрын
Thanks! It means a lot to me!
@enisarik60023 жыл бұрын
Live example of using stow is super cool. Thanks Leeren!
@Qewbicle3 жыл бұрын
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.
@Argletrough3 жыл бұрын
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.
@timothystone4 жыл бұрын
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_4 жыл бұрын
Thank you! I live by that lifecycle rule. And it's great to hear you enjoy this presentation style.
@cpakkala2 жыл бұрын
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.
@johnlewis77364 жыл бұрын
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_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
@dikaiosunepaciencia85303 жыл бұрын
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.
@derekfrost89913 жыл бұрын
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-mb7bt2 жыл бұрын
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.
@brunobelotticom4 жыл бұрын
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_4 жыл бұрын
Wow, that's a long time. Thanks so much! Glad the approach worked well for you. Stay tuned for more!
@brunobelotticom4 жыл бұрын
@@leeren_ Yeah, I know right? I'm OLD! 😱 Can't wait to see more stuff from you 👍🏻👍🏻👍🏻
@elcontrastador3 жыл бұрын
Dude, this was very entertaining with great organization and flow. Subscribed AF!
@Amapramaadhy4 жыл бұрын
Instant subscribe. Really thorough. Love the “from scratch” approach.
@leeren_4 жыл бұрын
Thanks! Glad you loved it!
@magnusanderson66813 жыл бұрын
@@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
@stevehof3 жыл бұрын
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!
@martinmusli30444 жыл бұрын
The best Tutorial Channel ever. Three videos, down to earth
@leeren_4 жыл бұрын
Thank you! Appreciate it!
@martinmusli30444 жыл бұрын
@@leeren_ Do you have any Idea when you will give your next talk/presentation?
@leeren_4 жыл бұрын
@@martinmusli3044 Within a week but it won't be on Vim!
@mrlithium69 Жыл бұрын
I always come back to this. great teacher !
@mikedougherty39042 жыл бұрын
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!
@salmanabedin13134 жыл бұрын
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_4 жыл бұрын
Haha I feel the same way learning from even more advanced users too! More content coming
@rohanghige4 жыл бұрын
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_4 жыл бұрын
Thank you! I hope it helped!
@hansbala993 жыл бұрын
Really impressed with the high quality content. Really looking forward to hearing more of your talks
@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?
@alanxoc34 жыл бұрын
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_4 жыл бұрын
That's great to hear! I am 100% sure that's how most people start. You're on your way to greatness
@makunenbrawl7995 Жыл бұрын
I'm always learning about vi since 2000. Thanks for all man you're awesome. Your tips & tricks wawww.....
@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_4 жыл бұрын
That's awesome. More will come!
@typesafety4 жыл бұрын
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_4 жыл бұрын
Thank you! That's great to hear! Will keep up with it
@chrisBruner4 жыл бұрын
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_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.
@danielandreasen22934 жыл бұрын
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_4 жыл бұрын
Oh yeah, I'll add that to the slides! And I'll try to update my git later this week.
@MartinsTalbergs4 жыл бұрын
Highly appreciate that you are no bullshit guy. This type of content will rise heights!
@leeren_4 жыл бұрын
Thank you! No BS is my style for sure
@romanjimenez16752 жыл бұрын
probably my favorite tutorial that I've ever seen. also made me realize I think I know vim but I really don't
@lucasmaia75533 жыл бұрын
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_3 жыл бұрын
KeyCastr! Thank you so much for the support! Viva la Brazil!
@xjcai3 жыл бұрын
So much insights in the video. I discovered a whole new world of vim. Love the vim more! Keep it up.
@javierlopez58774 жыл бұрын
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_4 жыл бұрын
Thank you, I will!
@richardbagshaw9294 жыл бұрын
10:43 was brilliant for me, so so true about GO, the rest of the talk was awesome - thanks for sharing :)
@leeren_4 жыл бұрын
Right? Go is definitely my favorite language to use. For backend servers I'm convinced it's the superior option
@liamcooper38364 жыл бұрын
Great talk, thanks for doing this. Love your passion for vim. Good luck on the youtube career!
@leeren_4 жыл бұрын
Thanks so much!
@fabricepepin35699 ай бұрын
Very good information even for beginners. Thank you for your videos.
@HaruharaxX3 жыл бұрын
Excellent delivery dude! Subscribed!
@leeren_3 жыл бұрын
Thank you!
@waseemahmed14464 жыл бұрын
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_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
@adrianochambel28764 жыл бұрын
Great job! This guy is the best I have been watching so far. Keep going man with your excellent approaching
@leeren_4 жыл бұрын
Thanks, stay tuned!
@mo51684 жыл бұрын
i agree. although, check out Greg Hurrell's vim screencast. The dude is also a vim wizard.
@RonBelaire4 жыл бұрын
Love the 'from scratch' approach
@leeren_4 жыл бұрын
Thanks, glad it helped!
@avimehenwal4 жыл бұрын
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_4 жыл бұрын
Thank you for the incredible acclamation! I hope you learned a lot and can incorporate these tips into your workflow!
@suryaperiaswamy50853 жыл бұрын
This video is gold! I learned a lot. Thanks so much, man !!
@leeren_3 жыл бұрын
Glad you learned a lot from it!
@falkschonfeld23704 жыл бұрын
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_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_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.reaper3 жыл бұрын
Thanks a bunch for the video. This clears a lot of things for me!!
@leeren_3 жыл бұрын
Glad to hear it!
@sainathsingineedi29224 жыл бұрын
Kalle sent me here and I am not disappointed. Nice stuff
@leeren_4 жыл бұрын
Thank you! I am very grateful Kalle shared this!
@bdesd3 жыл бұрын
Love this video, and I love you’re teaching style bro you’re hilarious 😂
@jonnykopp4 жыл бұрын
New to the channel. You knocked it out of the park. Thanks for sharing this stuff.
@leeren_4 жыл бұрын
Thanks so much!
@biogirl184 жыл бұрын
Great stuff! Smooth teaching. You are born to be a teacher.
@leeren_4 жыл бұрын
Thank you, that means a lot!
@flipsi4 жыл бұрын
Great talk! Especially loved the include-search part, because a lot of vim users will be unfamiliar with it, I guess.
@leeren_3 жыл бұрын
Thank you! Yes, it's the most under-appreciated feature in all of Vim in my opinion.
@ajwilliams23104 жыл бұрын
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_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_fi4 жыл бұрын
Pls do more KZbin video, I think this channel can rival even the best Vim channels
@leeren_4 жыл бұрын
#1 baby
@BenKadel4 жыл бұрын
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_4 жыл бұрын
LOL - love that you found that funny too! Thank you for the wonderful words
@sheerun4 жыл бұрын
I actually dislike such swearing in videos
@qinfengguo37923 жыл бұрын
Love that part too. it's an amazing video. 1.5x speed is the best. Leeren shaking like a BOSS!
@yujinyuz4 жыл бұрын
This guy inspired me to use Vim (his first talk on going mouseless with Vim and Tmux)
@leeren_4 жыл бұрын
Wow, it's my pleasure!
@manojuppala4 жыл бұрын
I love using VScode. But after watching this video I've started using vim extension in VScode.😁 Still using vscode
@leeren_4 жыл бұрын
Sweet. How's that going?
@intermediatedeveloper2913 жыл бұрын
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.
@williambarrett71083 жыл бұрын
Thank you for the time stamps!
@leeren_3 жыл бұрын
Of course!
@KiraTheUnleashed4 жыл бұрын
I'm a Java developer and I write enterprise applications. Thank you for acknowledging that vim can't replace an IDE.
@fabioramatis23734 жыл бұрын
emacs actually can, watch this kzbin.info/www/bejne/eJPNqaFvrruBgJo
@VictorRodriguez-zp2do4 жыл бұрын
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.
@KiraTheUnleashed4 жыл бұрын
@@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_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-zp2do4 жыл бұрын
@@leeren_ There's also termdebug, but that simply opens gdb in a vim terminal so it's more like a shortcut than anything.
@DiscoveryTec3 жыл бұрын
Loved this talk. Thank you for sharing it. :D
@leeren_3 жыл бұрын
Thank you for watching!
@simonekalb4 жыл бұрын
Amazing and really helpful practical talk.Really impressive skills. Keep up the good work.
@leeren_4 жыл бұрын
Thank you! I will!
@j4g0944 жыл бұрын
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_4 жыл бұрын
Hope it helps! Great that you learned something new!
@forsh29664 жыл бұрын
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_4 жыл бұрын
thanks for subbing and watching!
@xitin99404 жыл бұрын
as a new vim user it's very helpful, thank you
@leeren_4 жыл бұрын
I'm glad it helped you!
@rukavitsin4 жыл бұрын
Instant subscribe. Amazing tutorial
@leeren_4 жыл бұрын
Thank you!
@kevko52124 жыл бұрын
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).
@kevko52124 жыл бұрын
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_4 жыл бұрын
@@kevko5212 Yeah unfortunately this is where include-search can be fairly limited. You're spot on about that.
@qawsfgtwgshsghsfdvf4 жыл бұрын
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_4 жыл бұрын
Thank you for watching! Will do
@adampaulukanis3 жыл бұрын
Nice mate. Thanks for this.
@leeren_3 жыл бұрын
Thank you for watching!
@Awwe126759 ай бұрын
افضل فديو شاهدته عن فيم ، شكرا لك
@okeeycai75494 жыл бұрын
wow, 1h 6m... deep dive into Vim! Awesome!
@leeren_4 жыл бұрын
Hope you enjoyed!
@Pujastanto4 жыл бұрын
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)
@aquepaique4 жыл бұрын
using vim you code faster
@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
@frydac4 жыл бұрын
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.
@brinckau4 жыл бұрын
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).
@kallikantzaros4 жыл бұрын
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_4 жыл бұрын
You bet! I need to start pushing myself to these videos more consistently. What topics would you be interested in?
@kallikantzaros4 жыл бұрын
@@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_fi4 жыл бұрын
@@leeren_ ...and maybe some vimscript, lua, python, WSL2, job control in bash.
@digitaljestin4 жыл бұрын
/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_4 жыл бұрын
Ah, I made a mistake then, thank you for pointing that out
@Cih20014 жыл бұрын
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_4 жыл бұрын
No reason! Just trying to cover all of Vim's native features before moving towards that topic! LSPs are great
@jonnykopp3 жыл бұрын
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_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?
@GokuSan3893 жыл бұрын
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_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
@BramStolk4 жыл бұрын
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_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.
@BramStolk4 жыл бұрын
@@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_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.
@rianfuro40884 жыл бұрын
@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_4 жыл бұрын
@@rianfuro4088 Great tip! Thanks for sharing.
@ildefonsogiron40344 жыл бұрын
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_4 жыл бұрын
Wow, thanks for sharing your setup. That's really cool!
@szybszy20083 жыл бұрын
Thank you very much indeed! Great talk and guide for fresh Vim user like me (especially interested in Python) ;) Thanks!
@leeren_3 жыл бұрын
Thank you! I'm glad it helped!
@matka51304 жыл бұрын
You just made my day, excellent job !
@leeren_4 жыл бұрын
Very happy to hear! Thank you!
@ItsYourBoyMRAR4 жыл бұрын
Is More Useful Than VS Code?
@matka51304 жыл бұрын
@@ItsYourBoyMRAR I would say that it's different approach. Can be much more effecient, but learning curve is much harder.
@ItsYourBoyMRAR4 жыл бұрын
@@matka5130oh ok
@Spikey8d4 жыл бұрын
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_4 жыл бұрын
Thank you! What DID you expect?
@Spikey8d4 жыл бұрын
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_4 жыл бұрын
@@Spikey8d Cool! How do those compare? I actually don't watch other Vim YT vids
@Spikey8d4 жыл бұрын
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
@julianelischer69613 жыл бұрын
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_3 жыл бұрын
That's a good idea. How do you like vim compared to vi?
@mkhnuser3 жыл бұрын
Thanks! But what is difference between buffers, windows & tabs in vim?
@fev44 жыл бұрын
What a beast. Thanks. Of course I had to subscribe
@leeren_4 жыл бұрын
Thank you!
@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?
@kerron683 жыл бұрын
3 minutes in - "This guy is good! I'm going to enjoy this."
@leeren_3 жыл бұрын
Did you enjoy it? Thanks!
@GevorgVardanyan2 жыл бұрын
Hi. Thank you for this video. It is great.
@mainendra4 жыл бұрын
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_4 жыл бұрын
Thanks a lot! Yeah, that's the same way I use to personalize my Vim!
@franciscmunteanu90963 жыл бұрын
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_3 жыл бұрын
Thanks for sharing this. Maybe it's a versioning issue.
@williambarrett71083 жыл бұрын
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_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
@williambarrett71083 жыл бұрын
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!
@williambarrett71083 жыл бұрын
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.
@mcoussama90963 жыл бұрын
Thank you so much for sharing this.
@leeren_3 жыл бұрын
Thank you for watching!
@mrmusicalinstrument4 жыл бұрын
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_4 жыл бұрын
Excellent tip. Thanks for writing out the alternative so we can all learn from you!
@mikej93254 жыл бұрын
So helpful. Thank you
@leeren_4 жыл бұрын
Glad it helped!
@pallandobaggins81724 жыл бұрын
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_4 жыл бұрын
Thanks! Hope you learn a lot!
@hellozdm37013 жыл бұрын
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_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
@RafaLeyvaRuiz3 жыл бұрын
this was simply amazing,
@leeren_3 жыл бұрын
Thank you very much!
@goonman12553 жыл бұрын
Fuck these vim talks are unreal, need more of this!