Why I use Vim in 2022

Поделиться
HTML-код
  • Опубликовано: 26 май 2022
  • Surprisingly asked quite a bit, why would I ever use vim in 2022 when there is so many options written in the 21st century, like vscode, intellij, sublime, ...
    Editor
    All my videos are edited by Flip. Give him a follow! / 88thpl He is also open to do more editing, so slide deeeeeeeeep into his dms.
    Links
    Linode: linode.com/prime
    / discord
    Twitch: / theprimeagen
    Insta: / theprimeagen
    Twitter: / theprimeagen
    VimRC & i3: github.com/ThePrimeagen/.dotf...
    Keyboard (15% off, I don't earn commission): bit.ly/primeagen-adv2
    #vim #programming #softwareengineering
  • НаукаНаука

Комментарии • 1 тыс.

  • @calapranzee
    @calapranzee 2 года назад +1882

    I use vim just to confuse my collaborators. I love it.

    • @ThePrimeagen
      @ThePrimeagen  2 года назад +242

      this seems interesting, i can get behind it

    • @nacimhoc
      @nacimhoc 2 года назад +60

      One of the greatest features of vim :)

    • @arsnakehert
      @arsnakehert 2 года назад +55

      Love it when people get mad like “why would you comment every line with // instead of surrounding the whole block with /**/“ lol

    • @aquepaique
      @aquepaique 2 года назад +16

      @@arsnakehert visual mode > select the block > gc

    • @ivanpartida7467
      @ivanpartida7467 2 года назад +5

      @@aquepaique gcip is much faster

  • @zahimeen
    @zahimeen 2 года назад +825

    You are the man who brought me to Vim and changed my perspective on programming. Thank you for your amazing content!

    • @ThePrimeagen
      @ThePrimeagen  2 года назад +76

      yayaya! Thank you :) I appreciate the nice comment my man

    • @smjonas8616
      @smjonas8616 2 года назад +7

      Same! I couldn't imagine using any other editor now

    • @Heffsta02
      @Heffsta02 2 года назад +1

      yeah same....i was already learning a little bit, but the primagen tutorials just kept me going, and now im almost a year into being a vimmer.

    • @bytes-ls5812
      @bytes-ls5812 2 года назад +5

      += 1

    • @vaisakhkm783
      @vaisakhkm783 2 года назад +2

      The man how showing me how to configure vim...
      🤕 i was using it without a vimrc before that

  • @JesseUnderscoreMartin
    @JesseUnderscoreMartin 2 года назад +317

    I was so burned out at my last job. Starting to get apathetic.
    Then I saw one of your videos, watched the dev hour with Theo, and have watched a lot of your skits since then. Now I'm reinvigorated and excited about programming again.
    Thanks for the content!

    • @wadecodez
      @wadecodez Год назад +25

      His energy is refreshing. Too many devs go for dark/dead-pan humor.

    • @tanker7757
      @tanker7757 4 месяца назад

      @@wadecodeznot flavourful the programming went to there heads not enough sunlight and there humour is now just consisting of precise code

  • @AmirHosseinHonardust
    @AmirHosseinHonardust 2 года назад +430

    You put it so well. I always think people are missing the point about the efficiency and shortcuts in vim. It's not about the productivity. It's about relying as much as much on muscle memory instead of user attention in order to preserve the flow of thought. When you are going through the GUI editors, it constantly disrupts your flow of thought. But in vim everything is muscle memory.

    • @ThePrimeagen
      @ThePrimeagen  2 года назад +90

      CORRECT

    • @theodorealenas3171
      @theodorealenas3171 2 года назад +20

      I was looking for a way to explain exactly that to the others.
      I make huge widgets that appear with a key binding for a split second and show the battery for example, and people ask why is it so big it's as tall as the monitor, and I tell them well now I don't have to move my eyes I can use peripheral vision. And they make fun of it like I need to reach to my eyes first to move them slowly.
      But the point is what you said

    • @chillydoog
      @chillydoog 2 года назад +1

      🤏🤯 🤌 Im freaking out. I need to sitdown and drink some icetea.

    • @AmirHosseinHonardust
      @AmirHosseinHonardust 2 года назад

      @@theodorealenas3171 definitely know what you mean.

    • @MarcelRiegler
      @MarcelRiegler 2 года назад +3

      Vims composable language also let's you communicate at a higher level, meaning you can do more with less thinking or typing. Instead of, for example, moving 3 characters right, then deleting 5 characters, in Vim you might just go "diw". It's mentally soo much easier to talk with an editor that actually understands you.

  • @hisamafahri
    @hisamafahri 2 года назад +178

    The fact that your coworkers are the one introduced you to VIM is amazing. It proves you have really great work environments. 👍

  • @jimigrunge
    @jimigrunge 2 года назад +152

    I started vim when I got a job that required us to develop in a managed VM with no mapped drive. All editing had to be done IN the VM. The lag from typing to seeing the code change was driving me crazy. Then I saw someone SSH into their VM and use VIM and was blown away with how fast they were coding. I never turned back

    • @ThePrimeagen
      @ThePrimeagen  2 года назад +19

      good reason my friend

    • @jainicz
      @jainicz 2 года назад +7

      Or ssh into VM using vscode?

    • @jimigrunge
      @jimigrunge 2 года назад +5

      @@jainicz There was still a lot of lag compared to command line SSH into the VM from the bash terminal and run Nvim natively on the VM

    • @maelstrom254
      @maelstrom254 2 года назад +11

      @@jimigrunge vs code has zero latency compared to vim, because it has cache of content of the files. I have remote server, and vim editing is pain compared to vs code

    • @robbietorkelsonn8509
      @robbietorkelsonn8509 Год назад +9

      @@maelstrom254 I usually get large, several 100MB log files and nothing opens it, except vim
      it's also very quick to search things, just hit / and you found your thing before you could open a menu item

  • @victorcostelini6795
    @victorcostelini6795 2 года назад +99

    I had serious tendinitis, I was even considering switching careers because of it, and then I met Vim. I learned it thanks to your Vim As Your Editor series, and I literally can't go back to "normal" editing anymore.

    • @ThePrimeagen
      @ThePrimeagen  2 года назад +23

      that is real, and I have heard many people express something very similar.

    • @quintondeanmusic
      @quintondeanmusic 2 года назад +8

      Yep, I developed pain in my left forearm from stretching for ctrl, shift, cmd. As the guitar player, I had to postpone our band practice for almost 3 weeks. The two things that I researched and implemented were switching to vim motions in idea (now in neovim) and getting a split ergo keyboard using the Miryoku layout. No more pain and way faster.

    • @kofm
      @kofm 2 года назад +1

      Same here. Had excruciating pain both in my forearm, wrist and pinky finger before switching to vim & split keyboard. Thanks Prime for your videos

    • @theodorealenas3171
      @theodorealenas3171 2 года назад

      I'd agree but Ctrl d and Ctrl u are much worse than Ctrl Z. Because you don't move your wrists apart and keep them there for some time.
      I remapped some Ctrl combinations to use space but it's not great. I hope to find something.

    • @quintondeanmusic
      @quintondeanmusic 2 года назад +1

      @@theodorealenas3171 that’s the beauty of vim. You can remap it to whatever you want. Also, Miryoku puts things like shift, ctrl, alt, windows under the home row fingers so no more reaching with the pinky.

  • @user-ip9gn7ee6d
    @user-ip9gn7ee6d 2 года назад +59

    I know vim because my school teacher use it. And he told that we should learn vim. Then I found your vim series video. Thank you for bringing me to the vim world!!

  • @matiasbpg
    @matiasbpg 2 года назад +7

    My brother introduced me to vim name years ago, but i thought that was only for config files. It was only a little more than a year ago that I saw you coding in vim and saw all the possibilities. I now use vim as my only editor and can't be more happy about it

  • @talktothehand1212
    @talktothehand1212 2 года назад +24

    I'm gonna argue that vim also leveled up my "thinking" time when it came to programming. So much of that "thinking" time I find for me is really just reading other code. Fzf+ripgrep+go-to-definintion with an LSP let me read through code soooo much faster than I ever could before.

  • @demolazer
    @demolazer Год назад +6

    I've been introduced to emacs while learning lisp. There's something glorious about getting in the zone using all the keyboard shortcuts to switch buffers, run code, edit, etc. Reminds me of playing RTS games. I'm gradually leaning towards doing c and python in it too. I also have a plan to bind my entire numpad to open parenthesis so I can just smash my hand on the general area.

  • @iamacar1017
    @iamacar1017 2 года назад

    Thanks a lot for the video, I think it explains it very nicely :) you are also the reason i learned & started using vim (your tutorial series was a big help)

  • @earthling_parth
    @earthling_parth 2 года назад +22

    I remember seeing your first video on your vim workflow and I was blown away by it. I used vim in a basic capacity as I started my career as a Linux systems administrator, but I never thought the dev workflow you have was even possible. Thank you Prime for nudging me towards neovim. I'm still learning my dev flow with it now, and boy do I feel _blazingly fast_ 😁

  • @zacanger
    @zacanger Год назад +6

    I took a similar path to vim: Lighttable -> Atom w/ vim plugin -> neovim with someone's config off GH that made it friendly for a newbie -> straight vim (when v8 dropped). I haven't felt the need to check out nvim again since I switched to plain vim, but it's cool to see all the work they're doing. Tom Ryder's excellent blog posts on Unix as an IDE (including Vim) were a great resource along the way. And I also wound up moving from FED to DevOps, so being able to use busybox's vi without a learning curve was really nice.

  • @marloelefant7500
    @marloelefant7500 Год назад +55

    In the first programming lecture, the teacher opened vim in a command-line window on Linux and started typing. Shortly after, I was blown away by how efficiently it was. I immediately threw Windows into the rubbish, installed Linux and vim and am using them since then happily (and of course, exiting vim the first time is always a bit troublesome).

    • @marcosdiogenes9380
      @marcosdiogenes9380 Год назад +14

      And then... everyone clapped! #trueStory

    • @marloelefant7500
      @marloelefant7500 Год назад +7

      @@marcosdiogenes9380 In fact, everyone was a bit confused to what this was. That year, the lecturer tried something different, a more hands-on approach to teaching programming and many people who haven't had experience in programming already were completely lost when he started to talk about classes and methods in the first lecture. He had no slides at all, all he showed was the code that he typed in while he was explaining it.

    • @marcosdiogenes9380
      @marcosdiogenes9380 Год назад +2

      @@marloelefant7500 sounds like one of my professors. Most people just hate him for this, but I actually like his approach. He doesn't use VIM in class tho, he just likes to bring challenges he hasnt yet solved on his own and figure out together with the students. And then there's the Linux problem. Most people in my country are scared of terminals, even some CS professors.

    • @opulenceluxury8548
      @opulenceluxury8548 Год назад

      ...the year was 1995.

    • @marloelefant7500
      @marloelefant7500 Год назад

      @@opulenceluxury8548 No, it was 10 years ago.

  • @JesseSchoch
    @JesseSchoch Год назад +5

    One old fashion reason to learn vi/vim was that back in the day if your machine crashed and/or was in single user mode the root partition generally wasn't big enough for emacs or other editors and you didn't have many choices unless you knew how to use ed or sed to edit files (also handy to know when using tee to connect to a headless server to get root access via serial)

  • @bhargavpandya8850
    @bhargavpandya8850 2 года назад +7

    You're 100% the reason why I use VIM motions today and I've gotten really good with them.
    However, as you said, I know how powerful using the VIM editor can be, yet I'm quite intimidated by the experience.
    I know you have a playlist called "Vim As Your Editor" (which is damn good btw!) but for the most part (1-4) you only cover the VIM motions.
    Could you help us by creating another playlist for working with the editor VIM? Kinda like a structured progression to get us gradually acquainted with VIM...

    • @ThePrimeagen
      @ThePrimeagen  2 года назад +4

      yeah, i do want to re-think that series at some point.

  • @supersmasher1495
    @supersmasher1495 2 года назад +8

    You introduced me to vim and I am loving it so much It’s just flowing from thought into code thank you 🙏

    • @ThePrimeagen
      @ThePrimeagen  2 года назад +3

      You are welcome. Also, thank you for the nice note. It does make me feel all warm and fuzzy

  • @videodude5337
    @videodude5337 Год назад +2

    I've heard about vim before, but you're the person that actually made me learn it. Thank you:)

  • @DamianS78
    @DamianS78 Год назад

    I started using vim after a little intro course I had at uni peeked my interest on it and you really got me to love it and learn to reeally love coding, thanks man!

  • @dansal2002
    @dansal2002 2 года назад +5

    Best energy of any tech tuber, would love to see some more coding videos! Hope this can replace the Netflix gig one day keep it up

  • @benjaminsanglitan7927
    @benjaminsanglitan7927 2 года назад +5

    I learned Vim because my old pc sucked so much especially when using electron-based editors with large codebases. Still sticked with Vim even with better hardware to code with. There's just something with Vim that makes me feel at home compared with other IDE"s and editors.
    Thanks for your videos about Vim, I was able to quickly scaffold my personal configs that really suits my workflow.

  • @narcuenca
    @narcuenca Год назад +2

    After forcing myself to use nvim for the past week and struggling a lot I finally appreciate how easy it is to fly around without leaving the keyboard. Memorizing all the keystrokes takes a while but sure is worth it in the end. I'm still having difficulties with treesitter syntax highlighting with god damned lit-html, can't get my head wrapped around how to set it up properly.

  •  Год назад +1

    I came to vim the exact same way. Five years ago, I asked a co-worker to show me how he did something I was only moderately interested in. He was excited to show me the thing that I asked about and I was definitely interested, but that quickly took a back seat to his blazing-fast navigation of code and configuration files. I never actually got into the thing that I asked him about, but watching him navigate text files at a speed I could not _fathom_ doing with a mouse and a few motion keystrokes and other keyboard shortcuts. After a little while I even said out loud, how are you moving like this, what is this sorcery? And he pivoted to showing me all about vim and that was it for me. I was committed to giving it an honest try and it didn’t take long before I realized I was way faster with vim that I could possibly be with Sublime or Atom (both of which I had been using for a while).

  • @emmetallen5685
    @emmetallen5685 2 года назад +6

    Honestly, I started using VSCode Vim Plugin around a month ago after being a long time prime-lurker.
    Now I realized to better foster my Vim/Developer learning, I need to switch to a Linux Distro as a primary driver. I feel it is the next logical step for any serious Developer, because Windows (and some degree Mac ) just don't give that extra 'umph' when it comes to developing.
    Anyway, thanks Prime. You are one of the youtubers I idolize along with Luke Smith, Mental Outlaw, and Dave's Garage, and I really owe it to you for making programming (especially advanced programming) seem fun and extremely welcoming 🙂.

    • @ThePrimeagen
      @ThePrimeagen  2 года назад +1

      oh snap! thank you :)
      Those are pretty big people to be aligned with, thank you for the compliments my man :)

    • @ryanolson7
      @ryanolson7 2 года назад +1

      You don’t need to switch to have a good Vim experience. Windows has WSL - which allows you to run a Linux distro and use it within Windows.
      Mac is SO comparable with Linux. You can have a great terminal Vim experience there.
      Linux is amazing with Vim but otherwise, it’s a similar experience in all the OSs if you do it right.

  • @MrSkinbad
    @MrSkinbad 2 года назад +64

    You're missing two reasons imo:
    1. The motions are portable, have been and probably will be around for ever, you can use a lot of them in like all IDEs
    2. It's fun - this is my main reason. I like it for the same reason I like programming. So I now enjoy the actual process of writing

    • @ThePrimeagen
      @ThePrimeagen  2 года назад +14

      this is very true, I elude to that as why learn vim motions vs leaning vim.
      but 100% vim motions, once learned, can be used in all major editors.
      2. it really is fun.

    • @hecticphusion
      @hecticphusion 2 года назад +1

      Yeah, this is the biggest thing. Ideally, you shouldn't be managing state/config on the servers themselves but when you do need to hop on a box and try something out, you know that vi/vim will be there. This is coming from my SRE perspective so it's going to be different for traditional software engineers but I believe that at least knowing the basic motions will help make you a lot more comfortable in general.

    • @Muaahaa
      @Muaahaa 2 года назад +1

      @@hecticphusion I like to practice vi for this reason. But since those servers only have vanilla vi without any customizations/preferences I practice vi on my local machine that way as well, so don't have to skip that much of a beat when I'm in a remote workspace.

    • @ivanpartida7467
      @ivanpartida7467 2 года назад +2

      And it's not limited to text editors/IDEs, a lot of tools (mainly CLI ones) like less have vimkeys for navigation

    • @samuelwaller4924
      @samuelwaller4924 2 года назад

      @@ThePrimeagen what do you mean by that? Do you just mean the hjkl motions? Vim plugins?

  • @RicardoRebelo99
    @RicardoRebelo99 2 года назад

    Thank you for you content. I really enjoy it.
    I'd like to point out another reason I haven't seen commented yet (though admittedly I haven't read them all).
    I'm mostly a sysadmin, so even though most of my day is around code, I am on a shell 99% of my time, and when you're ssh'ing or even accesing a virtual console of a system that didn't boot and you need to repair that grub or go to dracut, you end up having to modify files with whatever you have available there.
    So being comfortable with one tool that you can use everywhere, and which is natively available all the time, is a really really helpful skill.
    All my colleagues struggle with using vim when they have to inevitably resort to it, and I just chose to embrace it.

  • @scottiedoesno
    @scottiedoesno 2 года назад +4

    2 years in and I am rocking out with neovim, real programmer's dvorak, and a dactyl. You have defined a massive amount of my productivity flow that I simply could not live without.

    • @ThePrimeagen
      @ThePrimeagen  2 года назад

      D A N G!

    • @dyno4022
      @dyno4022 Год назад +1

      I do neovim and colemak, but I was wondering if you remap your keys on vim for your dvorak keyboard? I do that for my layout but I'm just thinking if I ever need to go on a computer without my vimrc file then I'm screwed.

    • @scottiedoesno
      @scottiedoesno Год назад +1

      @@dyno4022 I don’t do remaps for that. It was a learning process, but I just use the default Dvorak bindings for vim.

  • @daddygromlegs1044
    @daddygromlegs1044 2 года назад +5

    I’m focusing all my time and effort on actually learning how to code, but man you’ve got me so hyped to jump into VIM from watching your streams and how efficient you are. You’re right, it literally is a superpower haha.
    Can’t wait to join the cool kids club

  • @Pjiwm
    @Pjiwm 2 года назад +3

    Subscribed a while back and you got me to finally try it. So far your 6 part tutorial series has been really helping out a lot!

    • @ThePrimeagen
      @ThePrimeagen  2 года назад +1

      awesome. I do want to remake them one day

  • @dan_rad
    @dan_rad 7 месяцев назад

    Been binging your videos for a week or so now... I really did think I was subscribed. That outro got me.

  • @atyt22
    @atyt22 Год назад +1

    I started with Sublime, then moved to VSCode and I keep trying to convince myself to like VSCode. Soo next step is learn VIM lol, never thought I’d say it. I’m still relatively new to programming, glad I found your channel, super down to earth dude

  • @EveryOtherDayTV
    @EveryOtherDayTV 2 года назад +7

    Code completion, powerful intellisense and having the IDE shout at me sometimes are some of the things that I cannot leave IntelliJ behind and go to VIM.
    Specially smart code analysis. I have a feel that whenever I switch to VIM I lose all of this and it’s like running with 1 leg only.
    Thoughts?

    • @asesidaa3679
      @asesidaa3679 2 года назад

      Technically most features can be added through plugins or configurations.
      But if you just want to use the features out of the box, then IDEs are probably a better choice. However, they should all support VIM motions (key bindings), which really helps speed up code editing.

    • @mentoslat6140
      @mentoslat6140 2 года назад +4

      One thing people should realize is that most IDEs are still code editors with plug-ins out the box. The difference between vscode and vim for example is that vscode comes pre-configured. For code completion and intellisense vscode uses lsp, which can be used with any editor including vim, you just need to set it up yourself

  • @parthapal333
    @parthapal333 2 года назад +3

    My story is also same. One day I found one guy in our team who was using emacs for everything. I immediately started using emacs and that opened a new world of terminal editors to me. Used emacs for 2 months and finally started using vim. I have to use IDEs time to time but always go back to vim.

  • @CUBKITS
    @CUBKITS Год назад +1

    I've been using Vim keybindings for almost a year now, and I'm still really on the fence about it, but I'm gradually climbing over. For me, the movement and navigation is so natural, so I've started using the Vim extension for vscode (which I do like). The part that I find difficult about going straight Vim or Neovim is that sometimes I do like scrolling, using the mouse, etc. With Vim, you're jumping around a lot, which is fast, but I find that sometimes I'm moving faster than my brain can keep up with, so I lose the context I need, which is often retained with scrolling as I can visually track where I am moving. Often I'm spending more time thinking about what keys to hit to most efficiently get somewhere, when I could have just reached to the mouse and clicked, or else I'm slamming the same key to navigate into a word because I didn't correctly calculate how many letters to "f" or "t" to. Also, the search or search/replace functionality often takes much longer since it's all regex (but maybe I can change this?).
    Either way, I tried setting up a full neovim editor with nerdtree, terminals, windows, buffers, all that stuff, and I just really couldn't make sense of it. To me, that is the biggest hurdle in switching -- window/environment/workspace management. I'll get there eventually, I'm sure, because I love Vim, but dang it's hard to get over this one, where using something like VSCode with vim keybindings handles all the windows for me, and if I ever get stuck, I can always reach for the mouse instead of my phone to look up how tf to switch to my last opened buffer or close the window I'm in.
    Edit: I've been using Neovim at my job for the last month or so, and it hasn't been easy, but I think I'm getting to a point where I'm now comfortable and able to work well. However, there are times the LSP doesn't have a definition or something, so I'll be like "oh does VSCode do this properly"? But it turns out it doesn't even have it. Still makes me second guess and check in VSCode. Might just be Ruby being Ruby.

    • @danielr8474
      @danielr8474 Год назад +1

      Might be a bit late, but I'd try looking into pre-configured neovim conifs such as NVChad, they basically turn Neovim into an ide but with vim

  • @LeScribeSov
    @LeScribeSov 2 года назад

    Thanks to you, one year ago I started to use my terminal as my code environment. I couldn't use anything else than vim now. I feel complete.

  • @thirtysixnanoseconds1086
    @thirtysixnanoseconds1086 2 года назад +6

    I love vim. I love system tools. I still use vscode w/ vim emulation because I like minimal config when working on projects because I don't have to do much to get fancy features

    • @Chalisque
      @Chalisque 2 года назад

      I like vim mode in vscode, but tend to have it disabled by default, with ctrl+alt+v to toggle it for those times when vim permits things to be expressed efficiently. (I just don't find vim keystrokes as intuitive in vscode as when using vim in a terminal for some reason.)

  • @calder-ty
    @calder-ty 2 года назад +25

    Used VsCode vim for over five years before making the switch to just using Vim. Navigation between files was always the hardest part of my switch and your videos helped with that.
    The argument that Vim is somehow old and so worse is strange. The biggest thing to happen to Text editors recently IMO is Language Servers, and now neovim supports it natively.

    • @ThePrimeagen
      @ThePrimeagen  2 года назад +6

      yeah, the neovim lsp is incredible

    • @hm_webdev
      @hm_webdev 2 года назад +1

      That's the switch I want to make but find really difficult. File navigation, git lense, font ligatures and the debugger, to name a few, are the goodies I need. If I can achieve this in (neo)vim, I'll make the switch!

    • @AssemblyWizard
      @AssemblyWizard 2 года назад +1

      And who innovated Language Servers? VSCode. Old software means that it isn't built with the mindset of recent innovations, which does describe Vim. If there weren't innovations, or if old software could catch up and be identical to new software then of course old is not bad. But like C++ took C and just slapped a bunch of features on it that weren't invented when C was created, playing catch-up doesn't work.
      NeoVim is kind of the odd-one-out since they actually managed to take Vim and upgrade it without a rewrite, but whether it can catch up to other features besides LSP remains to be seen

    • @calder-ty
      @calder-ty 2 года назад +1

      @@AssemblyWizard VsCode is a fine text editor. I think I've used it since it was initially released. Full credit to them for developing the Lang server standard. However the age argument goes both ways. Newer tools often lack features that mature ones have, and have to play catch up as well.
      My point being that the only major recent innovation I can think of for Text editors it's LSP and Neovim supports it natively. So the old argument doesn't really hold water in this case.

    • @calder-ty
      @calder-ty 2 года назад +1

      @@hm_webdev it took three separate attempts over a few years to make the switch permanent. For file navigation I recommend looking into Prime's Harpoon, as it really hit my use case for quick switching between a couple of files. I'd think FZF or Telescope are necessary for file finding (I recommend FZF for the easy setup, but use telescope because it has a lot more features). Can't really make any debugger recommendations, whats the primary language you use?

  • @gilbenherut
    @gilbenherut Год назад

    Thank you for this great video. You just now inspired me to write a tribute called "The Zen of Vim" on Medium!

  • @oku1317
    @oku1317 2 года назад +1

    I've been seriously considering switching to Vim. I haven't been programming for very long, but I find myself obsessing over efficiency and ergonomics all the time. The only issue I'm worried about is the fact that I use an alternate keyboard layout - Colemak-DH for typing, and so I may run into conflictions with certain shortcuts, but I'm sure it's easy enough to go through and change these.
    I'll definitely be mapping the hjkl to neio unless using the pinky finger becomes fatiguing. If that's the case I'll probably opt for jkil (neui in my case, basically the typical arrow key layout) if the pinky finger becomes fatiguing to use.
    I've also just found your channel and it's honestly such good content! Subbed!

    • @slamislife74
      @slamislife74 Год назад

      People hype Vim up a lot. Ignore the hype until you know the fundamentals of programming, because trying to learn Vim and code at the same time will make your life a lot harder than it needs to be

  • @agastyam_
    @agastyam_ 2 года назад +6

    Great video, as always! I'm proficient in Vim and decided at some point to try out Doom Emacs and loved the ecosystem... However, I find that running Emacs on Windows comes with its own operating system-specific challenges, which limit the functionality of Emacs. I found out about Emacs with natively compiled Elisp, which resulted in a drastic performance improvement (but slower package installs), but still haven't been able to work out some Windows-specific kinks. I believe you run Linux and would not face those obscure problems. I would be interested in knowing why you switched away from Emacs (with Evil mode) to Vim. Thanks.

    • @ThePrimeagen
      @ThePrimeagen  2 года назад +1

      speed mostly. i just needed something more simple.
      then the second thing was in terminal vs out of terminal experience. the terminal emacs is just not as good as out of terminal emacs.

    • @LC-hd5dc
      @LC-hd5dc Год назад

      just to add, speaking as a former emacs user - emacs is a carpal tunnel speedrun with how much use your pinky gets 😢 vim only requires pressing individual keys, for the most part.
      i still have the muscle memory of emacs from 10 years ago though which is cool

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 Год назад

      Emacs is great on Linux. I keep it running all the time. I also have the following alias defined:
      alias e='emacsclient -n'
      That way, in any terminal window, I can type
      e «filename»
      to immediately open that file in the running Emacs.

  • @raenastra
    @raenastra 2 года назад +4

    Two thoughts:
    1. The whole "spending more time thinking vs coding" misses part of the picture. We also spend quite a bit of time sending messages, responding to emails, searching through internal pages, googling, etc - there's great benefit to knowing your way around a keyboard, and getting good with vim helps this quite a bit. Especially with some of the less frequently used symbols :)
    2. IDEs have a lot of helpful builtin tools. Debugger, quick language support, etc. The modal editing paradigm is where most of the speed gains are, and I sometimes wonder if it'd just be better to use IDEs if they had better vim support.

    • @DruvaD
      @DruvaD 2 года назад

      you can use a debugger in vim

    • @raenastra
      @raenastra 2 года назад +1

      ​@@DruvaD I know, I'm just saying that the core benefit of vim is in modal editing, speed, and configurability. Great plugins are available - LSP, debugger, file tree, etc - but these are not part of that core benefit.
      IDEs have great language support and debugging out of the box, and it'd be great to get the vim workflow in an IDE. Unfortunately, vim plugins for IDEs are pretty clunky, but if they allowed you the same speed through modal editing and configurability, it'd be a great experience. Projects like Onivim, Helix, and even Neovim's builtin LSP are moving us in this direction, and I think it's a good thing.

  • @leptanian
    @leptanian 2 года назад

    Big thank you to you, Prime! Your content inspired me to use vim. Happy to report I'm now a one year vim user!
    Also a filthy VOD watcher btw.

  • @fernanboxfrias381
    @fernanboxfrias381 2 года назад +1

    Yoo hoo! Another Vim Video! Keep up uploading content like this!!!!!!

  • @MasterSergius
    @MasterSergius 11 месяцев назад +7

    Why I use Vim in 2023? Because I can't quit it

  • @hugo5349
    @hugo5349 2 года назад +14

    I've used Vim for two years, and recently switched to VSCode. It's just more comfortable and just as fast for actual development. If you really need to, you can even perform most of the Vim party tricks. Vim is an excellent software project, but so far I haven't seen any evidence to suggest that using it leads to greater productivity or code quality.

    • @ThePrimeagen
      @ThePrimeagen  2 года назад +3

      Def productivity, agreed though on quality

  • @ChrisPatti
    @ChrisPatti Год назад

    I used Vim back in the old days and loved it but recently, I had been struggling along with visual studio code, using the Vim compatibility mode. Now and in no small part because of the videos from you and TJ, I have switched back to 😊Neovim and feel like I’ve gained superpowers :-)
    Coding Lua just makes me happy.

  • @avi7278
    @avi7278 Год назад +1

    Before when I was a VSCode wanker, I would have a million tabs open and positioned and blah, and if they got closed it was literally like I didn't even want to work anymore. Now after 3 or so years of Vim, I still get this oddly satisfying feeling when I just destroy all my open buffers and don't care because I can just Leader, s, h and have an instant list of the last 50 buffers I used, type a couple more key strokes to fuzzy find the file I'm wanting and hit enter. It doesn't even matter what tabs I have open now and what order, every file is at my fingertips, esp when a couple of key strokes takes me right back to all of my most recent edits.

  • @owen5106
    @owen5106 2 года назад +4

    I use vim keybindings in visual studio 2019, would love to use vim for .net development but doesnt seem possible for building desktop applications. For other tasks though your neovim videos have been amazing.

    • @TheFulltuning
      @TheFulltuning 2 года назад

      There is plugin in Visual Studio, which let's you run Vim commands (just like in Vim). If I remember correctly, it's called VsVim. It can be installed easily from the plugin manager.

  • @hussein7859
    @hussein7859 2 года назад +3

    Awesome video Prime! I started using vim about 2 years ago and it really changed my coding life, but my vim config is LOADED with plugins from everywhere and i'm now thinking of configuring a vanilla neovim with no plugins. Can you please do a guide similar or recommend something?

    • @ThePrimeagen
      @ThePrimeagen  2 года назад +3

      I don't have a guide for that, but I am learning ways to use vim more and more without plugins.
      I would say that LSP plugin is a must
      Tree sitter is a must
      Harpoon (mine) is a must
      Fugitive (git) is a must
      besides for that, not to convinced anything else is that important.

    • @semaraugusto
      @semaraugusto 2 года назад +1

      @@ThePrimeagen neogit works fine in place of fugitive too

    • @aquepaique
      @aquepaique 2 года назад

      @@ThePrimeagen Telescope also is a must

  • @birdfacemd
    @birdfacemd Год назад

    One of my friends jokingly dared me to switch to it but within like a week I was hooked on the vim way of doing things. I also think once you've got a language fairly understood, everyone should code without any autocompletion for a bit to really ingrain that knowledge and that was a handy side effect of the transition

  • @slapdagger5693
    @slapdagger5693 2 года назад +2

    I love Vim motions but just can't seem to get used to using Vim or Neovim as my editor. I'm sure it's just a matter of practice but I feel like I'm already fast enough at navigating files in repositories using Vscode and the massive, albeit temporary loss in productivity does not seem worth it. Also let's not forget about how involved the whole process of setting up your environment is compared to more mainstream editors and IDEs. I see a lot of people mention how fast it is to just start vim vs the loading time with other editors but I personally don't ever even close my editor (quit the app entirely I mean) and when I do it doesn't feel frustratingly slow or slow at all for that matter. What is you opinion on that? To me it sounds like getting the best of both worlds but I wonder what more experienced people have to say on the matter.

  • @param7530
    @param7530 2 года назад +3

    have the same pc for 10 years (those in built cpu ones) , could barely run vscode without crashing so switched to vim 3 years ago and i couldnt have been happier

  • @ThePrimeagen
    @ThePrimeagen  2 года назад +7

    Why do you use vim? Or, why don't you use vim? What do you use?

    • @dennisgrishin3278
      @dennisgrishin3278 2 года назад

      I use vi on my good ol' VT-100

    • @jacktrusler6506
      @jacktrusler6506 2 года назад

      I started using Vim because of my roommate, but I really got into it because of you! 👑

    • @thehutchery
      @thehutchery 2 года назад +1

      I started using vim after watching your streams and I believe it’s made me a better engineer. So thank you!

    • @draineotv9134
      @draineotv9134 2 года назад

      i started using vim because it is useful when sshing into a server or setting up Debian/Arch, and keep using it because it's convenient

    • @frixaco
      @frixaco 2 года назад

      Because it makes me blazingly fast! (I use neovim)

  • @ghsinfosec
    @ghsinfosec 2 года назад

    Your vim videos have helped me out tremendously! My coworkers think I'm a wizard. Maybe it's the coconut oil, maybe it's maybelline, but vim just makes everything better!

  • @npf21
    @npf21 2 года назад

    As always cheers for your vids on Vim. my lead dev uses intellij and one of the other devs just made the switch from vscode to vim. Lead dev puts on the whiteboard another way to get fired (among other funny shit) start using vim which of course is BLAZINGLY FAST

  • @ojasmaheshwari3862
    @ojasmaheshwari3862 2 года назад +6

    Whenever I use vim, I can feel a huge buff.

  • @guillermomoreira5601
    @guillermomoreira5601 2 года назад +6

    Cause it is blazing fast, of course

  • @CragCode
    @CragCode 2 года назад +1

    I seriously use Vim at the moment I saw your channel and I was surprised by the speed with which it moved, today I already built my first plugin, and I have unpublished more written in Lua.

  • @FroL_Onn
    @FroL_Onn Год назад

    God, that zoom-in in the end, it made me subscribe!

  • @marctse3556
    @marctse3556 2 года назад +4

    Will there be a tutorial for how you configure your nvim at some point?

    • @ThePrimeagen
      @ThePrimeagen  2 года назад

      i have one, that went over my semi current (vimrc 2021)

    • @marctse3556
      @marctse3556 2 года назад

      @@ThePrimeagen oh wow didn't realize - that's awesome! And for your current setup I can just fork your repo ;)

  • @juanandresnunez658
    @juanandresnunez658 2 года назад +3

    I've been using only Vim for my entire undergrad education since first semester, because we had a course called "Computer Tools" in which we learned the basics of Unix and a lot of cool little stuff, including Vim. I think I was the only one in my generation that actually sticked to Vim. Years later, some of my peers still look at me baffled when I code like they can't believe I actually use Vim.... Until some months ago when I went to the dark side and started using (and very quickly adopted) VSCode. I'm not going to lie, if there is ONE thing I didn't like about Vim, it is its config file, syntax, and managing extensions. On VSCode, I only had to install the vim extension to have Vim-like keybindings. I still use Vim here and there but I mostly use VSCode. I fear returning to Vim "fully" might be too hard at this point. Send help, friends.

    • @mxc_clips
      @mxc_clips Год назад

      Try something like AstroNvim if you are still curious, thats what I currently use till I have time to really sit down and learn nvim configuration.
      It gives you defaults out of the box and gives you that IDE experience without you needing to really configure anything unless you want to.

  • @sploders1019
    @sploders1019 Год назад +1

    I personally use helix. I just feel the keybinds make more sense (select, then act), but it’s not necessarily even about whether or not you can type fast for me, but rather the elimination of menial and repetitive work, as well as the partitioning of my time. Even though I spend lots of time thinking, the speed at which I can type gives me more *time* to think, because my thinking and typing can only overlap a tiny bit. Just because you can’t think as fast as you type doesn’t mean faster, less menial typing won’t help

  • @gmpekk
    @gmpekk Год назад +1

    Customization and consistency across languages is great, I love vim

  • @andrenogueira9834
    @andrenogueira9834 2 года назад +13

    I started to use vim to feel smart
    I keep using it (or emulating it) because I feel dumb without modal editing, now

  • @mo0nbase
    @mo0nbase 2 года назад +3

    This guy is truly the Dr.Disrespect of programming... Hilarious! I think I speak for us all when I say your work is awesome!

    • @ThePrimeagen
      @ThePrimeagen  2 года назад +1

      hio! thank you :)

    • @mo0nbase
      @mo0nbase 2 года назад

      @@ThePrimeagen Also I was just thinking since you mentioned your a fan of IntelliJ a review of idea vim on IntelliJ compared to neovim or something would be awesome!

  • @beetledjuice3062
    @beetledjuice3062 Год назад

    Recently got into modal editing, but I went with Helix and got *hooked* . It's Kakoune-inspired so not exactly a Vim-analogue, but I just love it so much.

  • @a_maxed_out_handle_of_30_chars
    @a_maxed_out_handle_of_30_chars 2 года назад +1

    my love for vim recommeded me your channel and I love it :)

  • @cattohappy9263
    @cattohappy9263 2 года назад +16

    The greatest misconception in CS in general is that everybody wants "the best", be it "the best editor" or "the best tecnology".
    I've always hated when people say that X is crap because Y is better without any valid argument.
    My ex boss used to mock at me because at that time I was using a minimal arch install with i3 since the company gave me a really crappy laptop, and I had to do everything inside the terminal and with Vim, even though that wasn't really an issue, whereas he was using his MacBook Pro with Sublime Text.
    I mean, almost every tool has its own niche and you need to understand its philosophy to make the best out of it, if you use Vim expecting to click here and there you are disgracefully wrong.
    Every tool has to be learned, and I don't get why tools like Vim just because they are based on the terminal have this "stigma" of being uselessly complicated.

    • @EdubSi
      @EdubSi Год назад

      Good you dropped that boss :-)

    • @LC-hd5dc
      @LC-hd5dc Год назад

      it's because for any average user, every action (outside of typing) involves a mouse. doesn't matter what the program is, everything involves some kind of clicking. to put them in a scenario where the mouse is useless and there are no instructions on screen to even help them out means that every action in vim or even the terminal requires memorisation. you can't accidentally discover commands or settings like you can with a gui. since it's a lot of time and content to memorise, and most people will not even know how to look this stuff up, those people will look at it and go, "wtf?"
      and yknow, no need to lord your feeling of superiority over others ;) software is a tool, not a status symbol

  • @salman8562
    @salman8562 2 года назад +3

    I really like how this channel is not mainstream yet. It's just a guy coding and checking out BLAZINGLY FAST libraries.
    Love you man, Whenever I am feeling down i goto some of your BLAZINGLY FAST comparison videos (they are extremely educative too).

    • @ThePrimeagen
      @ThePrimeagen  2 года назад +2

      trying to have a great balance. I have some twitter reaction videos, rants, tech, whatever. I am my own stream, and if it becomes main stream, it is only because i was in that stream to begin with or i am creating it myself :)

    • @salman8562
      @salman8562 2 года назад

      @@ThePrimeagen thats what i like about you. Keep up the good work chief.

  • @mikaylarivera9739
    @mikaylarivera9739 2 года назад

    You're hands down my favorite programmer

  • @neilbryanleonardo9893
    @neilbryanleonardo9893 Год назад

    BROTHER, YOU ARE THE BEST!!! You oooh really helped me!! THANK YOU VERY MUCH!

  • @42war_pig31
    @42war_pig31 Год назад +8

    Recently switched from VS Code to vim. I thought C intellisense made my workflow faster. However, learning vim proved me wrong. I've never been faster in programming. Also, vim isn't that hard to learn. It took me around 2-3 days to build muscle memory for the common and basic commands. The more advanced commands can come later and isn't that difficult either.

    • @notusingmyrealnamegoogle6232
      @notusingmyrealnamegoogle6232 Год назад

      you can use intellisense in vim using CoC btw

    • @Reese_414
      @Reese_414 Год назад

      I felt the same way, I just started using Vim earlier this year & it was so much easier to wrap my head around than people made it seem to be... The basic navigation keys are easy to remember & you just learn the advanced movement as necessary...

  • @ThePrimeagen
    @ThePrimeagen  2 года назад +9

    First

    • @mateusleon
      @mateusleon 2 года назад

      omg, faster than RUST GEEZ

  • @felipepalermo6719
    @felipepalermo6719 Год назад

    About 2 years ago i started to code in c++, and i only used vscode, but i started an data eng course and one of my professord introduced vim to me and say smt like " if you like to code fast, you will love vim " so, here i am, using vim for almost anything and searching for new tips about it.

  • @ashwynhorton2841
    @ashwynhorton2841 2 года назад

    Your videos make me want to become better. Thank you soo much for your content!!!

  • @slipcurve1410
    @slipcurve1410 2 года назад +5

    a lot of people kind of suspect that vim is more efficient, but make up excuses as to why they don't have to learn it.
    i used ide's for ten years before i picked up vim. now i regret that i didn't do it sooner. all programs based on the "normal" text editing scheme are actually really, really bad, and you have to kind of step out to realize it.

    • @ThePrimeagen
      @ThePrimeagen  2 года назад +1

      yeah, pretty much the same thing here

  • @raccoonmoder
    @raccoonmoder 2 года назад +3

    for me Vim/Emacs’s usefulness is an extension of the usefulness of knowing how to touch type. I can type without looking at the keyboard, and I can navigate/edit text without hunting through menus and toolbars. It’s less about being quick for me (although thats nice too).
    Mouse actions never really become complete muscle memory in the same way keyboard commands do. Like everyone spams Ctrl+S to save without even thinking about it in most editors, but you can’t mouse over through menus in the same way without taking up some cognitive ability away from thinking about the actual engineering task at hand. Vim/Emacs enables me to place all editing on the keyboard to spend less time thinking about how my hands will do what I’m thinking of and more about what I’m actually doing.

    • @ThePrimeagen
      @ThePrimeagen  2 года назад +1

      that is pretty true statement i would say

    • @Dmitri_Ivanovich
      @Dmitri_Ivanovich 2 года назад

      Imagine being a programmer and not being able to touch type.

  • @emmanuelromero2258
    @emmanuelromero2258 Год назад

    That ending really got me to subscribe! 😂

  • @TuxMan20
    @TuxMan20 2 года назад

    I can say I had the privilege to witness your first forays into Lua on stream. I'm a long-time Lua fan and I'm glad to see your position...changed? I remember your rants while building Vim-Deathmatch 😜

  • @samuelwaller4924
    @samuelwaller4924 2 года назад +3

    If there's something I can't do in vim, i use vscode then figure out to do it in vim in my free time. Eventually you run out of things you don't know how to do lol

    • @ThePrimeagen
      @ThePrimeagen  2 года назад +1

      This is a great approach. Respect

  • @krombopuloslincler4849
    @krombopuloslincler4849 2 года назад +3

    You know how Buddha was enlightened?
    He used tmux with vim.

    • @ThePrimeagen
      @ThePrimeagen  2 года назад +1

      this is actual fax. I read about it in university

  • @hardknockscoc
    @hardknockscoc Год назад +2

    Why did you switch away from doom emacs? I've found it to be much easier to mass rename files in emacs with dired than using coreutils. Also, it's just nice being able to use GUI debugging.

  • @folgee7368
    @folgee7368 2 года назад

    Prime your videos got me into VIM gotta say thank you

  • @ItzAnameOk
    @ItzAnameOk 2 года назад +3

    I use vim only to appease you, mr. coconut man

  • @_jdfx
    @_jdfx 2 года назад

    I use Vim since I watched your "Vim as your Editors" videos. Thank you so much!!

  • @S255fjrbr
    @S255fjrbr 2 года назад

    You are the main reason i tried out vim and I can't thank you enough. Now I'm sitting here after half a year using Vim with my Moonlander and I will never go back. Thank you!

  • @benjaminmoseslieb9856
    @benjaminmoseslieb9856 Год назад

    I've been using MacVim for it seems like at least 10 years. Is there a GUI version of Nvim that you recommend? I'm pretty fond of the tab interface, and native copy/paste, the dragging of split screen dividers etc...

  • @bobdouglass8010
    @bobdouglass8010 Год назад

    appreciate this! No need to repeat what you've said, except to say I've been on the same journey. Huge shout-out to "vim adventures" for making the transition to vim fun. Today, coding is as much fun as it was when I was a kid, which is all I've ever been looking for.

  • @denzilv
    @denzilv 2 года назад +1

    Had no idea that it was Guy and Yunong that got you on the VIM path. Those guys are the best! 💜
    Now I'm wondering if I should switch over to Neovim because I do miss being able to hop around/remove/replace words and between/beginning/end of lines.

    • @ThePrimeagen
      @ThePrimeagen  2 года назад +1

      yeah, there is a lot of great things :)

  • @kernelcortex
    @kernelcortex Год назад

    Just get into Vim recently. I didn't do much on coding but pretty enjoy using it.

  • @pif5023
    @pif5023 Год назад

    You are the mentor I never new I needed.

  • @onlywilddrift9506
    @onlywilddrift9506 2 года назад

    newbie developer at amazon, my typical day starts with one of your videos. You are inspiration!!!! I wish to be lighting fast like you one day. 😢

  • @nordinsuleimani3757
    @nordinsuleimani3757 Год назад

    Hi Mr Primeagen, I've been using IDE's made by jetbrains for the last year and I have come to really love them, they are just really feature rich. That being said, I'm sure I've just scratched the surface. About last 6 months I've been using ideavim thanks to you! I was wondering, since I am really not such a big fan of all the resources most IDE's suck up would you say all the bells and whisles of a full fledged IDE like intellij can be substituted using something like neovim?
    Btw, thanks for all the awesome videos you are putting out!

  • @clarkgriswald8575
    @clarkgriswald8575 Год назад

    Heard about you from word of mouth. Literally subscribed on first video.

  • @scottspitlerII
    @scottspitlerII 2 года назад

    These are great points lol, as my teams tech lead I felt the need to share this (any my religion of vim) with all of them

  • @ricardorien
    @ricardorien 2 года назад

    You are awesome! Christ@machine, TJ, Luke Smith and you makes me loves this editor.

  • @TheChillBison
    @TheChillBison 9 месяцев назад

    I learned vim just a couple years ago, and while it took a while, I focused on just practicing a few things at a time that would give me a huge boost. Now, it is very painful to watch colleagues using the mouse to select text 3 times, struggle to get the cursor in the right spot, then press delete, then retype half the line with a couple changes, but I just let them do things their way. And I use AmVim in VSCode as I'm still not great at using Vim/Nerdtree for multiple files.

  • @domcarrillo1384
    @domcarrillo1384 2 года назад +1

    Something I feel you should address in a video, oh mighty one, is project folder to file navigation, and project runtime execution. I believe it is equally important to understand these concepts to become a legend like you. When I edit a file I am sprinting but once I am out I tripped, fall on my face and slide to the finish line. Need tips right outside vim.

    • @ThePrimeagen
      @ThePrimeagen  2 года назад

      yeah, i have thought about that. perhaps we may start to think about that here shortly.

    • @domcarrillo1384
      @domcarrillo1384 2 года назад

      @@ThePrimeagen That would be awesome! Will be looking forward to it.

  • @manoharsingh6050
    @manoharsingh6050 7 месяцев назад

    I am pretty good at navigating code with vs code. I also use the terminal core utilities extensively. But I really like some features like debugging, useful extensions etc of vs code. After watching your video , I enabled vim extension in vs code and with vim motions , I feel even more efficient with all the good stuffs of vs code