i tried Vim...

Поделиться
HTML-код
  • Опубликовано: 20 сен 2024
  • ... it was not pretty. Here's my video documentation of one of the most difficult things I've done this year.
    ▶️My recent tests of M1 Pro/Max MacBooks for Developers - • M1 Pro/Max
    ▶️ Is M1 Ultra enough for MACHINE LEARNING? vs RTX 3080ti - • Is M1 Ultra enough for...
    ▶️ GPU battle with Tensorflow and Apple Silicon - • GPU battle with Tensor...
    ▶️ Python Environment setup on Apple Silicon - • python environment set...
    ▶️ Apple M1 JavaScript Development Environment Setup - • M1 MacBook JavaScript ...
    ▶️ Apple M1 and VSCode Performance - • Apple M1 and VSCode Pe...
    #vim #vscode #programming
    💻NativeScript training courses - nativescriptin...
    (Take 15% off any premium NativeScript course by using the coupon code YT2020)
    👕👚iScriptNative Gear - nuvio.us/isn
    - - - - - - - - -
    ❤️ SUBSCRIBE TO MY RUclips CHANNEL 📺
    Click here to subscribe: / alexanderziskind
    - - - - - - - - -
    🏫 FREE COURSES
    NativeScript Core Getting Started Guide (Free Course) - nativescriptin...
    NativeScript with Angular Getting Started Guide (Free Course) - nativescriptin...
    Upgrading Cordova Applications to NativeScript (Free Course) - nativescriptin...
    - - - - - - - - -
    📱LET'S CONNECT ON SOCIAL MEDIA
    ALEX ON TWITTER: / digitalix
    NATIVESCRIPTING ON TWITTER: / nativescripting

