Vim in 100 Seconds

Поделиться
HTML-код
  • Опубликовано: 23 ноя 2024

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

  • @abhishekgururani6993
    @abhishekgururani6993 3 года назад +12188

    I've been using vim for a year now, mostly because I don't know how to exit it.

  • @isaacabhishek
    @isaacabhishek 2 года назад +268

    100 seconds prolonged to 12 minutes because he couldn't exit it.

    • @kavishdevar
      @kavishdevar Месяц назад +1

      I realized 1 minute and 11 seconds into the video that it should be almost done now, and saw that it's 12 minutes long.

  • @Noobificado
    @Noobificado 3 года назад +4768

    Vim improved my productivity a lot.
    Now I can get compile time errors way faster than before.

    • @Nexus-rt1bm
      @Nexus-rt1bm 3 года назад +29

      lmao

    • @adissentingopinion848
      @adissentingopinion848 3 года назад +137

      Fail faster, bro.

    • @itzhacov
      @itzhacov 3 года назад +112

      fail faster learn earlier

    • @danielrdrigues
      @danielrdrigues 3 года назад +8

      And more, if you type before thinking, I spend way more time thinking than typing, especially with snippets

    • @adissentingopinion848
      @adissentingopinion848 3 года назад +11

      @@danielrdrigues My greatest thoughts while coding happen when I bust out the pen and paper to evaluate my design before I code a logical error that is impossible to debug. Either you catch the error while designing, or you easily catch where your code doesn't align with your sketched design.

  • @altimmons
    @altimmons 3 года назад +1059

    “You might find your self in vim with no way to escape”
    You just described every interaction I’ve had with vim ever.

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

      esc, colon. then q if you've made no changes, wq to save and quit, q! to force quit without saving.

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

      Every time I think I have sent a file to nano and it winds up in Vim. And I inwardly sigh and curse the terminal Gods.

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

      @@SomeRandomDude821 i use ctrl z.

    • @achimwasp
      @achimwasp 2 месяца назад

      @@kshitijrajgude Then vim will still run in the background. Type fg at the shell prompt and it will be back as you left it.

    • @kshitijrajgude
      @kshitijrajgude 2 месяца назад +1

      @@achimwasp holy shit no fucking way

  • @CodingNuggets
    @CodingNuggets 3 года назад +2775

    What's funny is how many upvotes on stackoverflow the question of how to exit VIM has (4k+).

    • @Squee7e
      @Squee7e 3 года назад +136

      The big question which comes to mind is: How did they get there when they were locked in the console? 🤔

    • @developer4837
      @developer4837 3 года назад +146

      @@Squee7e They are asking for a friend

    • @shasherazi
      @shasherazi 3 года назад +81

      @@Squee7e through their mobile phone

    • @Perseagatuna
      @Perseagatuna 3 года назад +11

      @Kanashimi Or be like gnu nano and use CTRL + X to quit and then a prompt for saving

    • @kratosgodofwar777
      @kratosgodofwar777 2 года назад +43

      @@Squee7e they used vim to ask the question

  • @JesperHasselquist
    @JesperHasselquist 3 года назад +594

    What is being referred to as "command mode" in the part after the 100 seconds, is actually called normal mode. Command mode is what you enter when you hit colon ( : ).

    • @gonzalo_rosae
      @gonzalo_rosae 3 года назад +15

      exactly

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

      yep, this was a mistake in the video

    • @jakestewart5915
      @jakestewart5915 2 года назад +41

      read the documentation. :h command-mode. command mode and normal mode are synonymous. you’re talking about command-line mode.

    • @thestopper5165
      @thestopper5165 Год назад +8

      Hitting colon is pretty uncomfortable for all participants.
      (I'll make my own way out...)

  • @AshesOfEther
    @AshesOfEther 3 года назад +5808

    I love how he uses the VS Code terminal to demonstrate it.

    • @Fireship
      @Fireship  3 года назад +1644

      I knew that would get called out, but did not expect it so quickly

    • @codeaperture
      @codeaperture 3 года назад +44

      @@Fireship 😂 hey I currently want to purchase your courses. Will I access everything previous such as Flutter and others if I subscribe this month for quarterly.? Are they downloadable? I'm new to your platform slack but haven't purchased a single before. Kindly help

    • @juliang9574
      @juliang9574 3 года назад +54

      @@Fireship why didn't you use the vim extension for VSCode? Edit: I didn't finish video

    • @shreym03
      @shreym03 3 года назад +28

      To be fair vim for VSCode isn’t always 100% working with key bindings. So it’s fine to use vim in the integrated terminal

    • @vaibhavbv3409
      @vaibhavbv3409 3 года назад +21

      @@Fireship Why are people so orthodox with editors like emacs and vim? . Why not encourage the use of vscode itself? .Vscode would have saved hours of time for most of the users even with less experience.I don't think outdated editors like vim / emacs would have made a difference even if it didn't exist today.

  • @Moonlight-pk2st
    @Moonlight-pk2st 3 года назад +624

    Title: 'Vim in 100 seconds'
    Me: sees that the video is 12 minutes long
    Also me: *something's wrong, I can feel it*

    • @Moonlight-pk2st
      @Moonlight-pk2st 2 года назад +1

      @@emacsfanatics4939 Opinion

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

      Ikr, had to rewind the page to be sure.

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

      Imagine if it took him that long to figure out how to exit Vim.

    • @LambdaCreates
      @LambdaCreates 8 месяцев назад

      Actually, most of that is the Beyond 100 Seconds, the 100 Seconds part ends at 2:18. That's STILL around 38 seconds off 100 seconds.

    • @madhououinkyoma
      @madhououinkyoma 6 месяцев назад +2

      It's this feeling I've got

  • @alexismandelias
    @alexismandelias 3 года назад +394

    The beyond 100 seconds part has less information than the 100 seconds though...

    • @danielegvi
      @danielegvi 3 года назад +80

      Someone had to say it, I love Fireship's videos because of how dense in knowledge they are. Whenever he brings out a guest they always move at a glacial pace in comparison, which is fine, but it's not Jeff's style at all. Feels like I'm watching someone else's channel.

    • @kingundfaker
      @kingundfaker 3 года назад +16

      I think the same and in my opinion it kicks me out of the flow when the 'master' (at their topic) talks slower or not precise!
      Don't get me wrong, it's still great content but it was better when he made the videos all himself. I also know this is a lot of time and work especially to keep up with his information density throughout the whole video

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

      vimtutor and :help user-manual is all anyone will ever need.

  • @xx-cj6ew
    @xx-cj6ew 3 года назад +20

    Small tip: you can also navigate to line numbers via {n}gg, where {n} is the line number you want to go to (ie. 5gg). Alternatively, gg goes to the first line, and G goes to the last

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

      {n}G does the same as {n}gg
      I had to pause for a second when I read this because I've always done it with G

  • @mmshasan
    @mmshasan 3 года назад +786

    I used vim in 2005 for the first time in Linux and used CTRL+ALT+DEL to reboot the server to get out of it 🤣🤣🤣

    • @Gregorius421
      @Gregorius421 3 года назад +37

      `killall vim` ;) on another console

    • @spicybaguette7706
      @spicybaguette7706 3 года назад +91

      sudo rm -rf / also works

    • @mmshasan
      @mmshasan 3 года назад +6

      @@spicybaguette7706 I was a total noob back then.

    • @Gregorius421
      @Gregorius421 3 года назад +3

      @@spicybaguette7706 rm is fancy, but won't actually terminate the vim process, CTRL+ALT+DEL is still needed for full effect :D

    • @saadisave
      @saadisave 3 года назад +67

      @@spicybaguette7706 That's a dangerous joke. Someone might actually try it.

  • @kipchickensout
    @kipchickensout 2 года назад +392

    I like how in the "Without Vim" example he does the editing extra slow and tedious so that the vim method is faster xd

    • @egg-mv7ef
      @egg-mv7ef 2 года назад +55

      yeah lmfao people who are even somewhat capable can edit code as fast as vim

    • @guitartsword
      @guitartsword 2 года назад +26

      Yeah, I like how in the with vim part he even had a typo and without vim he did all perfect

    • @gnikdroy
      @gnikdroy 2 года назад +37

      ​@@egg-mv7ef Sure, show me a common way to do something like
      cs'" -> Change surrounding single quotes to double quotes
      ci" hello! -> Change stuff inside quotes to hello!
      People who are somewhat capable to quickly edit code use some sort of modal editor. Everyone else thinks they edit code as fast, when in fact they don't. You don't even have a quick way to do what vim macros do. Hell most people have a tough time joining multiple lines, when in vim you can just use J.

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

      Vim acting is faster for editing but can be slower for writing. But visual vim (idk what its called. Vim gtk? Not sure) lets you do stuff with the mouse as well

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

      > _"visual vim lets you do stuff with the mouse as well"_
      @@loonathefoxgirl6375 the "visual vim" u are talking about is called gvim (graphical vim) - i have tried that, but it ain't a very good piece to use. i couln't figure out how to save settings in it. like font size or even what are the shortcuts to zoom in it

  • @willinton06
    @willinton06 3 года назад +197

    Fireship really has become a learning brand

  • @acc373r4t0r
    @acc373r4t0r 3 года назад +154

    "Everytime you touch the mouse your productivity decreases"
    Me, a long-time FPS player: Ha !

    • @siz1700
      @siz1700 4 месяца назад +5

      OSU players:

  • @adithyaric
    @adithyaric 3 года назад +491

    Next : Linux in 100 seconds and beyond

    • @Fireship
      @Fireship  3 года назад +163

      I have a variety of linux videos planned, too much to cover in just 1 video.

    • @adithyaric
      @adithyaric 3 года назад +18

      @@Fireship wohooo i can't wait, i'm really excited about it 🔥

    • @hermannabt8361
      @hermannabt8361 3 года назад +5

      Linux in 100 seconds or less

    • @noahnolte7288
      @noahnolte7288 3 года назад +16

      @@Fireship How about Windows in 0 seconds?

    • @adithyaric
      @adithyaric 3 года назад +6

      @@noahnolte7288 😂 blue screen

  • @Satharus
    @Satharus 3 года назад +31

    I'm a hardcore vim user and was literally just telling my friend that I need a text editor alongside vim which is better in YAML and XML editing, previously I never needed to edit files in those formats.
    I think that this configuration is exactly what I was looking for! Thank you!

  • @GoodVolition
    @GoodVolition 3 года назад +283

    I've used Vim here and then. But just in general for the way I write code I've never felt using a mouse was a bottleneck. I understand people who like it though. There's a certain charm once you get into the swing.

    • @brianevans4
      @brianevans4 3 года назад +34

      HOW DO YOU GET INTELLISENSE?
      i don't even type 50% of my code. I type the first two characters and intelliJ finishes off the line. Is this even possible with vim?

    • @spfab3429
      @spfab3429 3 года назад +29

      @@brianevans4 Yes. At least with neovim there are a variety of LSP plugins available. The most common one is coc. It's not the most trivial thing to setup, but it works pretty well.
      But even vanilla vim has some basic completion functionality by using Ctrl-N or Ctrl-P keys, but it only matches raw words.

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

      @@brianevans4 yeh ... just use coc

    • @sanjay_swain
      @sanjay_swain 3 года назад

      Yes it depend on workflow. When writing a python script it can be tedious to use mouse just for going to a line for indentation or simple fix.

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

      yeah, my brain is the bottle neck when it comes to code

  • @alphabasic1759
    @alphabasic1759 3 года назад +27

    The biggest advantage of vi/vim over every other editor is it's incredibly powerful text processing (which by the way you can apply from within a session or via a command-line if you're running via batch).

  • @dansho3712
    @dansho3712 3 года назад +992

    Imagine beeing so fast at coding that you have to worry about the delay of touching your mouse... 😅
    Edit: Wow thanks for all the likes!

    • @deepanshu1955
      @deepanshu1955 3 года назад +35

      THIS.

    • @PipBoy2300
      @PipBoy2300 3 года назад +18

      This.

    • @aanchaltiwari9205
      @aanchaltiwari9205 3 года назад +16

      This.

    • @dansho3712
      @dansho3712 3 года назад +10

      @@deepanshu1955 sure! I love it too! I‘m using it because I am working a lot with embedded systems which do not have an UI. 😃

    • @cilian8462
      @cilian8462 3 года назад +4

      i guess if you don't touch your mouse you will be much faster anyway

  • @lyvinx9104
    @lyvinx9104 Год назад +23

    The guy who created vim just died. Rip

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

    The creator of vim just died. Rip Legend.

  • @danielrdrigues
    @danielrdrigues 3 года назад +285

    I'm loving this series beyond 100 seconds, keep it up 👍 , VIM really make your produtivity spikes, like 10 seconds per day, it's incredible.

    • @linuxrant
      @linuxrant Год назад +26

      no, it's not 10 seconds a day. it's 10 hours a day LOST in learning this whole vim-fu acrobatics and repeating commands and keybindings.
      Then it's 10 more hours a day lost on getting verbal revenge on others humiliating them for not using vim.
      4 hours are left to play VimBeGood, Vim Adventures and Nethack and trying to understand why the J key has a touch typing marker on every keyboard and not the H key...

    • @Faunarr
      @Faunarr Год назад +8

      @@linuxrant what you're describing to me sounds like a skill issue to me

    • @theelite1234
      @theelite1234 10 месяцев назад +2

      @@linuxrantYou do not understand! Using Vim makes you unique compared to those puny basic IDE fools! I gotta feel special to code efficiently, daddy issues seeping in.

    • @SanilJadhav711
      @SanilJadhav711 7 месяцев назад +1

      @@linuxrantBro is spitting facts

  • @ColjaCarls
    @ColjaCarls 3 года назад +25

    Another pro-tip that I one used and since never went back: wether you use VSC or IntelliJ (and stuff): Disable "multi tab" so only one tab is displayed and learn the shortcuts that show you the last files you opened (CTRL + E for IntelliJ) and to search for files / classes. That somehow forces you to use the keyboard much more often, because using the mouse becomes so painful with just one tab. And in the end it boosts your productivity by A LOT! Thank me later 😉

  • @cindrmon
    @cindrmon 2 года назад +77

    fun fact: the 'hjkl' mapping for vim is surprisingly similar to the arrangement of arrows in Dance Dance Revolution, which is always typically Left, Down, Up, Right.

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

      Dance dance revolution came after vim btw
      And many early rogulikes including but not limited nethack, angbane, DCSS etc has the same key mapping

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

      @@aravindpallippara1577 interesting to know.. what do you think is the real origin to 'hjkl'? did it all come from vim? or somethin else entirely?

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

      @@cindrmon
      HJKL They keep your right hand in middle center of the keyboard.
      It is all about being in 100% control all the time.
      And having bleding edge efficiency

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

      @@limitless1692 yea true

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

      Next: use DDR dance pad to control Vim

  • @DaraulHarris
    @DaraulHarris 3 года назад +58

    You should note that a and A are separate commands. I have met people that thought the command to append to the end of the line was shift+a, which it is not.
    An interesting side effect of learning the vim navigation keys that I've noticed is that you start to notice them all over the place. They work on Facebook and twitter for navigating your feed for example.

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

      what do you mean, how else are you supposed to type "A"??

    • @kacperfilipek8461
      @kacperfilipek8461 2 года назад +26

      @@samuelwaller4924 I'm not sure what Daraul meant but, interestingly, vim doesn't care what keys you type, but rather what character is being typed to the terminal. Yes, typically Shift+a will result in typing 'A', however if you happen to have Caps Lock enabled, and press the 'A' key without shift, vim would recognise it as user typing uppercase 'A', so it would appending to line ending. In this scenario using shift would actually result in regular mid-line appending.
      As a result, if you have different keyboard layout, you would use different keys to do the same thing in vim.

  • @lekhakaananta5864
    @lekhakaananta5864 3 года назад +15

    ❌Point mouse to your target word near-instantly with precision honed from years of hand-eye muscle memory
    ✅Spam up arrow until you get to your line, then spam right arrow until you get to your word
    The speed thing is mostly a myth. Some inputs are faster with a mouse, other a keyboard. Use the right tool.

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

      That’s why the arrow keys / hjkl are actually not used that often in Vim. There are almost always better ways to precisely move the cursor where you want it.

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

      It's more about eliminating the hand movement of switching between keyboard and mouse.

  • @onelazynoob15
    @onelazynoob15 3 года назад +14

    I have been using Vim on my own, and while I wouldn't consider myself fluent, just being able to delete or yank lines without touching the mouse has made editing text files much faster.

    • @oberguga
      @oberguga 3 года назад +4

      shift+arrows -> del It works in every redactor.

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

      @@oberguga you mean ctrl shift

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

      @@fredrikmudas no.
      Hold shift and use arrows to select text, then del it.

    • @Biditchoun
      @Biditchoun 10 месяцев назад

      @@oberguga On vim it's (also ?) v + arrows to select, then y to copy, d to cut, s to delete (but it makes it enter insert mode too, so there is probably another way I never bothered to look up for).

  • @logicshiFt
    @logicshiFt Год назад +26

    I started trying to use vim emulation this week and 'L for right' is the best way to describe my experience so far. It's great when it works out, but damn some of these keybinds are alien

    • @jjjj-ms1ln
      @jjjj-ms1ln Год назад +1

      maybe he should have said L for Last

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

      I play videogames in the ijkl format so this confused me for a bit.
      I think that K will take me down and J will take me left. I will take me up.
      But L is the exact same so I never had trouble with that key. L is always right.

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

      I feel like remembering them relative to the up/down keys is easiest, if you already know those.
      (J/down is easiest because its your index finger and has the haptic bump on it)
      then H is *left* of those keys, and L is *right* of those keys.

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

      @@jonathanlevin7660 Wait haven't I seen you before??

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

      @@keshi5541 uhh, maybe? 🤷🏻‍♂😅

  • @The9TKitsune
    @The9TKitsune 3 года назад +98

    I have used vim fulltime as a cs student for the last two years, and didn't know about +p. Just goes to show vim is a bottomless learning experience.

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

      Do you know about gf or gd? Lol

    • @dandandrorivolleyball
      @dandandrorivolleyball 3 года назад +10

      My personal favorites:
      ciw - change inner word
      cs - change surrounding to
      ysiwtp - add surrounding html tag to word under cursor
      The last 2 require the surround.vim plugin

    • @Chiny_w_Pigulce
      @Chiny_w_Pigulce 3 года назад +34

      @@dandandrorivolleyball using vim for html is like shooting an ant with a tank

    • @dandandrorivolleyball
      @dandandrorivolleyball 3 года назад +1

      @@Chiny_w_Pigulce lol yeah haha. I dont write html as is though, i write React which uses jsx which is html-like syntax so its basically javascript, html and css (with styled-component library) all in one file :)

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

      you can also use shift+insert.
      Do you know how to copy (ctrl+c) in vim without using the mouse? I don't

  • @trustnt1337
    @trustnt1337 3 года назад +17

    This video taught me the basics of Vim; and now using as my main text editor ever since!

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

      Hi, you are in luck if you haven't progress further from basics because I recently made a Vim Tutorial Playlist. You can become Master of VIM by watching my playlist in 2x mode. I tried to cover most of the topics in smaller digestible chunks/parts.
      There's no shadow of doubt that using or at least getting your muscle memory of vim key bindings will go a long way. I myself learned vim when I was 22 years old. My first task was to master a text editor rather than any programming language lol It took me almost 6 months.
      Check my playlist, Hope you enjoy it. ruclips.net/video/SirSctawUVQ/видео.html

  • @256k_
    @256k_ 2 года назад +6

    vim is indeed like an instrument, it'll take a long time to get good at it but once you do it becomes a really fun hobby.

  • @karaloop9544
    @karaloop9544 9 дней назад

    If you don't care to remap , works as well and is a bit more convenient to hit than - at least for me.

  • @Aranueth
    @Aranueth 3 года назад +14

    Hah, I wish the limiting factor of me releasing software was letting go of the mouse / not typing fast enough

  • @DavidBrown-bs7gg
    @DavidBrown-bs7gg 3 года назад +1

    some good vim commands. cw = change word. ct[letter] = change to letter. dw = delete word. dt[letter] = delete to letter. ~ (tilde) = toggle the case of the letter and move to next letter (hold to do entire string)

  • @erikreider
    @erikreider 3 года назад +12

    I've been using Vim for the past 2 months and I'm really enjoying it 😄

  • @Vifnis
    @Vifnis 8 месяцев назад +2

    0:03 Keyboard is a AJAZZ K500 model sold by FirstBLOOD from China, it's a niche model (if I don't say so myself, highly recommended w/ Cherry MX Blue switches!)

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

    Vi and Vim have a lot more advanced commands, but 2 I wanted to point out since he was using I and Escape to get to the beginning of a line:
    Shortcut to go to the beginning of a line without entering Insert Mode: ^ (Shift-6 on a US keyboard).
    Shortcut to go to the end of a line without entering Insert Mode: $ (Shift-4 on a US keyboard).

    • @daveqr
      @daveqr Год назад +3

      Note ^ jumps to the first non-blank character, while 0 (zero) moves to the beginning of the line. Subtle difference.

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

    After this video I got some enthusiasm to dive in Vim. Took a Vim course and now I feel comfortable with it)

    • @byakka
      @byakka 3 года назад +1

      Keep on learning! Whenever I feel like I know enough vim I come across something new that makes me go ‘I could be doing THAT this whole time??’ There’s so much gold in :help alone!

  • @Frozander
    @Frozander 3 года назад +509

    "you're no longer a soydev..." I know which channels you're watching lol

    • @flamendless
      @flamendless 3 года назад +8

      Which ones? What's soydev?

    • @igorswies5913
      @igorswies5913 3 года назад +75

      @@flamendless Luke Smith
      Please don't r/whoosh me

    • @gtkall
      @gtkall 3 года назад +129

      _bald man screaming to his selfie stick in the woods_

    • @tsukiiiiiii
      @tsukiiiiiii 3 года назад +43

      @@flamendless From Urban Dictionary, here's the best explain about soydev I can conclude so far: Soydev are basically devs who use GUI for everything in their work, from editor to other things, and never touched to something like Vim. They are very common in the "Silicon Valley" (I'm not 100% sure about this).

    • @letsgocamping88
      @letsgocamping88 3 года назад +42

      Default RuneScape character

  • @0jas.
    @0jas. 3 года назад +7

    The best thing about vim is that I can edit vimrc to create my own key bindings and install only those plugins that I really use in my day to day life.
    The worst thing about vim is that it takes weeks to find plugins that I want to use and learn how to create your own key bindings

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

      Vs code can do both of those things

    • @0jas.
      @0jas. 2 года назад +1

      @@rosslewerenz9360 Yes but I think it's the other way round. In Vim, there are no extra plugins installed and you have all the freedom to install only those plugins you will need. In Vs code, you have a lot of uninstallable features and telemetry trackers which slow down vs code in comparison to vim. Vim's load time is almost unnoticeable while it takes time to load vs code.
      On the other hand, it's very difficult to find good plugins for Vim, and sometimes they do not even exist. For example, there are hardly any good plugins for Java development on Vim. And it's not as easy as clicking the download button to install those plugins. But vs code has an excellent marketplace and it's quite easy to find extensions as their search option is quite good as well.

  • @bvg129
    @bvg129 3 года назад +10

    Vim may be handy if you have

    • @laundmo
      @laundmo 3 года назад +5

      this. the short comparison was clearly either recorded by someone who has never used a normal IDE in their lives, or it was specifically made to make normal VSCode look slow.
      take your guess.

    • @EgorRandomize
      @EgorRandomize 3 года назад +1

      My favorite part is 2:40 as comparation of perfomance.
      In VS Code he is using slow mouse with one missclick and other useless clicks instead of ctrl+delete and ctrl+backspace.
      I can't imagine any case Vim can fight IntelliJ IDEA products.

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

    I’ve been using Vim in VS Code for almost a year now. I now can’t imagine coding without it.

  • @juliankandlhofer7553
    @juliankandlhofer7553 3 года назад +5

    👏VIMTUTOR👏!!
    The best way to learn vim is by running 'vimtutor' in your terminal. Its a tool which will go over basically all of the built in features of vim by actually having you use them. When you're new to vim, doing this a bunch of times will familiarize you with the shortcuts very quickly.
    Cool video, but I feel like this has to be mentioned.

    • @kurisu-makise
      @kurisu-makise 3 года назад

      I also like "boost your coding fu with vscode and vim" (google it; it's free)

    • @CaptainWumbo
      @CaptainWumbo 3 года назад

      Basically all the built in features of vim...... HAHAHAHAHAHAHHAHA YOU FOOL

    • @juliankandlhofer7553
      @juliankandlhofer7553 3 года назад

      @@CaptainWumbo care to explain?

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

    Mnemonics I use if they help:
    h: home (left)
    j: jump (up)
    k: kneel (down)
    l: last (right)

  • @muhammadadibzaini
    @muhammadadibzaini 3 года назад +3

    If you install vim on your system, you can write 'vimtutor' as command and it has a brief but powerful introduction on vim.

  • @lenni-builder
    @lenni-builder Год назад +2

    R.I.P Bram (If you didn't know that, he was the creator of Vim and died on 3rd August 2023)

  • @Mempler
    @Mempler 3 года назад +131

    Literally everyone who opens vim for the first time:
    Opens google -> How to exit vim?

    • @piecepaper2831
      @piecepaper2831 3 года назад +14

      thats why i use nano because the more familiar control c works

    • @chairlovawitabat
      @chairlovawitabat 3 года назад +14

      I almost cried the first time I accidentally vimmed into a file and couldn’t CTR-C out if it.

    • @fabricehategekimana5350
      @fabricehategekimana5350 3 года назад +10

      I didn't use google, I just turned off my computer.

    • @Mempler
      @Mempler 3 года назад +1

      @@fabricehategekimana5350 LOL

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

      If you press ctrl-c in vim it tells you how to quit.

  • @vukkulvar9769
    @vukkulvar9769 3 года назад +10

    I found the With Vim / Without Vim to be misleading.
    The "With Vim" side start with the cursor already at the end of the opening tag line, while the "Without Vim" is randomly in the middle.
    If it was honest, the "Without Vim" would have used the mouse to select from the end of the opening tag line to the end of the closing tag line and deleted everything at once, it also require less accuracy with the mouse.
    By the way, natively you can :
    Navigate using arrows
    Use begin/end to go to the start/end of the line (begin will alternate between before & after the indentation if you keep pressing it).
    Use Ctrl+begin/end to go the start/end of the file.
    Use Ctrl+left/right arrows to jump to the previous/next word boundary.
    if you hold shift it'll also select.
    All of the above work with multicursor.
    Inser to toggle the input mode between "insert" and "replace".
    With that knowledge, I find that Vim addon to be a waste of time.

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

      Yeah, it’s really hard to make good comparisons for that kind of thing. I don’t doubt that you can use the standard controls to write quickly.
      It takes quite a while to get truly comfortable with Vim, but I find it hard to live without nowadays. I absolutely recommend rebinding caps lock to escape. Contorting your hand to tap the escape key in the corner of the keyboard is unpleasant and slow as fuck.
      I do find myself tapping caps lock on other people’s computers when I try to dismiss a dialog box or exit a field though, which is always amusing.

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

    note for 'r', you can do shift+r to continuously replace characters, instead of just replacing one

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

    Video: Vim In 100 Seconds [12mins]
    *The classic vim trap has defeated this series*

  • @clarkbrown2988
    @clarkbrown2988 3 года назад +5

    NIce video! I also want to add, that if you practice blind typing, you can rebind movement keys from hjkl to your right hand home row (jkl;), which is much more convenient

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

      That would mean losing ; for repeating the last movement, won’t do that for sure :)

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

    You know.. what's stopping me from using my arrow keys? I can press the Home and End button to similar effect, and saving doesnt take that much time when you're spamming ctr + s every 5 seconds anyway

  • @GonzaloMassa
    @GonzaloMassa 3 года назад +17

    I love being a developer and enjoy programming, that's why I don't want my fingers glued to the keyboard in order to squeeze my productivity, specially for my employee.

    • @ivanf.8489
      @ivanf.8489 3 года назад +10

      Yah, totally.
      I love Vim, but not because it "increases my productivity". I don't want to be programming 100lines/minute. I want to have fun and do the things right

  • @VectorBandit
    @VectorBandit 3 года назад +1

    I learned Vim about 2 years ago and I just can't code without it. Sometimes I wish everything had vim-like support.

  • @ttst3
    @ttst3 3 года назад +40

    4:13 kinda ironic that he would use the mouse instead of just pressing Enter to select the command, in a video about Vim...

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

    My friends told me to start learning programming with some easy IDE and a beginner-friendly language like Python. So I choose Vim and started learning Assembly.

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

    Also this functionality:
    ^ - to move at the beginning of a line without insert mode
    $ - to move at the end of a line without insert mode
    O - to insert a new line above the one the cursor is at and get into insert mode
    o - like O but for the line down
    w - to jump from next word to next word
    e - like w but places the cursor at the beginning of the next word
    b - to go back word by word
    { and } - to move up or down by paragraph/block
    ( and ) - similar to { and } but steps from beginning of block to end of block and vice versa
    v - press it once and move your cursor to start selecting
    Ctrl + E - to scroll down
    Ctrl + Y - to scroll up
    / - is like your find functionality ( is the string you're searching for), after that you can jump form instance to instance with n (next) and N (previous)
    there are also ways to have split screen with multiple files open and navigate through them, I don't remember how that's done.
    Honestly, if Vim had autocomplication out of the box, I'd use it exclusively.

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

      ( and ) moves by sentences

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

    One small hack is you can go to normal mode from any mode without directly pressing the esc(which is roo far)
    Just press Alt+ any other key(except ctrl, shift, caps etc)
    You can also make combination to use it more efficiently like
    If you are in a middle of a line and you want to type in the next line, normally you would do esc + o
    But what you can do is just press alt + o which has the same effect but more efficient
    This works because pressing alt + any key == esc + that key

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

      Or just remap CapsLock to ESC - jfj to ESC is a good idea too... or jjj
      jj isn't a good idea - might want to type 'hajji' one day if seized by a desire to do a racism.

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

      @@thestopper5165 actually its not a remap, works in all vim like editors like nvim without any mapping and configurations and the hack can be used in many ways to make more efficient. The above mentioned example is way more easy than to type jfj and then o to change to a new line. Not just o, any key can be combined with alt to create the effect of 'escaping and then typing the key'
      alt + j/k to suddenly go down/up while typing
      alt + p to suddenly paste while typing
      etc

  • @shivam.kumar.the.boy.
    @shivam.kumar.the.boy. 3 года назад +6

    Thanks for this awesome video about VIM. I was wondering why you've not made any video on this topic so far. But finally, it is here. 😃😃

  • @vif3182
    @vif3182 3 года назад

    0:03 the keyboard is a Retro RGB keyboard sold by FirstBlood Gaming as Ajazz K500, comes in various Cherry MX keycaps. No bloated software is needed to use the RGB, it's straight plug-n-play out the box. Highly recommended.

  • @kocraft137
    @kocraft137 3 года назад +47

    Love ur beyond 100 seconds section of your vids :D Your style of editing is superior

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

    0:48 NOOO! The easy way to quit is ZQ or if you want to write and exit it is ZZ

  • @toploz_jr5597
    @toploz_jr5597 3 года назад +4

    1:58 you don't have to write the filename you can simply use %

  • @basedbuddha777
    @basedbuddha777 3 года назад +1

    I just wanted 100 seconds, yet you still managed to make a 10+ minute video AND get me to comment on it....
    You definitely understand your platform.

  • @bakedbeings
    @bakedbeings 3 года назад +14

    The plus register was a great tip, thanks! I use vim (in various editors) for most of my coding/typing and consistent system clip has been tricky 👍

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

      It's *"+p* though - not just *+p* (for me it's remapped to leader-pp because that's faster and has no SHIFT, whereas "+p is two shifts).
      Likewise, leader-yy is "copy selection to the system register AND to vim's standard *"* register", and leader-yc is "copy last command-line to *+* and *"* "
      Remaps ftw.
      I hate it when I can't hit ESC-ciw in a text box to replace a word - even with vimium installed.
      EvilCorp's sites disable vimium by default, it appears.

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

    Quick tip: turning a 2 into a 22 can happen on either side of the cursor. Works for 11,33,44 also. I'm not sure beyond that as I've been to aftaid to venture that far from home.

  • @nivo6379
    @nivo6379 3 года назад +6

    Using Vim has nothing to do with being a true software engineer (2:03). Also, most of the time is spent thinking about the problem not typing. Saving 1 second does not reduce the development time or cost (2:41).

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

      @jeff pentagon When you have a such a big file, the first suggestion is to break it down into separate files for a multitude of other reasons.
      But in case you can't because it is a legacy project or something, then you can use a variety of much faster methods to navigate:
      1) the outline representation of the document that shows the symbols
      2) CTRL+F to search
      3) CTRL+G to go to an exact line number
      4) using a bookmark extension
      All of these are way faster than scrolling and scanning the code by eye.

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

    0:42 *“…and at some point, you’ll likely find yourself dropped into vim with no way to escape.”* Yep! That, “get me out of here,” clip sums up my experience accidentally opening Vim. I switched back to Linux a few months ago after years of using just windows, and I got Nano and Vim mixed up. I realized my fatal error as soon as I saw, in stark contrast to Nano, the lack of a keyboard bindings cheat sheet at the bottom of the editor screen.

  • @ark5458
    @ark5458 3 года назад +27

    Thanks now i can't leave

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

    title: Vim in 100 Seconds
    also video: 12m long
    he couldnt get out of vim for next 10 minutes

  • @charitarthchugh
    @charitarthchugh 3 года назад +4

    I like this beyond the 100 seconds approach. Please do more!

  • @frz_akbar
    @frz_akbar 3 года назад

    I am more comfortable using:
    home / end button to change the cursor position to the end / beginning of the line,
    ctrl + right / left key to change the cursor position to the beginning / end of the word

  • @gesprengt6561
    @gesprengt6561 3 года назад +11

    I wouldn‘t mind him not talking for 4 minutes about moving the curser

    • @linkndark
      @linkndark 3 года назад +6

      Exactly. He lost me at this point. I don't really see the benefit of VIM after watching this video, apart from running it in the shell to code on a remote system via ssh.
      I mean, I would get it if the argument was like that he just prefers the experience of using VIM. Like some (including myself) like to listen to music on vinyl. But I don't see how VIM could increase my productivity. I hardly use my mouse in editors like VS Code.

    • @MrChickenpoulet
      @MrChickenpoulet 3 года назад

      ​@@linkndark yep unfortunately not a "great" video about vim, I guess :D a lot of great features yet not complex could have been shown (ciw, ca" { } ...).
      I'm not convinced someone that is not using Vim would want to discover the tool more after the video!

    • @DavidBrown-bs7gg
      @DavidBrown-bs7gg 3 года назад

      Yeah, he didnt sell it very well

    • @byakka
      @byakka 3 года назад

      @@linkndark I chose vim because of the way it treats edits as transactions. If I tell it to change some text I can be sure I won’t accidentally lose some closing parenthesis or a semicolon or something like that and that gives me confidence. With other editors unless there’s a linter in place I often feel like I have to double check my work before moving on.

  • @GaetanAlmela
    @GaetanAlmela 3 года назад

    instead of
    `:q!` use `ZQ`
    `:wq` use `ZZ`
    also worth mentioning:
    `o`: new line below, puts you in insert mode
    `O`: new line above, puts you in insert mode
    `.`: repeats the last action you did

  • @fabioramatis2373
    @fabioramatis2373 3 года назад +3

    I loved vim for so long to abandoned and use emacs full time

  • @just-mees
    @just-mees 3 года назад +1

    I just love keyboard only apps

  • @Growlboy1986
    @Growlboy1986 3 года назад +18

    Neovim (Vim) is by far the best editor ever existing!

    • @dominikm1457
      @dominikm1457 3 года назад +1

      Vscode with the VIM plug-in is also great.

    • @SamualN
      @SamualN 3 года назад +1

      even after getting over the barrier to entry of learning vim, I still feel more comfortable using regular controls in VS Code
      I will happily use (n)vi(m) if I only have access to a terminal though

    • @TheEnde124
      @TheEnde124 3 года назад

      What's the benefits of using neovim over vim?

    • @vspecky6681
      @vspecky6681 3 года назад

      @@TheEnde124 One big difference is that NeoVim has support for Lua plugins inbuilt. Vim does not have the same inbuilt, iirc you need to compile Vim with a certain flag to enable lua support.
      Other than that, Neovim uses ~/.config/nvim/init.vim instead of ~/.vimrc
      There's mostly no difference in functionality to an end user. Keybindings are the same, config directives are the same, etc.
      I personally use NeoVim.

    • @jackkendall6420
      @jackkendall6420 3 года назад +1

      @@TheEnde124 Its default settings tend to be more sane and less obtuse to modern users. Vim tries very hard to keep the same experience as back in the 90s, so you need to change a lot of settings to make it user-friendly in 2020.

  • @JohnSamuel-iy1lf
    @JohnSamuel-iy1lf 5 месяцев назад

    Fireship's ability to teach me things in minutes the same thing I've learnt over years of trial and error only makes me conclude that there aren't enough good souls that could make you a manual of "how to get to speed" on any given tech topic.

  • @EidosGaming
    @EidosGaming 3 года назад +18

    I tried to get into vim multiple times. The thing is, I'm way too used to VS code default editor, and I feel I would have to relearn a lot when I can already do very powerful stuff with the default editor (multi cursor, copy paste lines, replace all instances, etc)

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

      I’ve tried the VSCode Vim plugin, and to be honest I wasn’t impressed. IDEAVim is spectacular and works very well with the IDE. It even properly emulates Vim’s asinine regex syntax instead of just sticking JS regexes in vim commands. Yes, the syntax is objectively horrific, but I’m used to it, so the VSCode plugin tripped me up every time.

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

      EidosX
      I was like you, I knew Atom code editor inside and out, used it over 4 years...
      But after what happended to Atom, I decided to jump into VIM.
      You will see my point of view when VS Code will disapear and go under in the future...
      You will be in my shoes and see how it feels, and then you will get it why people learn VIM.

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

      That's true. Only way to properly learn vim is to say "fuck it" and strictly use it for several weeks.

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

      the replace all syntax is pretty terrible, but copy-pasting lines and multi-cursor usually end up faster once you're used to the keybinds. I have keybinds set up to automate the shitty search-replace syntax, it's bound to "s" to replace the current word across the whole file.

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

    Quitting without saving and with saving being so similar, shivers my timbers.

  • @apollowellstein188
    @apollowellstein188 3 года назад +13

    I have yet worked with a coder who spends the majority of their time with their hands glued to a keyboard. Often times, it's best to take breaks to get better inspiration, or to not get stuck in a rut. Plus with most coding cycles, it's not about how fast the code is written but how well it is, so just because you're glued to your keyboard and you're pumping out code fast doesn't mean that it'll be good code.

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

      Vim exists for efficient coding; not fast coding.

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

    I swear this video was only 100seconds long, but then the dude came up and magically the duration increased

  • @crispyrice
    @crispyrice 3 года назад +9

    That extension is amazing. I only used the basic vim commands for when I needed to edit a file as sudo. Now I can use them in my main IDE too

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

      Install nano. Nobody should have to suffer vi/vim.

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

      @@crackwitz it's about having consistency in your keybinds. If I know how I can find and replace or multiselect in vim, I can do it quickly in every text editor that supports it

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

    one mode I like is replace mode using the 'r' key, since I can copy some code then use replace mode to make slight changes rather than repeating backspace.

  • @ark5458
    @ark5458 3 года назад +22

    still can't say if he said "i am your god" or if he said " i am your guide"

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

    VIM must've been made before they invented user experience

  • @loldoctor
    @loldoctor 3 года назад +4

    I just started learning to code a few months ago and I always wondered why sometimes my VS Code would let me type and other times it wouldn't. Turns out the Vim extension was installed somehow, I have no idea how.

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

      Vim and all its emulations are malware.

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

    The creator of VIM Bram Moolenaar sadly passed away earlier this month.
    iR.I.PEsc:wq

  • @brilliantchicken4873
    @brilliantchicken4873 3 года назад +26

    these videos are my crack

  • @idkwhatnameilikewhy2236
    @idkwhatnameilikewhy2236 10 месяцев назад +1

    Notice how in the example at 2:43 he types noticeably slower in the non vim example?

  • @fasihussaini8554
    @fasihussaini8554 3 года назад +20

    "Now like any good developer we need to copy and paste code from stack overflow"
    Me : Oh yess ! Thanks for complementing I'm a very good developer. 😂

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

    Back in 1995-96, Linux (Slackware) came on a magazine cover CD with essentially no instructions, and I had essentially no *nix familiarity. It took a week to find the command to delete a file, indeed I'd managed to get X running (back in the days of Xconfigurator and a text config file of scan frequencies and so on) before that. My original solution to getting stuck in vi was Ctrl-Z to put it in the background (I discovered this via the ubiquitous mash every key algorithm). Then trying to exit the shell caused an error 'jobs still running'. From that I guessed the command 'jobs', and later via 'man jobs', I discovered 'jobs -l' and then 'kill -9', and finally I had an effective way to get out of vim. Years later, when there were tutorials on the net, I took the time to learn it properly, and now, along with VS Code, it is my main editor.

  • @jonathanpritchard6464
    @jonathanpritchard6464 3 года назад +11

    Another unmentioned perk of vim (and other terminal based editors I suppose) is being able to easily edit files through remote sessions. This is invaluable for doing maintenance on servers. I have a bunch of different headless raspberry pis on my home network and a few different friend's networks that I administer completely through my terminal.

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

      I respect and admire those who’ve put in the time to learn vim… but any good IDE has remote debugging/SFTP editing built in. For the rare occasions I haven’t had an IDE to hand, nano gets the job done with almost zero learning curve 🙃

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

      @@rcnhsuailsnyfiue2 It has its limitations. I mostly use VSCode for my job editing code on a remote VM since I have to have a bunch of different files open at the same time. Vim keybinds are still nice though.

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

      @@jonathanpritchard6464 I’m spoiled by JetBrains, but appreciate everyone has what works for them 👍 What’s your line of work?

  • @barmetler
    @barmetler 3 года назад +1

    Just wanna say that "ZZ" in normal mode is save and exit, and "ZQ" is exit without save.
    No need to go into command mode for that

  • @XDjUanZInHO
    @XDjUanZInHO 3 года назад +4

    I don't really see a point to use the vim (emulation) extension when there's a neovim extension that has a complete neovim in the backend.

  • @willd0g
    @willd0g 3 года назад

    Thank goodness I learnt about the key repeat - cheers for addressing that first in the beyond segment

  • @chektek
    @chektek 3 года назад +33

    I feel like in 2021, using Vim says "I started coding before you were born"

    • @Zeioth
      @Zeioth 3 года назад

      I used to think that too. Try it and most likely you'll be surprised how much time (and machine resources) you can save.

    • @byakka
      @byakka 3 года назад +1

      I scoffed at vim for years before I decided to watch how people actually use it. When it finally clicked I felt that it’s kind of crazy that its way of working with text didn’t grow beyond just one editor. Turns out vim is actually good enough for other editors to be converted with plugins to behave like it.

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

      @@byakka Or its because they want those developers to start using it, and having an extension that accomplishes that is beneficial.

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

    Rather than starting by creating an arbitrary amount of empty lines, just learn the ‘o’ key to insert a new line and enter insert mode. and learn ‘dd’ to delete the current line.

  • @combustionFreeEngine
    @combustionFreeEngine 3 года назад +3

    For some reasons i find vim editor is a bit harder to use than other editor but i really love its key bindings feature. Vscode + vim key binding = AWESOME.

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

    Back when i was studing SO management when a teacher asked to send a screenshoot of the cat of an output or an edited /etc file to correct our absolute messes, i learnt fast that sending an screenshoot of a file open on Vi instead cat, earnt easy points with them.
    I was reluctant to swap from nano to vi until my eyes started to get tired all the time, so i used vi for the silly reason "it has colors" and little i knew that it was quite a legitimate reason on the big picture.