Vim: Vim as an IDE (VimConf 2020 Talk)

Learn how to transform bare-metal Vim to a 🔥 fully integrated IDE 🔥 for any language of your choice by following this 7-step hands-on process 🤙
📔 View the Vim presentation slides: bit.ly/3333acP
This talk was presented as port of Vim's first virtual Vim conference (vimconf.live), and goes over howe can natively 🛠️ configure 🛠️ Vim to do everything we'd expect from a typical IDE, including seamless file navigation, instantaneous symbol lookups, and smooth build-and-edit workflows. The goal of this is to show you how you can tailor Vim to work for any language without requiring external plugin support, so that you can become a better Vim editor and make smarter decisions about what optimizations you really need as a plugin versus those already on the table.
We'll be exploring the following, each with practical demos to follow along:
0:00 Intro
1:55 Initializing a vimrc
10:21 The runtimepath and formatting
17:49 Using Vim's :path to instantly find files
24:57 Include-search, Vim's most powerful feature
54:24 Tags
55:49 Compiler Support
1:03:10 Portability
Which step did you enjoy watching the most? What topics do you want me to cover? I'd love to hear your thoughts and feedback in the comments section!
🎉 Contact Me:
/ leerenchang
/ leerenchang
/ leeren
Subscribe: / leerentalks
#vim #vimconf