Комментарии • 430

  • @AZisk
    @AZisk  Год назад +165

    Only @ThePrimeagen can make it look so easy.

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

      Very true, he's a master. I've switched to neovim about 2 years ago and it was a process to get used to it but now I couldn't go back. So much so that when building a custom keyboard I install a custom firmware that is inspired by neovim: my arrow keys are hjkl system wide and I also use YXP instead of the usual copy/cut/paste. But I can also understand that investing for switching to a different editor is not in everybody taste.

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

      When I saw the headline with Vim, I was so sure you have watched ThePrimeagen's videos... Did you noticed, that Vim is BLAZINGLY FAST? No? Neither do I :-)

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

      Neovim is better to start.

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

      @@semikolondev Yeah more sensible defaults than vim

    • @AlexNiebla
      @AlexNiebla Год назад +4

      You should have installed NeoVIM

  • @briansrensen6603
    @briansrensen6603 Год назад +283

    Very fun video. I'm a Vim user for 10+ years and have tried switching to VSCode, but with the exact same arguments I gave up, and returned to Vim to get my job done. 🙂

    • @AZisk
      @AZisk  Год назад +76

      So THAT'S how the other side lives :)

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

      VSCode has a Vim mode where it pretty much acts like a Vim editor

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

      @@casperes0912True, and other editors like Atom also has Vim mode or Vim bindings. But there is always something that's not exactly as I'm used to and If I just turn the other editors into Vim then I don't know why I'm switching anymore. There are also a ton of extensions to Vim to give it functionalities like VSCode, Sublime or Atom. I have more or less just accepted that it's not really worth the effort (or I'm too old to learn a new editor). 🙂

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

      @@AZisk For me Emacs is the other side. That feels so alien to me.

    • @emanuelturis4132
      @emanuelturis4132 Год назад +4

      @@casperes0912 it's never really the same thing, you can't modify VSCode to the core, so it's impossible to replicate the same workflow from vim. I also tried multiple times to go back in the past, but am now happy and muuuch more productive with vim.

  • @gekylafas
    @gekylafas Год назад +74

    vim user here for 25+ years. I really feel for you, man. Why on earth do you want to subject yourself to this steep learning curve? It would be months before you get to the same productivity level as you are now. AND, BEWARE! If you do persist and vim commands become engrained into your muscle memory, there is no turning back! You won't be able to use another editor unless it provides vi-like key bindings. I know I do. I have installed Ideavim in Intellij/Android Studio and enabled Vim Mode in Xcode, otherwise they are completely unusable to me. And of course when other people see me editing files using just the letter keys, they think I perform magic. But as I said, 25+ years. My advice to them, and to you, is simply "don't". Or do, but you have been warned...

  • @josephizz4877
    @josephizz4877 Год назад +22

    Vim in 100 seconds was right over there

  • @Alex-jv6ye
    @Alex-jv6ye Год назад +80

    As a person that uses vim pretty much exclusively for development, I’ll say it is definitely an extremely steep learning curve, 5 years of vim and I’m still learning new features. That being said, once you’ve mastered it, there really is nothing that competes. When you add tmux into the equation, you can’t be stopped.
    To answer your question about why not use arrow keys, it’s because you have to move your hand, loss of efficiency, definitely took me a couple years to get used to.
    I think what a lot of people don’t realize though is the super powerful search/replace and copy/paste capabilities between files. There are also tons of plugins that add a lot of features, and most importantly it is super helpful for headless development. It’s powerful and fast whether you are on a MacBook, a raspberry pi, or even another system on a super slow connection.
    That being said, if you are developing front end stuff, it’s probably not super useful. If you are developing C#, visual studio is definitely the best option since the intelligence can nearly write the code for you. However, if you are doing embedded development and you know how to use a keyboard, then vim is definitely something worth taking the time to learn.

    • @AZisk
      @AZisk  Год назад +21

      Thanks for breaking it down like that by dev roles - would have been a great addition to the video.

    • @TJ-hs1qm
      @TJ-hs1qm Год назад

      the og vi can be traced back to ED a single line editor. the hjkl keys are part of that history and the hardware that was available back then. nowadays with relative line numbers and the f key I rarely use arrow keys.

    • @TJ-hs1qm
      @TJ-hs1qm Год назад

      on the computerphile channel there is a great episode on how the grep command came about and the limitations they were facing.

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

      *_"That being said, once you’ve mastered it, there really is nothing that competes."_*
      I'm very skeptical of that. I've watched quite a few videos of Vim, trying to figure out what is it that Vim does so much better than other editors, but so far all I could find was people overselling features that also exist in Sublime, or things that Sublime can do just as easily, or in many cases even easier. Probably VSCode can do all of it as easily as well.
      A lot of things people say about Vim are myths, too. The notions that using the arrows or the mouse affects productivity are myths. The majority of work time is not spent typing text, but thinking, reading, etc, so at the end of the day whatever microscopic advantage you may get for not using arrows or mouse, or from using feature X or Y, that won't matter at all. That is if there's any advantage at all. In other editors you also gain time for using shortcut keys instead of typing colon->command. Clicking something might also be faster in many cases. And it doesn't take months or years of getting used to.
      (I do a lot of typos, so, personally, using commands is a nightmare to begin with.)
      *_"That being said, if you are developing front end stuff, it’s probably not super useful."_*
      Indeed that's what I've started suspecting, that Vim is only useful in specific situations for certain people. But most people who talk about it don't seem to realize that.

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

      The thing which is not exist in any editor and it’s really was the main reason I have installed vim mode in VSCode is a visual blocks editing.

  • @laughingvampire7555
    @laughingvampire7555 2 месяца назад +7

    "how is this different from nano" it felt like an insult

  • @jamesburgess9101
    @jamesburgess9101 Год назад +32

    LOL -

  • @EusebioResende
    @EusebioResende Год назад +18

    Interestingly I recently switched from VSCode to VIM/NeoVIM. It takes time and patience to get productive in VIM but once you master it.... man, you can flyyy! Sorry it didn't work for you. Cheers!

  • @zenbum2654
    @zenbum2654 Год назад +20

    Thanks, Alex. I have to admit I enjoyed watching you suffer. And I admire your stubborn determination. After 40 years of using vi and its descendants, I sometimes forget how baffling it all is to newcomers. For better or worse, hjkl and all the other keystrokes long ago became permanently burnt into my muscle memory. I'm exactly the opposite of you: I get confused by arrow keys.
    For someone who is a blazingly fast touch typist, learning vim will probably increase their productivity. But, honestly, for most people, it won't be worth the effort. If you're comfortable with vscode, I highly recommend you continue using it.
    For me, when I first discovered vi in about 1981 or so, it was a huge step up from the line-oriented editors I had previously been using. But there were no such things as GUIs or mice at that time (unless you worked at Xerox PARC). I'm sure if something like vscode had been available, I never would have bothered to learn vi. You have a finite amount of time in your life; invest it carefully.

    • @dr.mikeybee
      @dr.mikeybee Год назад +2

      I remember the terror of discovering that there was only the ed line editor on certain machines.

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

      @@dr.mikeybee I can't say I've been there because I always had vi or emacs available on the Unix machines where I worked in the 90s. But, yeah, I can imagine the horror.
      I like Ed for small fast jobs and would be very frustrated having to use it only.

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

    Recently started using VIM. Definitely took some pain but getting faster by the day. noticed whenever i had to use a IDE for work, i started accidently using VIM keybinds, so i feel like its improving.

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

      It only gets better, especially when you start scripting vim.

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

      How far along have you come? Tick tick it's been 9 months

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

      @@nihancj unfortunately... nowhere 😂 i need to somehow integrate things like this in my daily tasks, else i will eventually start forgetting to use it... i'm weak

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

    I first tried vim in February. I hated it and went back to vscode. But then 3 months ago i realised that i had created so many shortcuts for my vscode, and i wondered if there ways a better way. So at the beginning of this month, i started using vim (neovim)
    It was a very steep learning curve and a lot of things to configure. But i now can't work without it. I can go for 3 to 4 hours without touching my mouse once.

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

    Im a DevOps engineer and im using both vim and VScode. VScode is nice to work on projects. And vim is great to edit one-two files in terminal, especially on a remote computer.

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

    I have been working as a backend developer for about 4 years, and I use vim on my day to day work.
    it didn't happen right away, it happened gradually:
    from simple commands => combinations of commands => custom keybindings => custom vimrc settings => plugins => custom plugins
    it sure does have a steep learning curve, I remembered I had to reference a vim cheatsheet all the time and work progression that day is like 10% (had to switch back to vscode to get some things done)
    but after investing time learning, coding feels like a game and is just, fun.
    besides that, it had lots of pros too:
    1. vim keybinding are used in a lot of cli tools: less, more, w3m, git (diff|show|log --oneline), bash vi mode, tmux, etc...
    2. you will get better at the command line (filters, use code to write code, which is also fun and efficient)
    3. no extra gui programs to install, better performance (no gui eating up your ram)
    4. it's been around for like 30+ years (stable), don't have to worry about being "sunset" and forced to learn a new editor (you know, like "Atom", how do you know vscode won't be the next Atom?)
    5. it's just cool
    so why not? learn vim😎

  • @Greenmarty
    @Greenmarty 4 дня назад

    Late to the party but for the future reference: It's good idea to start with vim plugin in your favorite editor/ IDE and set keyboard to toggle it. It's usually one of the most popular plugins with millions of downloads. Plugin makes the transition smoother or/and transfer the basic effectiveness of vim motions to your favorite editor. It also often comes with vimrc config file so one can modify plugin's behavior like real vim.

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

    VIM is installed if you open the terminal... Vi was great 30 years ago back when everyone used Elm for email... there are much easier options today. But I LOVE this video :)

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

    I love vim. But I sadly often need to switch between editors based on my project requirements. What I've found interesting is that on specific keyboards where I've used vim the most I naturally fall into those vimbindings without thinking about it and it is frustrating when things don't support them.
    The other thing is I've gotten a bit of RSI from using my mouse so I try to keep my hands on the home row as much as possible

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

    I use Helix, which is like vim, but with different bindings, and more features out of the box!

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

    Love that you run the exiting Vim joke right away Alex xD

  • @maxz999
    @maxz999 Год назад +4

    Great video! I love that you gave it a chance and thought you were extremely fair.
    I enjoy using Neovim when I can. I am not realistically able to use it for work due to the projects I worn on, so I have the vim extensions installed in both Visual Studio and VS Code. This works pretty well for me since I am still able to use most of the things I like about vim even if they are a bit sluggish.

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

    In university labs we had to telnet into Linux sever and do everything in cli and vim. Only programming in c or cpp. The black screens laid my foundation and now I appreciate visual studio a lot more. But if someday doom comes and a terminal is all I have , I will survive 😂

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

    Use NVim or NeoVim is more cutomizable - you can customise your IDE of choice as code interpreter in it . Vim is also nice . The Primagen is a guru in VIM

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

    Great on your part to give it a try! I started using VIM 6 months ago and have never looked back. The issue here is that VIM in itself will never provide you the same experience like VS Code out of the box. You will have to create your own config using plugins like coc and tree-sitter for code completion and syntax highlighting (also for file browser). But I understand the sentiment of getting work done since the learning curve is so huge that you will need extra motivation + time to invest in it. If you don't have that now its ok, maybe sometime in the future you can try again. But its a great one time investment 👍

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

    I've been using only Vim for text editing since October 2019. I started by forcing myself to use it. I read a few blogs and seen a few videos to get started. To this day, I have to admit I still use the arrow keys for navigation. But, once I knew how to get into Insert Mode and out of it, it was like using NotePad. From then on, I started to learn the motions and the different keys used in Normal Mode. Someone even said that learning Vim is like learning a musical instrument. You get better every day. I don't have to move my right hand all the way to the mouse for editing text.
    After getting used to the Vim way of doing things, I immediately installed Vimium; a plugin for Chromium-like browsers that uses the keyboard and has Vim-like motions to move around the browser.
    Finally, I try to install a Vim plugin everywhere!
    I hope you give Vim another try!

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

    Nice video!
    I have done the vimtutor followed by Drew Niels Practical Vim
    Once you get used to doing things the vim way, everything else feels more awkward than your ear scratching analogy
    You have to invest time to learn how to use the tool, but just like a chef chopping an onion without even looking,
    Vim enables you to do precise cuts of text just by thinking about them.
    Sure you could chop an onion a million ways, but the most efficient one takes upfront investment to learn the proper tools.

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

      thanks. the chef using a knife is a great visual!

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

      Vimtutor followed by Drew Neils book is the route I would recommend to someone starting out, too! The book is excellent. You can dip into it and learn a few tips every day, it only takes a few months to build up a really good knowledge.

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

    I've been there before, tried multiple times to learn Vim before but couldn't stick with it, until recently.
    I got tired of having to move my hands all the time to reach the arrow keys on my keyboard and decided that it was time to finally give it a real try.
    It was weird at first but by allowing myself to slowly learn bit by bit and making adjustments as I go, I finally managed to be able to use it daily, with the plugin for VSCode. Which like you said, gives you the best of both worlds, the GUI from VSCode and the movement from Vim.

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

    Tried Vim 30+ years ago. Managed to get the Emacs config file edited so I could install Emacs on my Sun Solaris SPARCstation, then never touched Vim again. Loved Emacs. My fingers still remember a lot of Emacs key sequences, which also work in some other environments. Favorite environment: Xcode. One I use now: PyCharm (wonderful). But best ever was the Xerox Interlisp-D environment; the editor understood Lisp structure, and was also the interface for the debugger. Editor, debugger, interpreter, all in one (sadly it is long gone, as is my youth).

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

    It was very interesting seeing someone's perspective as a beginner to learn Vim. I think that given maybe a month or two, anyone could code faster with the Vim motions

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

    I use Vim as a Plugin with intellij for 3 months. And I totally got used to it. I love it and I found myself more and more using Vim instead of my IDE

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

    I'm a fullstack Javascript developer, i use vim every day in my job. I have everything i need, i don't miss anything from other IDEs.
    I say this because i want to let people know that you can use vim as a full development environment successfully.
    It has a very steep learning curve, but once you pass the beginner pain, you will never come back to a "normal" editor.

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

      Yes, "normal" editor are such a pain in the ass to use when you're used to the power of vim.

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

    Yes, I use Vim. There is one primary reason for me, and that is you can access and edit files though a login session to a remote server. There are secondary reasons like not having to reach for a mouse and access to shell comands. It is a steep learning curve, but it has the powers; stange powers.

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

    WOW! You exited vim easily. You are the quickest vim learner in the world.

  • @enic-ma
    @enic-ma Год назад +2

    I've been using Vim for 14+, I started when I was at Uni, at that time we didn't have all the plethora of editors that we have today! It's amazing to see so many people using Vim despite how hard is to start using it, it's not very user friendly at all, but if you learn it, you will see the benefits later, It's like start a RUclips channel, it's hard but you will see the result later! ;)

    • @dr.mikeybee
      @dr.mikeybee Год назад +1

      In the 1980s I worked on Unix systems that only had the ed editor. Then vi was a big step up. Then came vim. So of course I learned all the key combinations. Now if a modern editor doesn't have vim functionality, it's slow going. These days I use VSCode with vim emulation. I'm happy to use vim alone a lot of the time, but VSCode has Copilot, linters, and a debugger which are all amazing.

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

      @@dr.mikeybee that's nice. But why haven't you added that functionality to Vim? It's a doable side project.

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

    Been there…tried vim (because I saw a fellow developer flying across the keyboard developing and angular app). What I learned is…I like VS code…and I am ok with that. To those that use VIM, I salute you…but just because you can does not mean you should 😮

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

    As a 10+ years Vim user I can say this was hard to watch, and it pretty much is an exact replica of me 10+ years ago wondering what was going on. Vim does really require some prior research to understand some of the concepts of modal editing before getting into it. That said, I couldn't imagine myself not using Vim nowadays, it's like an extension of my hands at this point.

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

    VIM is not about getting things done, it's about slacking off. If your boss asks you "why didn't you do anything today?" you just reply "I used VIM."
    Btw there is a better VIM for macOS, it's called MacVim. You should check it out. Also NeoVim is pretty cool too.

  • @0x007A
    @0x007A Год назад

    The key to using vim is learning a few basic commands at the outset and mastering them before learning another group of commands.
    1. How to exit the text editor
    2. How to insert text and delete text
    3. How to move to the beginning and end of a buffer
    4. How to move to the beginning and end of a line, and move forward and backward between "words"
    5. How to copy one or more lines and paste those lines elsewhere in the buffer
    6. Keep learning based on your requirements, not every command supported by the text editor

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

    "You should be able to work on multiple files" I mean, you can, but you're also talking about a text editor that's been around longer than the advent of cursor keys, which is why the default movement keys are H, J, K & L, and I do use Vim. I relearned it this past Summer after about 20 years here, when I decided to pick up BASH scripting again (same timeframe).

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

    Wise man said: one uses vim not to be the fastest programmer or typist, but to have fun invoking all those combos. Speed will increase over time, but it's not the end goal. It's a choice between boredom of getting stuff done and fun of getting stuff done with style.

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

    Same for me, it's a matter of getting work done. I'm sure Vim could make me faster after months of learning, but it's hard to find time to invest that sort of time and slash my productivity a ton for a substantial amount of time. Then again, I felt the same about Typescript vs JS, and now I'd never pick JS over TS for a project again. But I suspect the learning curve there is still way less steep than for learning vim :D

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

      very true. TypeScript still sometimes feels like more work than it has to be, but in the end I’m way happier with the code I write than just pure Javascript.

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

    "I have to use the j k keys to move up and down??!?! why not just the arrow keys?!??!?" as a vim/nvim user this is hilarious, why not? that's the right answer. I think that something new vim users need to understand is vim's philosophy of never having to look down at the keyboard nor move your hands from it. When knowing the basics, you could theoretically keep your wrists super glued to the desk and everything would be more than possible with vim/nvim.
    Awesome video Alex!

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

    ESC+:+q+Enter.
    This one rule can save lives.

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

    I can't describe how _difficult_ and also unsatisfying it is to write code in anything else, after you've been using vim for decades. Just a ton of `'jjjjkkkkkkhkkkkkkkk` ever time I go to do anything.
    That said - I almost never recommend it to others. Use what you like. Vim is really really difficult. Similar to learning to type all over again. It's also highly personal, requiring a great deal of configuration and customization.
    For those who have seen the power of vim, and want to dip their toes - I usually recommend the vscode plugin that you used. Another option, is `helix` - a vimlike editor written in rust. Helix feels like vim with a great starting set of config and plugins. Also print out a cheat sheet and put it under your monitor or keyboard.
    History on some keys - the arrow keys _used_ to be alternate keys on jkl;. Escape also used to be around where tab is. Most vim vets have moved away from reaching for escape. They either map Caps Lock, or like I did for years Ctrl+[ - which sends escape, or finally - what I currently use - jk. It is very rare to need to type `jk`, and since those are home row - makes for a great Insert Mode -> Normal Mode switch instead of escape.
    Finally - once you know vim bindings - you actually find them used everywhere in linux. Especially cli.

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

      thanks for sharing

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

    Tester here. Also forced to work with vim especially on the devops part...
    On some of our Linux based machines only Vi/vim is available. We don't have anyone to do the devops stuff so it's up to us to maintain everything so.. vim it is.
    I still feel like I just use basic navigation for editing, and google lots of things for it.
    Mostly because it's not my absolutely everyday editing tool, my experience is not enough to be a keyboard vim warrior.
    Also the dev/team manager loves it so no changes in nearest future i guess

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

    I ‘ve started with vim for my ruby projects some 10+ years ago. I switched to Elixir and editor remained the same! All workflows I had with a little config changes remained.
    It’s not easy to start, but for backend development it is worth

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

    I "needed" to learn vim. I wanted to develop stuff but only had an iPad with the shell "iSH". My setup was scuffed as heck: My Up/Down Keys were broken so I needed to use the ones onscreen; I didn't know about multiple file editing so I just closed and opened files with ':x'; My build times were horrendous; But I still managed to code something in the end and now helix, an editor similar to vim, is my main one.

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

    Being (essentially) a FreeBSD variant, Macs ship with vim already installed... no need to do that separately. For me, using vi-then-vim has always been related to minimal hand movement. Using letter keys for navigation was never because of the absence of arrow keys, so much as it was about the how inefficient and slow it is to move one's hand back-n-forth away from the home row just to be able to navigate text. Not quite as bad as using a mouse, but still... a pointless speed-bump. Unless...
    I can see using the GUI version of vi / vim for some (though certainly not all) cases involving copying and pasting text. If one normally works with text that (for whatever reason) involves a "need" to drag-select text for copying.

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

    I live in vs code + vim extension installed. It’s incredible, love it.

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

    Congratulations! You successfully quitted VIM the first time you opened it! I had to restart my session with Linux to quit VIM when I used VIM for the first time.

  • @vikingthedude
    @vikingthedude 19 дней назад +1

    I did while i was unemployed. No way could i have done it otherwise

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

    A key point: Vim is not a binary "you either fail or enjoy" thing.
    When I first got vim introduced / saw from a friend at university. I remember I tried it, he kept saying all good things about it and ended up like you here - thinking "okay just lets use some editor or IDE and get work done"...
    But guess what? Years later somewhere it was stuck in my mind "it would be great if I learn this properly" and was on a project where heavy text manipulation and non-trivial refactors were a thing. First started using vim in that space, then because I was already on linux anyways, then I installed it in every IDE as a plugin, then I don't even want to use IDE anymore just text editor and terminal and much more productive.

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

    Neovim user here. I wa so happy on VCode on 2020 I changed my old intel Mac for a M1 Mac mini. When the pandemic ended I found my self without a laptop, so I bought an iPad, since I wanted to get things done while on the move I set up a remote environment, now I connect to my home Mac from mi iPad using Tailscale. But if don’t get vscode on the terminal, my only alternative ended up been Nvim, so put the time on it, it was paint full at times, but now Neovim is my default code editor, I have everything I need, code competition, syntax hilglihting, intelligent code navigation. And I move really fast on my code, compared with vscode, probably because VS is so easy to use that I didn’t give the time to learn to move really fast.

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

    Five years ago, I had no experience with programming. However, I decided to learn Python after trying to solve a complex problem using Microsoft Excel, which kept crashing. If I had managed to solve the problem with Excel, I probably wouldn't have learned programming! After successfully using Python to solve the problem, I invested a lot of time in learning programming with Python, JS, and other frameworks.
    The moral of the story is to learn something new only if you can see an immediate and tangible benefit. Otherwise, you might give up after encountering a few obstacles. As for Vim, I don't see any immediate or tangible benefits, other than using keyboard shortcuts. Nonetheless, I try to use keyboard shortcuts as much as possible in everything I do, not just coding.

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

    I HATED vim for about 2 weeks but I committed to stick with it. Now, 15 years later, I can't stand any other editor. Vim has a learning curve, for sure, but it has Earth shattering power, too. Consider giving it another try, maybe working on it 1 hr per day or something. It will grow on you, believe me.

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

    The reason to use Vim over VSCode is the keyboard shortcuts. After you have all the short cuts memorized it's faster.

  • @OffroadTreks
    @OffroadTreks 6 месяцев назад

    So I found the Keyboard is actually faster when coding, but had the same challenges with VIM, but I really liked a lot of the vim motions, which make you faster than your mouse. The jumping to the begging of words end of words, inside brackets, etc. I found the best of both words, there are vim motion plugins for VSCode that let you do the jumping around with the keyboard.

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

    I use Vim (Neovim actually) all the time and I love it. I used Sublime in 2014, switched to Vim in 2018 and stuck there. I've tried atom, Vscode, Brackets, Dreamweaver (sucks), intelliJ, etc. but oh boy. All of them had one problem, and that is SLOWWWWWW at start. And also I believe whatever program makes anyone comfortable he/she should use that.

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

    I use it occasionally when I'm on a terminal over ssh, I only know the basics so I don't suffer, and I can get simple things done. For anything more complex than simple edits I use vscode over ssh. I've had a friend who could navigate in between files, split the viewport, and actually work efficiently with it, but I like vscode, mouse is not my enemy.
    I like vim and I respect it, you can easily record and playback macros and all, but I rarely use it.

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

    "He is using an IntelliJ plugin that simulates vim?"
    Vim-Plug: Welcome, nice to meet you.

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

    I code since more than 30 years ... used a lot of weird editors ... but never got used to vim - I always hated it when I tried!
    Always thought: What's wrong with me?!?
    Thank you so much for this video!
    😉
    Honestly, I kind of use only two fingers to type - and still I'm typing faster then I'm able to think my code ...
    ... so if I have to move my hand a little to reach the cursor keys is really not my problem 😝

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

    "I tried Vim" now do it again for 10 times then you'll start getting the juice

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

    I use the vim plugin with vscode. I love it

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

    Vim is great for masochistic coders or if you are working on a server and there is no GUI; VS Code all the way.

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

      It certainly feels that way at the beginning.

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

    Back in the day terminals did not have arrow keys. I use vim in VSCode. Saves you a lot of time copying lines, deleting and replacing words, and finding words. Also great to delete lines, undo -re du

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

    I decided to learn vim before I even started working. I took the time to do it properly. I just focussed on that for a month. Watched all the tutorials, installed all the plugins I wanted, set up a bunch of custom key binds etc etc. By the time I started my first coding job I was already proficient. I would never be able to invest time like that now that I'm working properly but I'm sure glad that I did it back then. It's probably saved me 20X that time over the years.

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

    That was very intertaining. Thank you so much.
    But when you've mentioned pressing F12 to go to declaration -- oof-badoof, what a hustle. Space+gd is way easier. Vim allows that.

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

    "We have no time to sharpen the Axe - we have to cut treeees!!!"

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

    Been Vimming for 20+ years and it is very hard to use a non-modal editor, selecting lines seem to hurt

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

    The question is, does vim really make you code faster without a "graphical" UI?

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

    I'm left handed, I love VSCode, don't use Vim, but I learned to do a LOT of things with my right hand that I cannot at all do with my left. It saves me a lot of time. It's still just using one hand though.

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

    The only reason for a new user to come to Vim is if they have the time to put in the effort and learn at least the basics. Sure, you can be more productive with Vim, and if you use a language like C to develop with it'll be a better option than any IDE. Although, I personally refer to Vim as an IDE because it has all the functionality to be used as one and I certainly use it that way. If you can't devote the time to learn the basics, it'll never pay off. Expecting to be fully productive with it in less than 6 months to a year, is just not realistic. I've been using it for around 25 years now, and I still don't know every feature, but you can't beat tabs in Vim, especially if you bind keys the right way.

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

    Vim is awesome ... but the learning curve is quite nicely represented by this character: | You summed it up perfectly. If you can or if you're willing to invest the time, it's gonna be great. I think I know approx. 2% of what Vim can do but these 2% are the reason why I have it in arms reach. When I have to make a text-horse out of a text-donkey it's my tool of choice and I find it quite funny how my stupid brain manages to remember how to tell Vim what to do.

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

      So often I find myself watching myself use Vim.
      More than a few times, I thought the wrong command but did the right one.

  • @justin-rr2sw
    @justin-rr2sw Год назад

    I would suggest starting with a Vim plugging in your IDE of choice. For my work i use Rider and for alsmost a year i use IdeaVim. Just recently I started playing with NVIM and configuring all of it with plugins to create something i prefer. But that is more of a hobby project in the evenings.
    Just the vim layout even with other IDE's has helped my productivity hugely. The way you work with commands to do stuff, and yes also navigating with hjkl, is becoming more natural. You do definitely need to learn to type efficiently with all fingers.

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

      I have a personal license and use rider with idea vim and its godlike with relative numbers, imo idea plus vim plugin is the way to go, unless you just need to edit files on server or basic text documents.

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

    I used vim for many years during my PhD. I was working on a cluster and vim, emacs, and nano were one of the few ways to edit files there (I prefer vim over emacs and nano). I have now almost completely moved to VS code (I still use vim for some quick edits ). I don't think vim can even come close to what modern IDEs can offer. And as you said, it's a tool and some people seem to be very obsessed with the tool for some reason.

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

      Well my reason is I'm weird and modern products specialize for the average person. Point and click, fake soothing advertisements, things are annoyingly done for you all the time... Vim is more open to many types of people. Except average people.

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

      Wonder what an ide offers you over a configured nvim setup, except mouse support

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

      @@druffel46 Vim does support mouse. Vim is a lifestyle, it's not much of a set of features.

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

      @@theodorealenas3171 oh ye it does, I know just not as fleshed out as vsc for example. Although you can argue if using a mouse in vim is even necessary

  • @oleg-medovikov
    @oleg-medovikov Год назад

    to fully use vim, it takes years of practice, rebuilt thinking. In a month, you won't even understand the idea of why vim is needed. the other editor I prefer is neovim.

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

    Vi (or vim) is not supposed to be a substitute of a full IDE environment like vscode. But it is a very powerful text editor that is always available on a *nix machine, no matter how you've connected on it, regardless of being on a gui or a terminal mode. It has endless capabilities hidden in those shortcuts, however its true power is that it is always there when you need to edit a configuration file or change something on the OS and you can always run it even if you have only a black and white terminal available.

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

    If you like using git in the terminal vim is the default editor.

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

    Nice video!
    I switched from VSCode to Vim because I thought I could do more and better with it, but it doesn't necessarily. The difference is how things are accomplished. In my experience Vim/Neovim accomplish them in a more productive way.
    The biggest win for using Vim was the knowledge I gained, it makes you know your tool and customize it to extract its full potential. There is where I think many VSCode users fail. I've seen them struggle many times with simple issues with the Git integration, linting, formatting tools... because it comes almost as a built in feature hence an unexplored world for them.
    Vim made me deeply understand how linting, formatting, diagnostics, LSPs work, etc... to the point that today I could develop a plugin for Vim and even VSCode.
    Vim learning curve is big not only for the muscle memory you have to build but also for the custom configs you have to add and change along the way but it is a high pay high reward situation at least for my experience.
    I think VSCode and JetBrains software are great tools depending on the things you are trying to accomplish I just prefer using Neovim, in the end you should go with the tool that makes you feel safe and productive.

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

    For all the great things about vim, I felt like rather than learning to program you end up learning vim.

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

    I switched from vi to emacs back over 30 year ago and never looked back.

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

    I mainly use VS Code for my undergrad work, but I am taking a course right now, Introduction to Systems Programming in UNIX, which requires us to program over ssh onto the school's linux machines and I have to use vim.
    I dislike it compared to VS Code, but I force myself to use do all my programming for that class through vim.

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

    I use vim/neovim for for almost two years now, aside from me being order of magnitude fater and more productive in vim it is FUN, i cant remember the lsat time a pulled out ant text editior/IDE and actually had fun performing tasks.
    That fact alone is worth the investment

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

    I used IntelliJ with the vim plugin for 2.5 years. Switched to neovim with plugins as main editor 4 months ago. Love it.

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

    Seems that escaping was not horibly hard. I will try it as well. So far I hold back because heard that it is almost impossible to get out of the Vim :)

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

      i already forgot how to do it 😂

  • @12kenbutsuri
    @12kenbutsuri Год назад +1

    I use vim. After a couple months, it becomes way easier than a mouse, I feel stressed using a mouse, and always end back in vim.

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

    I feel Vim users aren't aware of the invention of the mouse.

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

    The idea is that you don't need to move your hands around the keyboards. That's why you don't have to use the arrowkeys.

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

    Thanks for the Laugh Alex - been a looong time since I've seen a Windows user (Mac?) try to learn vi. LOL. BTW it's a piece of software written by Bill Joy in the 1970s and is great for editing text files with regular expressions. Other than that I no longer have a use for it. But if you're a UNIX admin you need to know it since every version of UNIX since the 80s has had a copy. I'll stick to Xcode or Visual Studio, for coding Thank you. Cheers

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

    Vim always coming handy when I stuck in the server, but if I in my personal computer, vscode is still good option(dont forget to install vim add on in vscode, hahaha)

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

    vim is installed out of the box on macOS, you actually don't need to use home-brew

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

    A good learning curve should be "easy to learn, hard to master". Vim is great at the guru level, but sadly it is "hard to learn, hard to master". IMHO adding Vim commands to an existing editor makes more sense in raising the "master"-level bar.

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

    it's kind of fun to see, beginners get frustrated using vim, and gives up.

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

    Without a good editor like Vim/gvim a computer is not a computer, installing vim is always the first thing I do, if someone else uses also that computer, I also install Notepad++ or Geany. Some coders prefer emacs... Use vim for bash scripting or small PHP or Python scripts or C code or Cobol or Assembler or Go. Use vscode for OOP like Java or PHP-Laravel or Python-Django.

  • @oliverpolden
    @oliverpolden Год назад +4

    Vim is great as an editor in a terminal. As that, it certainly is amazing. In a desktop environment it mostly cannot compete unless you are trying to do everything by keyboard. It can be good on the desktop for quick edits to config files. If you want to learn it then go ahead, it can be a very useful tool.

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

    The reason for HJKL is NOT for efficiency, it's simpler than that - the arrow keys as we know them didn't exist when vi came around. The terminal used by the original author of vi had four letter keys dubbed as arrow keys, you can guess which four.
    I use Eclipse and VS Code for proper projects, but I always install a vim plugin in them, because it just makes complex editing much much more efficient (none of them replicates all the behaviors accurately, though, but I can notice the improvements over the years). I wish I could list the most useful few tricks here, but that would be the entire manual. ;-) I hope you'll give it a second chance someday if you're bored.

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

    you should have celebrated the ability to exit as a success for day 1 and end it there for that day. Then try something else the next day - fun video

  • @0x007A
    @0x007A Год назад

    I tried using Microsoft VS Code (or its open source equivalent) and found I spent too much time clicking with the mouse rather than being able to use keyboard commands. After a month I returned to vim.

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

    I disagree with you on two things:
    1- the real reason why you failed at this task wasn't laziness, it was that there's way too much friction. Personally, I like being blunt and calling a spade a spade: Vim is very counter-intuitive. Period. There's good reasons why editor conventions went in completely different directions from Vim.
    The way I see it, you can't blame yourself for not enduring an unnecessary beating.
    2- if you could take the time to master Vim, it would actually NOT make you a faster programmer. Because:
    - Vim doesn't do any tasks significantly faster than other editors. It can be faster in some tasks, and I know for sure it's quite slower (than Sublime) in some others. Heck, multi-cursors in Sublime or VSCode just shoot productivity out of orbit**, while I see Vim users in videos tediously editing a line at a time. Vim isn't special like some people seem to think. It has pros and cons, like everything else.
    - the majority of the time is not even spent typing code, but thinking or researching, etc. So even if you get a small advantage at certain tasks, that will be irrelevant to your overall productivity. For this reason, it's also a complete myth that not using arrows or mouse brings a significant advantage (if any at all, really).
    - you may or may not work faster with colon->command, versus using hotkeys. I tend to think hotkeys are faster and more practical. (Personally, I also tend to do a lot of typos, so typing colon->command is a bit of a pain for me. But that's just me.)
    Bottom line is Vim is indeed a solid editor, despite counter-intuitive and awkward, and it can indeed fulfill all your editing needs (except multi-cursors), but... that's it. It's just a good editor, among many others.
    **(There's a plugin for multi-cursors in Vim, but I've never seen anyone use it. I heard it doesn't work well, but I can't confirm it. So my thinking is, either it works bad and that's why no one uses it, and so Vim effectively has no multi-cursors,... or it works well enough but Vim users are living under a rock and have no idea of the awesomeness they're missing out on.)

    • @Mateus.007
      @Mateus.007 Год назад

      With coc nvim you can get multiple cursors. Also macros can replace it in many tasks.

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

      @@Mateus.007 nah, it's very, very rare that you could replace multi-cursors with a macro. The kind of tasks you use multi-cursors for are too specific to be automated, and you'll get them done in seconds with multi-cursors. You take longer than that to set up a macro.
      They are different tools that don't replace each other. Macros are for automation, multi-cursors are multi-line editing.
      Sublime supports macros as well. I don't know about VSCode, but probably does too.

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

    In addition to Alex and TJ below:
    The reason for "why not the arrow keys" is that vi, the "vi" in "vim" - that is "Vi IMproved" - is from days when you'd use terminals that, you guessed it, does not have arrow keys. So basically, through the history of "vim" (vi -> vim -> neovim, and that there is me starting a religious war) there's a continuum of people already being used to hjkl being "the way". Incidentally, you can see the same in a lot of tiling window managers on Linux and some things like Yabai on Mac. (Fun fact: I don't miss arrow keys - my desktop's keyboard does not have them. So much space saved on my desk! :D )
    Further to that, I rarely move around with hjkl directly. Instead, you use combinations. For example, if I want to go to a letter 10 steps to the right, I type 10l. If I want to go five lines down, I type 5j. This is the power when you get used to it: want to delete 4 words? Instead of grabbing the mouse, click-drag, press delete, I just do: d4w. ("Delete 4 Words") Boom, gone. I want to "yank" (copy) 5 lines?
    V5jy (capital V to select whole line in visual mode, 5 lines, j for down, y for "yank"). Boom, done, I have copied it.
    If I want to cut them: V5jd (d for delete, but also stores it in "clipboard")
    I want to delete a whole line? dd
    Done.
    So basically, it's not stupid or arbitrary, it's just "very old" in some respects, and completely counter to what a lot of people have grown up expecting in the 46 years since VI was designed. (I'm old enough that command line was default when I started using computers.)
    On laptops especially, I love this, because I just can't with touchpads. VI (though I use neovim, usually through the lunarvim distribution) lets me work on my code efficiently without having to pack a mouse or give myself RSI through using the touchpads. All the other nice stuff (language server protocols, blah blah etc) are there through plugins - or in my case, just installing lunarvim.
    I'll not go as far as say "vi/vim/neovim is superior" to Vs Code or whatnot. But _for me_ it is. For most people? No. And if you want a real ride: install the "vim mode" plugins for Firefox so you can navigate websites without your hands ever leaving your keyboard.

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

    Oh I started just like that. Yes this is what it felt like. Same arguments against it too. And more!
    When people ask how long it takes to learn Vim I say you don't learn Vim, you toy Vim until you feel ready to deploy it. You can toy Vim and you can use Vim, you can't learn Vim.

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

    To answer your question at the end of the video: while I use Windows exclusively for work, I have been using the “VsVim” plugin in Visual Studio and the “VsCodeVim” plugin in VS Code for over 3 years. While I use Vim (actually Neovim) for making small edits to text files as needed, I have yet to establish a development workflow in Vim/Neovim proper-largely because tinkering with Vim config files isn’t particularly fun to me.
    Still, I would recommend learning to use VsVim/VsCodeVim to anybody who writes code for a living. While it initially took a couple weeks for me to become as efficient with Vim keybindings as I was with standard Visual Studio keybindings, those slow efficiency gains continued to climb to a level I could have never hoped to reach without Vim.
    If you code for a living, I would encourage you to keep at it. And remember: you don’t have to go all-in with “pure” Vim to experience many of Vim’s quality-of-life improvements.