Vim: Vim as an IDE (VimConf 2020 Talk)

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 มิ.ย. 2024
  • 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
    @karamcbride 3 ปีที่แล้ว +302

    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 ปีที่แล้ว +29

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

    • @MartinsTalbergs
      @MartinsTalbergs 3 ปีที่แล้ว +20

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

    • @wyleong4326
      @wyleong4326 3 ปีที่แล้ว +15

      When you go on TH-cam 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
    @bryanmoh7677 3 ปีที่แล้ว +110

    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 ปีที่แล้ว +7

      :')

    • @leeren_
      @leeren_  3 ปีที่แล้ว +11

      sorry market too unforgiving, no longer robinhood

    • @kris10an64
      @kris10an64 3 ปีที่แล้ว +4

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

    • @superscatboy
      @superscatboy 3 ปีที่แล้ว +2

      True heroes don't invest in cryptos.

    • @8w73
      @8w73 3 ปีที่แล้ว +3

      @@superscatboy Based.

  • @MrOohBattman
    @MrOohBattman 3 ปีที่แล้ว +59

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

    • @leeren_
      @leeren_  3 ปีที่แล้ว +6

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

  • @stefanmuck2048
    @stefanmuck2048 3 ปีที่แล้ว +32

    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 ปีที่แล้ว +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 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.

  • @dariomatonicki1703
    @dariomatonicki1703 3 ปีที่แล้ว +40

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

    • @leeren_
      @leeren_  3 ปีที่แล้ว +2

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

  • @alextjn
    @alextjn 3 ปีที่แล้ว +50

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

    • @leeren_
      @leeren_  3 ปีที่แล้ว +2

      Thanks! It means a lot to me!

  • @timothystone
    @timothystone 3 ปีที่แล้ว +7

    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 ปีที่แล้ว +1

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

  • @Argletrough
    @Argletrough 3 ปีที่แล้ว +4

    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.

  • @cpakkala
    @cpakkala 2 ปีที่แล้ว +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.

  • @stevehof
    @stevehof 2 ปีที่แล้ว

    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!

  • @xyzxyz6095
    @xyzxyz6095 หลายเดือนก่อน

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

  • @Qewbicle
    @Qewbicle 2 ปีที่แล้ว

    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 -> th-cam.com/video/E-ZbrtoSuzw/w-d-xo.html
    Thougtbot talk -> th-cam.com/video/XA2WjJbmmoM/w-d-xo.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.

  • @dikaiosunepaciencia8530
    @dikaiosunepaciencia8530 3 ปีที่แล้ว +1

    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.

  • @Amapramaadhy
    @Amapramaadhy 3 ปีที่แล้ว +20

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

    • @leeren_
      @leeren_  3 ปีที่แล้ว +1

      Thanks! Glad you loved it!

    • @magnusanderson6681
      @magnusanderson6681 3 ปีที่แล้ว +1

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

  • @derekfrost8991
    @derekfrost8991 2 ปีที่แล้ว

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

  • @johnlewis7736
    @johnlewis7736 3 ปีที่แล้ว +20

    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

  • @KSG__
    @KSG__ 3 ปีที่แล้ว +2

    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 ปีที่แล้ว +1

      That's awesome. More will come!

  • @elcontrastador
    @elcontrastador 3 ปีที่แล้ว +1

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

  • @hansbala99
    @hansbala99 3 ปีที่แล้ว +4

    Really impressed with the high quality content. Really looking forward to hearing more of your talks

    • @leeren_
      @leeren_  3 ปีที่แล้ว +1

      Thanks, more will come soon, and a lot more will come next year. What do you think of my latest one on kiwifruit?

  • @mrlithium69
    @mrlithium69 11 หลายเดือนก่อน

    I always come back to this. great teacher !

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

  • @brunobelotticom
    @brunobelotticom 3 ปีที่แล้ว +3

    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 ปีที่แล้ว +1

      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 👍🏻👍🏻👍🏻

  • @makunenbrawl7995
    @makunenbrawl7995 ปีที่แล้ว

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

  • @typesafety
    @typesafety 3 ปีที่แล้ว +1

    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

  • @xjcai
    @xjcai 3 ปีที่แล้ว

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

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

  • @rohanghige
    @rohanghige 3 ปีที่แล้ว +2

    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!

  • @adrianochambel2876
    @adrianochambel2876 3 ปีที่แล้ว +1

    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.

  • @salmanabedin1313
    @salmanabedin1313 3 ปีที่แล้ว +1

    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 ปีที่แล้ว +1

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

  • @enisarik6002
    @enisarik6002 2 ปีที่แล้ว

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

  • @javierlopez5877
    @javierlopez5877 3 ปีที่แล้ว +1

    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!

  • @liamcooper3836
    @liamcooper3836 3 ปีที่แล้ว +1

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

    • @leeren_
      @leeren_  3 ปีที่แล้ว

      Thanks so much!

  • @alanxoc3
    @alanxoc3 3 ปีที่แล้ว +7

    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 ปีที่แล้ว +2

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

  • @MartinsTalbergs
    @MartinsTalbergs 3 ปีที่แล้ว +3

    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

  • @fabricepepin3569
    @fabricepepin3569 4 หลายเดือนก่อน

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

  • @Awwe12675
    @Awwe12675 5 หลายเดือนก่อน

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

  • @simonekalb
    @simonekalb 3 ปีที่แล้ว +1

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

    • @leeren_
      @leeren_  3 ปีที่แล้ว +1

      Thank you! I will!

  • @avimehenwal
    @avimehenwal 3 ปีที่แล้ว

    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!

  • @richardbagshaw929
    @richardbagshaw929 3 ปีที่แล้ว +1

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

    • @leeren_
      @leeren_  3 ปีที่แล้ว +1

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

  • @martinmusli3044
    @martinmusli3044 3 ปีที่แล้ว +1

    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!

  • @suryaperiaswamy5085
    @suryaperiaswamy5085 3 ปีที่แล้ว +1

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

    • @leeren_
      @leeren_  3 ปีที่แล้ว +1

      Glad you learned a lot from it!

  • @bdesd
    @bdesd 2 ปีที่แล้ว

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

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

  • @HaruharaxX
    @HaruharaxX 3 ปีที่แล้ว +1

    Excellent delivery dude! Subscribed!

    • @leeren_
      @leeren_  3 ปีที่แล้ว

      Thank you!

  • @liuzq7
    @liuzq7 3 ปีที่แล้ว

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

    • @leeren_
      @leeren_  3 ปีที่แล้ว

      Thank you, that means a lot!

  • @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: th-cam.com/users/LeerenTalkscommunity

  • @jonnykopp
    @jonnykopp 3 ปีที่แล้ว +1

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

    • @leeren_
      @leeren_  3 ปีที่แล้ว +1

      Thanks so much!

  • @grim.reaper
    @grim.reaper 3 ปีที่แล้ว +1

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

    • @leeren_
      @leeren_  3 ปีที่แล้ว

      Glad to hear it!

  • @RonBelaire
    @RonBelaire 3 ปีที่แล้ว +2

    Love the 'from scratch' approach

    • @leeren_
      @leeren_  3 ปีที่แล้ว

      Thanks, glad it helped!

  • @chrisBruner
    @chrisBruner 3 ปีที่แล้ว +11

    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.

  • @mcoussama9096
    @mcoussama9096 3 ปีที่แล้ว

    Thank you so much for sharing this.

    • @leeren_
      @leeren_  3 ปีที่แล้ว

      Thank you for watching!

  • @tiagodejesus456
    @tiagodejesus456 ปีที่แล้ว

    Great talk!

  • @DiscoveryTec
    @DiscoveryTec 3 ปีที่แล้ว +1

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

    • @leeren_
      @leeren_  3 ปีที่แล้ว

      Thank you for watching!

  • @forsh2966
    @forsh2966 3 ปีที่แล้ว +1

    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!

  • @falkschonfeld2370
    @falkschonfeld2370 3 ปีที่แล้ว +2

    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 ปีที่แล้ว +1

      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
    @waseemahmed1446 3 ปีที่แล้ว +2

    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

  • @rukavitsin
    @rukavitsin 3 ปีที่แล้ว +1

    Instant subscribe. Amazing tutorial

    • @leeren_
      @leeren_  3 ปีที่แล้ว

      Thank you!

  • @adampaulukanis
    @adampaulukanis 3 ปีที่แล้ว +1

    Nice mate. Thanks for this.

    • @leeren_
      @leeren_  3 ปีที่แล้ว +1

      Thank you for watching!

  • @williambarrett7108
    @williambarrett7108 3 ปีที่แล้ว +2

    Thank you for the time stamps!

    • @leeren_
      @leeren_  3 ปีที่แล้ว +1

      Of course!

  • @matka5130
    @matka5130 3 ปีที่แล้ว

    You just made my day, excellent job !

    • @leeren_
      @leeren_  3 ปีที่แล้ว +1

      Very happy to hear! Thank you!

    • @ItsYourBoyMRAR
      @ItsYourBoyMRAR 3 ปีที่แล้ว

      Is More Useful Than VS Code?

    • @matka5130
      @matka5130 3 ปีที่แล้ว +1

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

  • @manojuppala
    @manojuppala 3 ปีที่แล้ว +16

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

    • @leeren_
      @leeren_  3 ปีที่แล้ว +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.

  • @xitin9940
    @xitin9940 3 ปีที่แล้ว +1

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

    • @leeren_
      @leeren_  3 ปีที่แล้ว

      I'm glad it helped you!

  • @qawsfgtwgshsghsfdvf
    @qawsfgtwgshsghsfdvf 3 ปีที่แล้ว

    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

  • @mikej9325
    @mikej9325 3 ปีที่แล้ว +1

    So helpful. Thank you

    • @leeren_
      @leeren_  3 ปีที่แล้ว

      Glad it helped!

  • @sainathsingineedi2922
    @sainathsingineedi2922 3 ปีที่แล้ว +1

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

    • @leeren_
      @leeren_  3 ปีที่แล้ว +1

      Thank you! I am very grateful Kalle shared this!

  • @kevko5212
    @kevko5212 3 ปีที่แล้ว +1

    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 ปีที่แล้ว +1

      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.

  • @szybszy2008
    @szybszy2008 3 ปีที่แล้ว +1

    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!

  • @RafaLeyvaRuiz
    @RafaLeyvaRuiz 3 ปีที่แล้ว +1

    this was simply amazing,

    • @leeren_
      @leeren_  3 ปีที่แล้ว

      Thank you very much!

  • @flipsi
    @flipsi 3 ปีที่แล้ว +2

    Great talk! Especially loved the include-search part, because a lot of vim users will be unfamiliar with it, I guess.

    • @leeren_
      @leeren_  3 ปีที่แล้ว +1

      Thank you! Yes, it's the most under-appreciated feature in all of Vim in my opinion.

  • @hardyrafael17
    @hardyrafael17 2 ปีที่แล้ว

    keep it up man!

  • @yujinyuz
    @yujinyuz 3 ปีที่แล้ว +2

    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!

  • @j4g094
    @j4g094 3 ปีที่แล้ว +1

    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!

  • @okeeycai7549
    @okeeycai7549 3 ปีที่แล้ว +1

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

    • @leeren_
      @leeren_  3 ปีที่แล้ว

      Hope you enjoyed!

  • @fev4
    @fev4 3 ปีที่แล้ว +1

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

    • @leeren_
      @leeren_  3 ปีที่แล้ว

      Thank you!

  • @ajwilliams2310
    @ajwilliams2310 3 ปีที่แล้ว +1

    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 ปีที่แล้ว +1

      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!

  • @pallandobaggins8172
    @pallandobaggins8172 3 ปีที่แล้ว +1

    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!

  • @franciscmunteanu9096
    @franciscmunteanu9096 3 ปีที่แล้ว +1

    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.

  • @mainendra
    @mainendra 3 ปีที่แล้ว +1

    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!

  • @danielandreasen2293
    @danielandreasen2293 3 ปีที่แล้ว +5

    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 ปีที่แล้ว +4

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

  • @Gold_fi
    @Gold_fi 3 ปีที่แล้ว +3

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

    • @leeren_
      @leeren_  3 ปีที่แล้ว

      #1 baby

  • @kedarshinde4216
    @kedarshinde4216 3 ปีที่แล้ว +8

    VIM has impacted my life more than religion, All hail the cult of vim

    • @leeren_
      @leeren_  3 ปีที่แล้ว +1

      Go Vim!

  • @levijohansen2603
    @levijohansen2603 3 ปีที่แล้ว +1

    This was awesome

    • @leeren_
      @leeren_  3 ปีที่แล้ว

      Thanks!

  • @lichen420
    @lichen420 3 ปีที่แล้ว +1

    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.

  • @kartikxramesh
    @kartikxramesh 3 ปีที่แล้ว +1

    man your voice is incredibly soothing lmao

    • @leeren_
      @leeren_  3 ปีที่แล้ว

      Thank you!

  • @Cih2001
    @Cih2001 3 ปีที่แล้ว +1

    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 ปีที่แล้ว +1

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

  • @abdulbasetalhelaly9217
    @abdulbasetalhelaly9217 3 ปีที่แล้ว +1

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

    • @leeren_
      @leeren_  3 ปีที่แล้ว

      Agreed!

  • @johnc3403
    @johnc3403 3 ปีที่แล้ว +1

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

  • @kerron68
    @kerron68 3 ปีที่แล้ว +3

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

    • @leeren_
      @leeren_  3 ปีที่แล้ว

      Did you enjoy it? Thanks!

  • @lucasmaia7553
    @lucasmaia7553 3 ปีที่แล้ว +1

    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 ปีที่แล้ว +1

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

  • @digitaljestin
    @digitaljestin 3 ปีที่แล้ว +2

    /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_  3 ปีที่แล้ว +1

      Ah, I made a mistake then, thank you for pointing that out

  • @KiraTheUnleashed
    @KiraTheUnleashed 3 ปีที่แล้ว +1

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

    • @fabioramatis2373
      @fabioramatis2373 3 ปีที่แล้ว +1

      emacs actually can, watch this th-cam.com/video/Bbjxn9yVNJ8/w-d-xo.html

    • @VictorRodriguez-zp2do
      @VictorRodriguez-zp2do 3 ปีที่แล้ว +2

      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 ปีที่แล้ว +1

      @@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 ปีที่แล้ว +1

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

  • @mrmusicalinstrument
    @mrmusicalinstrument 3 ปีที่แล้ว +2

    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!

  • @markooklop
    @markooklop 3 ปีที่แล้ว +1

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

    • @leeren_
      @leeren_  3 ปีที่แล้ว

      Hate em - thank you!

  • @BenKadel
    @BenKadel 3 ปีที่แล้ว +18

    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 ปีที่แล้ว +1

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

    • @sheerun
      @sheerun 3 ปีที่แล้ว +1

      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!

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

  • @liminal6823
    @liminal6823 2 ปีที่แล้ว

    Take a look at using vim methodology (ie. modal editing, command language, etc.) in something like VSCode which has a ton of IDE functionality you can wire up to.

  • @jonnykopp
    @jonnykopp 3 ปีที่แล้ว +1

    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?

  • @mkhnuser
    @mkhnuser 3 ปีที่แล้ว

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

  • @Spikey8d
    @Spikey8d 3 ปีที่แล้ว +1

    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_  3 ปีที่แล้ว

      Thank you! What DID you expect?

    • @Spikey8d
      @Spikey8d 3 ปีที่แล้ว +1

      Leeren I have been seeing a lot of TH-cam 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_  3 ปีที่แล้ว

      @@Spikey8d Cool! How do those compare? I actually don't watch other Vim YT vids

    • @Spikey8d
      @Spikey8d 3 ปีที่แล้ว

      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