Пікірлер: 397

  • @karamcbride
    @karamcbride3 жыл бұрын

    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_

    3 жыл бұрын

    ❤️although I know it'd be really easy for you to learn this

  • @MartinsTalbergs

    @MartinsTalbergs

    3 жыл бұрын

    VIM is easy and it changes your life, much like when you first meet Jesus

  • @wyleong4326

    @wyleong4326

    3 жыл бұрын

    When you go on KZread to learn something about programming and the lesson you get is about Love. The world is so awesome in so many way...

  • @ildefonsogiron4034

    @ildefonsogiron4034

    3 жыл бұрын

    And I like your thumbnail too. Regards.

  • @user-jg2gd2lz4s

    @user-jg2gd2lz4s

    3 жыл бұрын

    nice thumbnail :)

  • @bryanmoh7677
    @bryanmoh76773 жыл бұрын

    Loses all his money in crypto; doesn't put ads in the vid. Gentlemen we have a true hero in our midst

  • @leeren_

    @leeren_

    3 жыл бұрын

    :')

  • @leeren_

    @leeren_

    3 жыл бұрын

    sorry market too unforgiving, no longer robinhood

  • @kris10an64

    @kris10an64

    3 жыл бұрын

    @@leeren_ I would be dissapointed if you didn't put ads tbh 🙂

  • @superscatboy

    @superscatboy

    3 жыл бұрын

    True heroes don't invest in cryptos.

  • @8w73

    @8w73

    3 жыл бұрын

    @@superscatboy Based.

  • @MrOohBattman
    @MrOohBattman3 жыл бұрын

    You've found your calling, mate. Great pace, style, insight, delivery.. everything. Very, very watchable and retainable info.

  • @leeren_

    @leeren_

    3 жыл бұрын

    Thank you! Super motivating! I wanna do this full-time

  • @stefanmuck2048
    @stefanmuck20483 жыл бұрын

    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_

    3 жыл бұрын

    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

    3 жыл бұрын

    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.

  • @alextjn
    @alextjn3 жыл бұрын

    Absolute master class, very informative. High quality videos on this topic are rare. Looking forward to more videos from you.

  • @leeren_

    @leeren_

    3 жыл бұрын

    Thanks! It means a lot to me!

  • @dariomatonicki1703
    @dariomatonicki17033 жыл бұрын

    Programmers from 70's did not need color screens, LSD was plentifully and not frowned upon back then .. ;)

  • @leeren_

    @leeren_

    3 жыл бұрын

    Word! Although I have doubts whether you could program effectively tripping LOL

  • @stevehof
    @stevehof2 жыл бұрын

    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!

  • @KSG__
    @KSG__3 жыл бұрын

    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_

    3 жыл бұрын

    That's awesome. More will come!

  • @dikaiosunepaciencia8530
    @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.

  • @Argletrough
    @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.

  • @mrlithium69
    @mrlithium6911 ай бұрын

    I always come back to this. great teacher !

  • @derekfrost8991
    @derekfrost89912 жыл бұрын

    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.. :)

  • @elcontrastador
    @elcontrastador3 жыл бұрын

    Dude, this was very entertaining with great organization and flow. Subscribed AF!

  • @hansbala99
    @hansbala993 жыл бұрын

    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?

  • @cpakkala
    @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.

  • @Qewbicle
    @Qewbicle2 жыл бұрын

    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 -> kzread.info/dash/bejne/d2GOxNStn7bbqto.html Thougtbot talk -> kzread.info/dash/bejne/inVmucyDktDTn7A.html 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.

  • @Amapramaadhy
    @Amapramaadhy3 жыл бұрын

    Instant subscribe. Really thorough. Love the “from scratch” approach.

  • @leeren_

    @leeren_

    3 жыл бұрын

    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

  • @xjcai
    @xjcai3 жыл бұрын

    So much insights in the video. I discovered a whole new world of vim. Love the vim more! Keep it up.

  • @typesafety
    @typesafety3 жыл бұрын

    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_

    3 жыл бұрын

    Thank you! That's great to hear! Will keep up with it

  • @makunenbrawl7995
    @makunenbrawl7995 Жыл бұрын

    I'm always learning about vi since 2000. Thanks for all man you're awesome. Your tips & tricks wawww.....

  • @adrianochambel2876
    @adrianochambel28763 жыл бұрын

    Great job! This guy is the best I have been watching so far. Keep going man with your excellent approaching

  • @leeren_

    @leeren_

    3 жыл бұрын

    Thanks, stay tuned!

  • @mo5168

    @mo5168

    3 жыл бұрын

    i agree. although, check out Greg Hurrell's vim screencast. The dude is also a vim wizard.

  • @brunobelotticom
    @brunobelotticom3 жыл бұрын

    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_

    3 жыл бұрын

    Wow, that's a long time. Thanks so much! Glad the approach worked well for you. Stay tuned for more!

  • @brunobelotticom

    @brunobelotticom

    3 жыл бұрын

    @@leeren_ Yeah, I know right? I'm OLD! 😱 Can't wait to see more stuff from you 👍🏻👍🏻👍🏻

  • @timothystone
    @timothystone3 жыл бұрын

    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_

    3 жыл бұрын

    Thank you! I live by that lifecycle rule. And it's great to hear you enjoy this presentation style.

  • @javierlopez5877
    @javierlopez58773 жыл бұрын

    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_

    3 жыл бұрын

    Thank you, I will!

  • @BER-mb7bt
    @BER-mb7bt Жыл бұрын

    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.

  • @rohanghige
    @rohanghige3 жыл бұрын

    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_

    3 жыл бұрын

    Thank you! I hope it helped!

  • @mikedougherty3904
    @mikedougherty3904 Жыл бұрын

    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!

  • @suryaperiaswamy5085
    @suryaperiaswamy50853 жыл бұрын

    This video is gold! I learned a lot. Thanks so much, man !!

  • @leeren_

    @leeren_

    3 жыл бұрын

    Glad you learned a lot from it!

  • @johnlewis7736
    @johnlewis77363 жыл бұрын

    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_

    3 жыл бұрын

    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

  • @liamcooper3836
    @liamcooper38363 жыл бұрын

    Great talk, thanks for doing this. Love your passion for vim. Good luck on the youtube career!

  • @leeren_

    @leeren_

    3 жыл бұрын

    Thanks so much!

  • @xyzxyz6095
    @xyzxyz6095Ай бұрын

    Salutations from France and many thanks to the frankly speaking and efforts to make it easy to understand. Merci beaucoup.

  • @richardbagshaw929
    @richardbagshaw9293 жыл бұрын

    10:43 was brilliant for me, so so true about GO, the rest of the talk was awesome - thanks for sharing :)

  • @leeren_

    @leeren_

    3 жыл бұрын

    Right? Go is definitely my favorite language to use. For backend servers I'm convinced it's the superior option

  • @enisarik6002
    @enisarik60023 жыл бұрын

    Live example of using stow is super cool. Thanks Leeren!

  • @bdesd
    @bdesd2 жыл бұрын

    Love this video, and I love you’re teaching style bro you’re hilarious 😂

  • @martinmusli3044
    @martinmusli30443 жыл бұрын

    The best Tutorial Channel ever. Three videos, down to earth

  • @leeren_

    @leeren_

    3 жыл бұрын

    Thank you! Appreciate it!

  • @martinmusli3044

    @martinmusli3044

    3 жыл бұрын

    @@leeren_ Do you have any Idea when you will give your next talk/presentation?

  • @leeren_

    @leeren_

    3 жыл бұрын

    @@martinmusli3044 Within a week but it won't be on Vim!

  • @simonekalb
    @simonekalb3 жыл бұрын

    Amazing and really helpful practical talk.Really impressive skills. Keep up the good work.

  • @leeren_

    @leeren_

    3 жыл бұрын

    Thank you! I will!

  • @fabricepepin3569
    @fabricepepin35695 ай бұрын

    Very good information even for beginners. Thank you for your videos.

  • @avimehenwal
    @avimehenwal3 жыл бұрын

    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_

    3 жыл бұрын

    Thank you for the incredible acclamation! I hope you learned a lot and can incorporate these tips into your workflow!

  • @DiscoveryTec
    @DiscoveryTec3 жыл бұрын

    Loved this talk. Thank you for sharing it. :D

  • @leeren_

    @leeren_

    3 жыл бұрын

    Thank you for watching!

  • @HaruharaxX
    @HaruharaxX3 жыл бұрын

    Excellent delivery dude! Subscribed!

  • @leeren_

    @leeren_

    3 жыл бұрын

    Thank you!

  • @grim.reaper
    @grim.reaper3 жыл бұрын

    Thanks a bunch for the video. This clears a lot of things for me!!

  • @leeren_

    @leeren_

    3 жыл бұрын

    Glad to hear it!

  • @MartinsTalbergs
    @MartinsTalbergs3 жыл бұрын

    Highly appreciate that you are no bullshit guy. This type of content will rise heights!

  • @leeren_

    @leeren_

    3 жыл бұрын

    Thank you! No BS is my style for sure

  • @jonnykopp
    @jonnykopp3 жыл бұрын

    New to the channel. You knocked it out of the park. Thanks for sharing this stuff.

  • @leeren_

    @leeren_

    3 жыл бұрын

    Thanks so much!

  • @liuzq7
    @liuzq73 жыл бұрын

    Great stuff! Smooth teaching. You are born to be a teacher.

  • @leeren_

    @leeren_

    3 жыл бұрын

    Thank you, that means a lot!

  • @adampaulukanis
    @adampaulukanis3 жыл бұрын

    Nice mate. Thanks for this.

  • @leeren_

    @leeren_

    3 жыл бұрын

    Thank you for watching!

  • @romanjimenez1675
    @romanjimenez16752 жыл бұрын

    probably my favorite tutorial that I've ever seen. also made me realize I think I know vim but I really don't

  • @williambarrett7108
    @williambarrett71083 жыл бұрын

    Thank you for the time stamps!

  • @leeren_

    @leeren_

    3 жыл бұрын

    Of course!

  • @salmanabedin1313
    @salmanabedin13133 жыл бұрын

    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_

    3 жыл бұрын

    Haha I feel the same way learning from even more advanced users too! More content coming

  • @tiagodejesus456
    @tiagodejesus456 Жыл бұрын

    Great talk!

  • @rukavitsin
    @rukavitsin3 жыл бұрын

    Instant subscribe. Amazing tutorial

  • @leeren_

    @leeren_

    3 жыл бұрын

    Thank you!

  • @Awwe12675
    @Awwe126756 ай бұрын

    افضل فديو شاهدته عن فيم ، شكرا لك

  • @mcoussama9096
    @mcoussama90963 жыл бұрын

    Thank you so much for sharing this.

  • @leeren_

    @leeren_

    3 жыл бұрын

    Thank you for watching!

  • @forsh2966
    @forsh29663 жыл бұрын

    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_

    3 жыл бұрын

    thanks for subbing and watching!

  • @alanxoc3
    @alanxoc33 жыл бұрын

    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_

    3 жыл бұрын

    That's great to hear! I am 100% sure that's how most people start. You're on your way to greatness

  • @matka5130
    @matka51303 жыл бұрын

    You just made my day, excellent job !

  • @leeren_

    @leeren_

    3 жыл бұрын

    Very happy to hear! Thank you!

  • @ItsYourBoyMRAR

    @ItsYourBoyMRAR

    3 жыл бұрын

    Is More Useful Than VS Code?

  • @matka5130

    @matka5130

    3 жыл бұрын

    @@ItsYourBoyMRAR I would say that it's different approach. Can be much more effecient, but learning curve is much harder.

  • @ItsYourBoyMRAR

    @ItsYourBoyMRAR

    3 жыл бұрын

    @@matka5130oh ok

  • @GevorgVardanyan
    @GevorgVardanyan Жыл бұрын

    Hi. Thank you for this video. It is great.

  • @RonBelaire
    @RonBelaire3 жыл бұрын

    Love the 'from scratch' approach

  • @leeren_

    @leeren_

    3 жыл бұрын

    Thanks, glad it helped!

  • @RafaLeyvaRuiz
    @RafaLeyvaRuiz3 жыл бұрын

    this was simply amazing,

  • @leeren_

    @leeren_

    3 жыл бұрын

    Thank you very much!

  • @mikej9325
    @mikej93253 жыл бұрын

    So helpful. Thank you

  • @leeren_

    @leeren_

    3 жыл бұрын

    Glad it helped!

  • @chrisBruner
    @chrisBruner3 жыл бұрын

    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_

    3 жыл бұрын

    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.

  • @falkschonfeld2370
    @falkschonfeld23703 жыл бұрын

    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_

    3 жыл бұрын

    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?

  • @waseemahmed1446
    @waseemahmed14463 жыл бұрын

    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_

    3 жыл бұрын

    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

  • @hardyrafael17
    @hardyrafael172 жыл бұрын

    keep it up man!

  • @j4g094
    @j4g0943 жыл бұрын

    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_

    3 жыл бұрын

    Hope it helps! Great that you learned something new!

  • @xitin9940
    @xitin99403 жыл бұрын

    as a new vim user it's very helpful, thank you

  • @leeren_

    @leeren_

    3 жыл бұрын

    I'm glad it helped you!

  • @kevko5212
    @kevko52123 жыл бұрын

    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

    3 жыл бұрын

    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_

    3 жыл бұрын

    @@kevko5212 Yeah unfortunately this is where include-search can be fairly limited. You're spot on about that.

  • @levijohansen2603
    @levijohansen26033 жыл бұрын

    This was awesome

  • @leeren_

    @leeren_

    3 жыл бұрын

    Thanks!

  • @yujinyuz
    @yujinyuz3 жыл бұрын

    This guy inspired me to use Vim (his first talk on going mouseless with Vim and Tmux)

  • @leeren_

    @leeren_

    3 жыл бұрын

    Wow, it's my pleasure!

  • @szybszy2008
    @szybszy20083 жыл бұрын

    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!

  • @sainathsingineedi2922
    @sainathsingineedi29223 жыл бұрын

    Kalle sent me here and I am not disappointed. Nice stuff

  • @leeren_

    @leeren_

    3 жыл бұрын

    Thank you! I am very grateful Kalle shared this!

  • @fev4
    @fev43 жыл бұрын

    What a beast. Thanks. Of course I had to subscribe

  • @leeren_

    @leeren_

    3 жыл бұрын

    Thank you!

  • @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: kzread.infocommunity

  • @qawsfgtwgshsghsfdvf
    @qawsfgtwgshsghsfdvf3 жыл бұрын

    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_

    3 жыл бұрын

    Thank you for watching! Will do

  • @flipsi
    @flipsi3 жыл бұрын

    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.

  • @okeeycai7549
    @okeeycai75493 жыл бұрын

    wow, 1h 6m... deep dive into Vim! Awesome!

  • @leeren_

    @leeren_

    3 жыл бұрын

    Hope you enjoyed!

  • @manojuppala
    @manojuppala3 жыл бұрын

    I love using VScode. But after watching this video I've started using vim extension in VScode.😁 Still using vscode

  • @leeren_

    @leeren_

    3 жыл бұрын

    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.

  • @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?

  • @mainendra
    @mainendra3 жыл бұрын

    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_

    3 жыл бұрын

    Thanks a lot! Yeah, that's the same way I use to personalize my Vim!

  • @Gold_fi
    @Gold_fi3 жыл бұрын

    Pls do more KZread video, I think this channel can rival even the best Vim channels

  • @leeren_

    @leeren_

    3 жыл бұрын

    #1 baby

  • @mkhnuser
    @mkhnuser3 жыл бұрын

    Thanks! But what is difference between buffers, windows & tabs in vim?

  • @lichen420
    @lichen4203 жыл бұрын

    I created a csound file with vim yesterday and it automatically opened with a template with all the boiler plate code inserted. VIM is full of surprise features that you can often accidentally discover by mistyping in edit mode.

  • @leeren_

    @leeren_

    3 жыл бұрын

    Another reason why it's so great! So much to explore.

  • @pallandobaggins8172
    @pallandobaggins81723 жыл бұрын

    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_

    3 жыл бұрын

    Thanks! Hope you learn a lot!

  • @danielandreasen2293
    @danielandreasen22933 жыл бұрын

    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_

    3 жыл бұрын

    Oh yeah, I'll add that to the slides! And I'll try to update my git later this week.

  • @abdulbasetalhelaly9217
    @abdulbasetalhelaly92173 жыл бұрын

    Im using vim for php Xdebug works as expected, Everything about vim is awesome.

  • @leeren_

    @leeren_

    3 жыл бұрын

    Agreed!

  • @franciscmunteanu9096
    @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_

    @leeren_

    3 жыл бұрын

    Thanks for sharing this. Maybe it's a versioning issue.

  • @MasterSergius
    @MasterSergius Жыл бұрын

    How to find all function usages in big python project using Vim?

  • @Cih2001
    @Cih20013 жыл бұрын

    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_

    3 жыл бұрын

    No reason! Just trying to cover all of Vim's native features before moving towards that topic! LSPs are great

  • @KiraTheUnleashed
    @KiraTheUnleashed3 жыл бұрын

    I'm a Java developer and I write enterprise applications. Thank you for acknowledging that vim can't replace an IDE.

  • @fabioramatis2373

    @fabioramatis2373

    3 жыл бұрын

    emacs actually can, watch this kzread.info/dash/bejne/dJae2tByqbm0eps.html

  • @VictorRodriguez-zp2do

    @VictorRodriguez-zp2do

    3 жыл бұрын

    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

    3 жыл бұрын

    @@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_

    3 жыл бұрын

    @@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

    3 жыл бұрын

    @@leeren_ There's also termdebug, but that simply opens gdb in a vim terminal so it's more like a shortcut than anything.

  • @ajwilliams2310
    @ajwilliams23103 жыл бұрын

    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!

  • @derekfrost8991
    @derekfrost89912 жыл бұрын

    How did you make directories from within vim? I know how to do this with ! shell command. Thanks.. :)

  • @solvm1652
    @solvm16523 жыл бұрын

    much respect

  • @leeren_

    @leeren_

    3 жыл бұрын

    Thanks!

  • @BenKadel
    @BenKadel3 жыл бұрын

    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_

    3 жыл бұрын

    LOL - love that you found that funny too! Thank you for the wonderful words

  • @sheerun

    @sheerun

    3 жыл бұрын

    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!

  • @kartikxramesh
    @kartikxramesh3 жыл бұрын

    man your voice is incredibly soothing lmao

  • @leeren_

    @leeren_

    3 жыл бұрын

    Thank you!

  • @markooklop
    @markooklop3 жыл бұрын

    The swap files are the bane of evil 😂 Great pres, btw 👍

  • @leeren_

    @leeren_

    3 жыл бұрын

    Hate em - thank you!

  • @johnc3403
    @johnc34033 жыл бұрын

    Subbed and notified and thanks for a great 1 hour oversight on vim as an ide. Specifically, the Path explanation, that was super useful. I'll watch it again when I'm sober. As for BTC, we've just had a halving, hold tight, give it 18 months and you'll be fine... Bitcoin is a longterm investment..

  • @leeren_

    @leeren_

    3 жыл бұрын

    Thank you! Yes, Path is super useful, even if you're not sober. With you on it being a long-term investment! I'm not worried at all :)

  • @hellozdm3701
    @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_

    @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

  • @lucasmaia7553
    @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_

    @leeren_

    3 жыл бұрын

    KeyCastr! Thank you so much for the support! Viva la Brazil!

  • @ildefonsogiron4034
    @ildefonsogiron40343 жыл бұрын

    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_

    3 жыл бұрын

    Wow, thanks for sharing your setup. That's really cool!

  • @mrmusicalinstrument
    @mrmusicalinstrument3 жыл бұрын

    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_

    3 жыл бұрын

    Excellent tip. Thanks for writing out the alternative so we can all learn from you!

  • @kerron68
    @kerron683 жыл бұрын

    3 minutes in - "This guy is good! I'm going to enjoy this."

  • @leeren_

    @leeren_

    3 жыл бұрын

    Did you enjoy it? Thanks!