Why I'm Switching Text Editor To Vim

Sdílet
Vložit
  • čas přidán 6. 09. 2024

Komentáře • 1,1K

  • @charlesthurlo9128
    @charlesthurlo9128 Před 3 lety +487

    2020: Why I'm Switching Text Editor To Vim
    2030: Why I'm Switching Text Editor To Emacs
    2040: Now I'm writing binary on paper

    • @cbro1744
      @cbro1744 Před 3 lety +7

      lol, imagine promoting paper companies in 2040s

    • @ryankapyamba102
      @ryankapyamba102 Před 3 lety +1

      Lol very funny

    • @user-he4ef9br7z
      @user-he4ef9br7z Před 3 lety +12

      You ain't a real man if you don't write programs by soldering silicon.

    • @Khiladi_99
      @Khiladi_99 Před 3 lety +10

      Ha! You @@user-he4ef9br7z I write programs by punching holes in stone.

    • @agushex
      @agushex Před 3 lety +1

      We people keep mistaken Emacs with a Text Editor? woah... I know it tries to be a meme but... I don't know

  • @007arunabha
    @007arunabha Před 4 lety +102

    My biggest issue with vim was, as you said, trying to remember the different key bindings. I used to struggle a lot, until I figured out that each keybindings or, I should say, Each command, is just a short form of the sentence going in your head. so you just gotta learn those proper words used in vim, and then you don't need to remember the commands anymore.

    • @haroldmcbroom7807
      @haroldmcbroom7807 Před 2 lety +2

      That's exactly why I absolutely hated Wordperfect, back in the day.

    • @TrevHolland
      @TrevHolland Před 2 lety +2

      My biggest issue with Vim is that, what he showed us took at least twice as long to type as it would using a normal text editor. Too many shortcuts to learn, too much of a learning curve, and AT BEST you're marginally faster than using a keyboard/mouse in something like Notepad. But it will take you ages to get there. The net gains are negative unless you're12 and have plenty of VIM years remaining. lol

    • @TheStickofWar
      @TheStickofWar Před 2 lety +5

      @@TrevHolland lol, that's simply not true. Install modern nvim, add a language server with a simple install and voila, you have autocompletion and intellisense for most languages. I use IDEs for my work, but for some editing of files or quick scripts, they are always quicker to do in VIM

    • @Mattot-qi9qr
      @Mattot-qi9qr Před 11 měsíci

      ​@@TrevHollandif u use it like you preparing exam ofc its hard lol. Use ot according tp your need, add command by time. Wtf are u even doimg trying to remember everything when you have to google every shortcut lol. Start with basic and add ypir command by time 😅.

    • @Mattot-qi9qr
      @Mattot-qi9qr Před 11 měsíci

      ​@@TrevHollandages? Either you are slow learner or you learnt it the wrong way. Back then it took me one week to get fully co,fortable with it and after that one week, i cant even live without it. Idk why the hell it took you alone ages.

  • @GustavoOliveira-px9mp
    @GustavoOliveira-px9mp Před 4 lety +961

    Next video: Why i'm switching os to Arch Linux

  • @tanned_cosines_
    @tanned_cosines_ Před 4 lety +156

    i love how he explains things, clear and simple ; doesn't waste time and jumps straight into the video
    and ofcourse a rare breed who also "WORKS OUT" XD
    good work as always 🙏

    • @nasreddinehodja5930
      @nasreddinehodja5930 Před 4 lety +7

      Yes basics are good but you might wanna go deeper into vim so here's the best vim tutor video: czcams.com/video/d8XtNXutVto/video.html ( btw watch his other videos it's a really interesting channel. This guy is an awesome C O N T E N T C R E A T O R).
      Thank me later.

    • @Hallden_
      @Hallden_  Před 4 lety +13

      Thank you for saying that! That’s exactly what I try to do, so I really appreciate that you notice!

    • @soham7510
      @soham7510 Před 3 lety +1

      @@nasreddinehodja5930 the moment i read 'Content creator' I knew you're talking about luke 😂🤣

    • @nasreddinehodja5930
      @nasreddinehodja5930 Před 3 lety

      @@soham7510 🤣 someone caught at last...

  • @briandesign
    @briandesign Před 4 lety +53

    who's watching this as a vscoder?

    • @kavinbharathi
      @kavinbharathi Před 4 lety +6

      VS code all day every day man...

    • @mrtek8095
      @mrtek8095 Před 4 lety +2

      I'm literally writing some Java code while watching this in vs code! 🤣🤣🤣🤣

    • @pilleow
      @pilleow Před 4 lety +2

      vscode all the way

    • @briandesign
      @briandesign Před 4 lety +1

      @@kavinbharathi aye!

    • @Maniac-007
      @Maniac-007 Před 3 lety +1

      True vscode alphas

  • @MagnusAnand
    @MagnusAnand Před 4 lety +207

    “And now I’ll show you why I code in Assembly”

    • @openedeyes6110
      @openedeyes6110 Před 3 lety +15

      Maybe next time he will show how to build a processor from sand 😂

    • @samuelgunter
      @samuelgunter Před 3 lety +1

      "And now I'll show you why I build channels of water and levers to direct the water to perform computations"

    • @senjuchidori9448
      @senjuchidori9448 Před 3 lety +3

      I code using Boolean algebra and Karnaugh mapping

    • @multilangcoder8723
      @multilangcoder8723 Před 2 lety

      LOSERS, I USE TRANSISTORS!

  • @134552Adnan
    @134552Adnan Před 4 lety +300

    If you haven't already, swap your caps lock and escape keys. It's absolute heaven!!

    • @hoshiya4522
      @hoshiya4522 Před 4 lety +19

      Big Brain

    • @ArpitBhakta
      @ArpitBhakta Před 4 lety

      Yesssss

    • @hypnoticlizard9693
      @hypnoticlizard9693 Před 4 lety +11

      I use control on the key where caps lock usually is

    • @EthanZemelman
      @EthanZemelman Před 4 lety +16

      Even better: map jk and kj to escape. They are on the home row and so much easier to type than escape.

    • @KevinJohnMulligan
      @KevinJohnMulligan Před 4 lety

      @@hypnoticlizard9693 you can do both, on Windows I use sharpkeys to easily remap caps to esc in the registry. Then I use dual-key-remap to map esc to ctrl when pressed on combination with another key.
      I didn't come up with any of this, it's actually the example given in dual-key-remap.
      I'm sure it's easier in macOS and other *nix based OSes

  • @Diamonddrake
    @Diamonddrake Před 3 lety +183

    Speed at typing/editing has never really been a programming productivity limitation. Just something to consider.

    • @GergiH
      @GergiH Před 3 lety +20

      To me this falls into the category when people try to justify using i3 because of "productivity". I compared my time doing some easy refactors which I know how to do in Vim too, and actually having to stop and think what keybind do I really want was more taxing and taking more time compared to when I just used Ctrl / Shift / copy-cut-paste / mouse. Also navigating between a lot of files was a pain in the ass, even with plugins like NerdTree or CtrlP.

    • @valroz
      @valroz Před 3 lety +12

      It's the same thing that you can get away with 2 finger typing on a keyboard. But Touch Typing takes you to a different level.

    • @martinsauer4854
      @martinsauer4854 Před 3 lety +31

      @@valroz
      But typing speed isn’t really adding to your productivity in the software engineering world
      Most work is done in your head and maybe on a blank paper to design your software
      When actually coding you still have autocompletion etc

    • @SimonHolmbo
      @SimonHolmbo Před 3 lety +2

      @@valroz I just don't wanna mess around with the touchpad.

    • @mohamedirfan2816
      @mohamedirfan2816 Před 3 lety +17

      As a laptop user I can definitely justify using a tiling window manager and neovim. It is just more convenient, and I don't have to think which keybinding to use next. It comes automatically

  • @tomy7424
    @tomy7424 Před 4 lety +37

    Why I'm switching to vim: I hate using touch pad every 1.2ms, and I like keys clicks sound.

    • @jamirvillarosa7924
      @jamirvillarosa7924 Před 3 lety

      not really a problem if you're a thinkpad user lmao.

    • @neek01
      @neek01 Před 3 lety

      level up your skills and use your thumbs to control your touchpad instead

  • @XDjUanZInHO
    @XDjUanZInHO Před 3 lety +53

    Oh no, it's happening. WE'RE CONVERTING HIM GUYS

  • @viko1786
    @viko1786 Před 4 lety +6

    1. Make your tabs 4 spaces wide, not 8(in vimrc)
    2. Learn to navigate with hjkl
    3. Learn about plugins(vim-plug)
    \_ Learn about code completion plugins
    4. Learn about the vim file navigation(or nerdtree, if you use that plugin)

  • @artygator8167
    @artygator8167 Před 3 lety +8

    Vim has kid of a steep learning curve. You remap ALL the muscle memory you built from the arrow keys, but once you're used to it, you can have the same workflow in vscode, jetbrains, atom... It's really pleasant.

  • @kodesafi
    @kodesafi Před 4 lety +7

    It's so weird watching Kalle go down this road. You're in for a treat. Next video "I switched to arch" 😂😂.

  • @DeanG621
    @DeanG621 Před 4 lety +38

    Vim is a great editor to use when you have non-desktop linux servers where you need to edit any file. I wouldn’t use it as my main editor, but it’s nice to see vim pointing out as a powerful tool, because it is:).

  • @CorentinCham
    @CorentinCham Před 4 lety +117

    At 3:02, you could use “daw” (delete a word) instead of diw + x. It deletes the word + the surrounding spaces.
    Also you should remap CapsLock to Espace so your Escape key is on the home row of your keyboard.
    Lastly, if you didn’t know, you can save and quit with “ZZ” or quit without saving with “ZQ” so you don’t have to use two hands 👌

    • @kriztho02
      @kriztho02 Před 4 lety +18

      Is better to use the CapsLock key as a Ctrl modifier and when pressed and released it acts as the Escape key.
      This two commands on Linux do the job:
      setxkbmap -option 'caps:ctrl_modifier'
      xcape -e 'Caps_Lock=Escape' (xcape is a standalone program)
      ABSOLUTE game changer.

    • @CorentinCham
      @CorentinCham Před 4 lety +1

      @@kriztho02 Thanks, I didn't know, that's even better

    • @StrangeIndeed
      @StrangeIndeed Před 4 lety +11

      He could've just typed dw - delete word. Halle overuses the letter i in vim. I'm gonna give an example when you should actually use it.
      There's this text:
      print("Hello word")
      If you are somewhere inside the string, you can delete it by typing di"
      di" stands for delete inside " - delete what is inside quotation marks.
      If you type da" you delete what is inside the quotation marks and the quotation marks.
      That's because da" stands for delete around "

    • @isakhammer6558
      @isakhammer6558 Před 4 lety +1

      Obviously does it exist tons of keybindings. However, I think the best advice is not to focus fully on movement optimization, but also invest time learning vim plugins

    • @fruitfcker5351
      @fruitfcker5351 Před 4 lety

      dw also works. 1 less extra key to press.

  • @gabrielcavalcante4063
    @gabrielcavalcante4063 Před 4 lety +9

    I used VIM on Linux as an editor for little more than a year and a half. Its nice and can save a lot of time if you are able to remember the commands, but there's a learning curve and I eventually went back to the normal editor.
    Also, there's a VIM extension for VSCode for anyone interested.

  • @abhinavdc
    @abhinavdc Před 4 lety +145

    "You were supposed to destroy them, not join them" - VS Code

    • @Goalatio
      @Goalatio Před 3 lety +7

      Yeah.. after watching this video my thoughts are that it could still be done faster in VS Code. Vim is nice but I honestly don't see how people think it increases their productivity. I forced myself to use Neovim for a month when I was writing an OpenGL rendering engine, and even at the end when I felt like I was "Fast" I still missed VS Code and went back. That's only my opinion though, maybe it does work for some people. I'm sure extensions help; I didn't use any.

    • @not_ever
      @not_ever Před 3 lety +14

      @@Goalatio You are comparing stock neovim to vscode with extensions, so yeah I expect you did struggle to see the point. If you like vscode stick with it, honestly when I have to use Windows I use vscode. However if you use neovim with plugins, you'll find it's much more productive, bug-free and stable, in my experience, after the initial learning curve.

    • @primekrunkergamer188
      @primekrunkergamer188 Před 3 lety +1

      @@not_ever I have encountered very little bugs if any with vs code.

    • @jb_lofi
      @jb_lofi Před 3 lety +1

      @@Goalatio Oof, yeah you need to try it with extensions and plugins. A tricked out Neovim is no longer a text editor, it's weird that people keep referring to it as purely a text editor (like this video kinda does at the start...). It's an IDE, with all the bells and whistles, rock solid and fast.

    • @kasrm2309
      @kasrm2309 Před 3 lety +2

      @@Goalatio I use a raspberry pi as main pc, it was so slow to edit code in a normal program.. so I start using it because I need, not want to. With a bunch of plugins is basically the same thing as VS code, beautiful stable and fast.I am used to write and edit in it now. Text editor, distro or programming language isn't a religion, is nothing more than a tool for solving problems.

  • @theftking
    @theftking Před 8 měsíci +1

    Watching him use vim for about two minutes has not convinced me it is faster or more-efficient than modern text editors.

    • @kevin_mitchell
      @kevin_mitchell Před 2 měsíci

      He slowed it down to display the keybindings on the screen for the viewer.

  • @kyedav
    @kyedav Před 3 lety +10

    Just to add on a few keybindings missed that people might find useful:
    :x = save and exit (same as :wq just easier).
    hjkl = left, down, up, right navigation.
    o = new line below cursor.
    O = new line above cursor.
    I = insert at beginning of line.
    0 = move cursor to beginning of line.
    $ = move cursor to end of line.
    dd = delete current line.
    ciw = change in word (deletes current word and puts you into insert mode).
    v = visual mode (can select, move and copy words/lines).
    V = selects full line (to allow you to do same as above).
    . = repeat last action.
    4j = go down 4 lines ([number][action]).
    C = change full line (deletes and puts into insert mode).
    w = move cursor to beginning of next word.
    e = move cursor to end of next word.
    f/ = move forward to the next found "/" ([action][text]).
    b = moves cursor to beginning of previous word.
    u = undo edit.
    x = delete 1 character infront of cursor. (same action as the DEL button).
    gg = move cursor to the top of the file.
    G = move cursor to end of the file.
    a = insert mode 1 character after cursor.
    A = insert mode at the end of the line.
    dw = delete word.
    df/ = delete from cursor to the next found "/" ([action][text]).
    I know I've missed a lot out but I've been using vim for many years now. These are commonly the most used bindings I'd imagine so good luck. Its a major learning process at the beginning- try not to give up before you've even begun. It ends up becoming one of the best decisions you'll ever make when it comes to programming. You'll never go back to any other text editor, hands down.
    To take it one step further. If you end up loving the whole not taking your hands off the keyboard idea (time waste grabbing that mouse). Look into using a tiling window manager on a linux distro such as i3wm and use a browser such as Qutebrowser made with the vim bindings in mind.

  • @viljamip
    @viljamip Před 4 lety +11

    The shortcuts are so different compared to modern ones that it takes some time to get familiar with the logic. However, after a while you can guess some of the commands without even knowing them. The basic idea is that the commands are basically English words and you can combine them into complex sentences. For example d3w is delete three words.

  • @anirudhrowjee1378
    @anirudhrowjee1378 Před 4 lety +10

    I'm sure this will get lost in the comments, but - to get started on a new line within the indented block, instead of pressing O followed by multiple tab presses, you can just do j and Shift+S. It's tab-agnostic, so it will put you in the right place regardless of where you are.

    • @_kkaai
      @_kkaai Před 4 lety +2

      or just set smartindent

    • @combdn
      @combdn Před 3 lety

      In VSCode you just hit Enter.

    • @googleuser9422
      @googleuser9422 Před 3 lety +1

      @@combdn no, vim's O is like Ctrl+Shift+Enter in vscode or UpArrow+End+Enter

  • @frissenm
    @frissenm Před 4 lety +6

    I started my career about 25y ago, and back then we used vi. Even though I’m no longer a full time developer, the vi(m) shortcuts are lasered into my brain and muscle memory

  • @BryanJenks
    @BryanJenks Před 4 lety +7

    one of the great ways to learn the key bindings is to talk them out in your head or as you're using them, like copying the word you have the cursor in is "Yank Inner Word" not just "yiw" and speaking it out lets you see how these things may be changed or combined for different kinds of functionality "Delete Inner Word" diw "Change Inner Word" ciw. etc. there's soooo much to learn with vim, but text motions, (hjkl{}wb) and macros (q) and running terminal commands in the butter `:! echo "hi"` are just the tip of the wonderful iceberg that vim is

  • @nelufixak3314
    @nelufixak3314 Před 4 lety +159

    I hate those AlgoExpert Ads

    • @alexandervogtsanchez7522
      @alexandervogtsanchez7522 Před 4 lety +21

      Its getting pretty annoying. They are going to create hordes of leet coders that shit themselves when they see a real software engineering problem

    • @michaelerwin8744
      @michaelerwin8744 Před 3 lety +13

      So you don't wanna be a software engineer at Google?

    • @user-mv4oh8yp1y
      @user-mv4oh8yp1y Před 3 lety

      @@depression_isnt_real LOL

    • @nikhilmwarrier7948
      @nikhilmwarrier7948 Před 3 lety +1

      @@michaelerwin8744 no thanks. I am happy with making AAA games in binary on a clay tablet for my cat to play.

    • @titaniumwolf2
      @titaniumwolf2 Před 3 lety

      @@depression_isnt_real She's a munter.

  • @guiAI
    @guiAI Před 4 lety +40

    main reason: vim user supremacy > any other plebean text editors

  • @mtony811
    @mtony811 Před 3 lety +14

    I use vim when I need to(have to) edit some config files on Linux. When programming, I pick an IDE. "psvm" and "sout" are way faster for that Java demo code.

  • @parzival988
    @parzival988 Před 4 lety +5

    A few useful commands I’ve found when quickly editing multiple files/browsing is ZZ (shift+zz) which is equivalent to :wq and ZQ which is equivalent to :q!

  • @chastitywhiterose
    @chastitywhiterose Před 3 lety +4

    I'm still a noob at vim but it's really sweet for being able to be used in a terminal without requiring an X server or fancy desktop environment. I used it in a few of my programming videos for fun.

  • @alxcretu
    @alxcretu Před 4 lety +177

    There is a vim vscode extension

    • @priyanshusaraf9495
      @priyanshusaraf9495 Před 4 lety +14

      Yeah there is, but you should use the text editor itseld

    • @macmanuelodumeru3708
      @macmanuelodumeru3708 Před 4 lety +27

      It's slow on windows as it's just an emulator. Neovim however is superb as it isn't an emulator

    • @lucianodsb
      @lucianodsb Před 4 lety +6

      the extension is not vim, it's an emulator. Some macros don't work well depending on input, I've experimented some crashes, some features are not implemented yet since its an emulator (like the norm command, %! command), there are some missing configuration options... If you are a quite old dog vim user, it is almost certain it won't have a feature you use, so it's ok if you use vscode here and there - I, for example, use it only when I need to run a debugger - but a pain if you use it often for writing text. So there's no reason whatsoever to use it instead of vim, specially because vim is waaay faster than vscode. I remember trying to open a 140k lines CSV in vscode and it just crashed, whereas in vim it works really fast, no lag.

    • @codeandcurious
      @codeandcurious Před 4 lety +2

      It conflicts with some vscode built in shortcut keys and it is difficult to come out of zen mode while using vim extension in vscode, but vim is really a great tool for writing code

    • @terahawk
      @terahawk Před 4 lety

      theres onivim2
      ima panda

  • @VarunVargheseMuriyanat
    @VarunVargheseMuriyanat Před 3 lety +1

    I started using neovim 2 months ago and have been hooked ever since.
    I am not saying it was easy to learn. I read the book "Practical Vim: Edit Text at the Speed of Thought"
    Last 2 months, I forced myself to use vim for all editing. I don't regret it.
    The sheer extend of navigation/editing options, customizability, Ex commands and macros were mind blowing.
    I can't see myself using anything other than vim/neovim for editing code.
    In case you're wondering, I am Dev and I work mostly from the command line.

  • @hemanthkotagiri8865
    @hemanthkotagiri8865 Před 4 lety +4

    I just made the switch from vscode to vim like a couple of months ago and I feel like 10x fast. Thank god I made this shift pretty early in my career. Long live vim!

  • @wailshudar
    @wailshudar Před 8 měsíci

    You hit it on the nail when you said that what Vim excels at is editting. But when you said that programming is essentially just editing existing code I winced.

  • @yolamontalvan9502
    @yolamontalvan9502 Před 3 lety +15

    Learning Vim is like learning to drive a car with manual transmission. You curse for two month, but once you learn it it becomes sweet.

    • @hmdz150
      @hmdz150 Před 3 lety +1

      I hate manual transmission since it puts a huge burden over my brain

    • @neek01
      @neek01 Před 3 lety +2

      I personally never had an issue with manual transmission since that's how you're taught to drive a car in Europe. hell I had an issue trying to drive a automatic transmission because of the muscle memory

    • @notsojharedtroll23
      @notsojharedtroll23 Před 2 lety

      @@neek01 the muscle memory struggle is real

  • @Thanatos2996
    @Thanatos2996 Před 3 lety +1

    The main downside to using vim is that you will start tapping ESC and leaving /, jj, ciw, or :w's all over any other text or document editor you use.

  • @Stoplookingatmytoes
    @Stoplookingatmytoes Před 4 lety +14

    next video: why im using dwm for my window manager

    • @jones1749
      @jones1749 Před 4 lety

      Why I switched to using tmux in a tty

    • @miles7267
      @miles7267 Před 4 lety

      “Why I switched to arch Linux and you also need to or you’ll be left behind by yourself he master race”

    • @zyan983
      @zyan983 Před 4 lety +1

      Why I switched to compiling my own Linux Distro & using Tmux in TTY.

  • @Lumary
    @Lumary Před 4 lety +8

    Theres also a build in tutorial for vim in the terminal, you start it with the command 'vimtutor'.

  • @minhajsixbyte
    @minhajsixbyte Před 4 lety +3

    I like the direction you’re going. It’s nice to see bro. Take love and welcome to the gang

  • @callumanderson2645
    @callumanderson2645 Před rokem +1

    This might be good for small programs, or university assignments. But working on enterprise level apps in this would be hell on earth.

  • @dailyDesi_abhrant
    @dailyDesi_abhrant Před 4 lety +182

    This guy is slowly quitting all comforts of life.

  • @Johnny-ju6di
    @Johnny-ju6di Před rokem

    Thanks g, I’ve been stuck in vim for 3 weeks and I finally got out thanks to your video

  • @pranavdesai5333
    @pranavdesai5333 Před 3 lety +4

    Vim definitely removes the reliance on a mouse or the annoying trackpad. So I can now just sit on a couch and program. Cool!

  • @FrankJonen
    @FrankJonen Před 10 měsíci

    NeoVim is basically an editor's (the job) dream tool. Jump to the head of the screen view, the middle, the last line, all with just two keypresses. Similar to Emacs but bare-bones. Runs pretty much on anything, probably even on a Casio watch.

  • @studystreams3733
    @studystreams3733 Před 3 lety +4

    Hey you can add number line in vim by adding "set nu" or "set relative number" in your vimrc

  • @tweedle634
    @tweedle634 Před 4 lety

    had a teacher introduce us to VIM... we all HATED his guts but he said "One day you'll thank me". It's true. This said nothing beats a pleasant IDE but when times are tough and your on a server without a GUI vim is amazing.

  • @0o0o00o00000
    @0o0o00o00000 Před 4 lety +5

    love this! i was skeptical of vim at first but now i use it in terminal and install all the plugins in my IDE. So it has turned into cross platform keybindings independent of IDE :)
    macros are awesome for those times you are doing the same few keystrokes to edit a file. They are probably my favorite hit 'qq' then do your keystrokes once then 'q' again. enjoy :)
    Other favorites which I use a lot:
    - gg: go to top of the file
    - G: go to bottom
    - $: end of line
    - 0: beginning of line
    - "+p: paste clipboard
    - "+y: copy to clipboard
    - also ci works with anything that is "wrapping punctuation" (i.e. ` ' { [ etc....)
    These should get you going. i use all these on a day to day basis on top of the ones you used. Hope they help :)

  • @adamdrake7182
    @adamdrake7182 Před 3 lety +1

    Instead of rebinding caps lock to escape I bound it to control and added ctrl + ; as the escape key in vim :). It's nice having the ctrl key in easy reach

  • @crystal14w
    @crystal14w Před 4 lety +23

    VIM is nice, but I still rather look at 1000 lines of code in VScode

    • @pasantru9644
      @pasantru9644 Před 4 lety +4

      That is because you dont know how to use vim properly.

    • @crystal14w
      @crystal14w Před 4 lety +4

      Pasantru the way it looks aesthetic wise

    • @crystal14w
      @crystal14w Před 4 lety

      Benji Nguyen My gawd! So inspiring!

    • @langzai
      @langzai Před 4 lety +1

      @@pasantru9644 I love what a binary thinker you are!

    • @pasantru9644
      @pasantru9644 Před 4 lety

      @@langzai For 8 lines of code any editor can do ;)

  • @treeoflife7151
    @treeoflife7151 Před 3 lety +1

    wow this video idea is so clever. i was looking for a video exactly like this about vim. what it's capable of, why it is good, and just a few commands to get started.

  • @aethanfoot2103
    @aethanfoot2103 Před 4 lety +8

    What will his final evolution be, living in emacs for windowmanager, text editor, email, etc.

  • @_zetrax
    @_zetrax Před 4 lety +1

    I tried vim years ago but since I had no good intention to use it I didn't like it. But this month I was trying out vim since I can't use a mouse at work, weird I know. vim is insane, loved it.

  • @xinyucao5550
    @xinyucao5550 Před 4 lety +16

    “that's a good transition...” LMAO

  • @borrachagamer
    @borrachagamer Před 4 lety +1

    Im really enjoying your videos because we can see your progress.
    ur film-making is great!

  • @thedeegan
    @thedeegan Před 4 lety +138

    I think VIM it's iteresting, tryied it for a little bit... But there is just no point in spending all that time learning everything about it... Somethings are a pain to setup in Vim, debuging, testing, working with remote interpreters from docker containers.... I understand the appeal, just woldn't recomend it.

    • @ChrisJones-rd4wb
      @ChrisJones-rd4wb Před 4 lety +30

      Vim is just a really efficent text editor, the IDE is the command-line itself.
      Comparing the feature-set of vim and VScode is like comparing atom and eclipse.

    • @JoshuaBlais
      @JoshuaBlais Před 4 lety +19

      Vim is extensible to whatever you want, it's also got a 30+ year history - it'll be here in another 30 years.

    • @tanmaydeshpande
      @tanmaydeshpande Před 4 lety +3

      @@ChrisJones-rd4wb It might be efficient but to set it up for your projects, you have to do so much stuff. Plus, the process becomes harder on Windows since it doesn't come natively there.
      (P.S. people are allowed to use the text-editor that they prefer)
      (P.S. 2 : how is comparing vim to vscode like comparing atom to eclipse. Atom is a general purpose text editor which has some extensions for development while vscode is a full fledged ide with a debugger and everything)

    • @zoomerslayer8244
      @zoomerslayer8244 Před 4 lety +20

      Soy dev

    • @ChrisJones-rd4wb
      @ChrisJones-rd4wb Před 4 lety +12

      ​@@tanmaydeshpande That's my point,
      Vim is a extendable general purpose text editor just like atom, its not an IDE.
      If you want too debug in vim, you open a new terminal and launch gdb.

  • @Lowacy
    @Lowacy Před 4 lety +2

    I'm using vim since 2 years and I'm still often impressed about some hidden features. btw you could try to use a thumb for pressing space

  • @yudhiesh1997
    @yudhiesh1997 Před 4 lety +8

    Switched from Vscode to VIM 4 months ago and have never looked back.

    • @anshulkanwar1
      @anshulkanwar1 Před 4 lety

      But how do you live without the big extension store of vscode???
      I mean there are really some cool extensions on vscode

    • @matthewlin5484
      @matthewlin5484 Před 4 lety +1

      @@anshulkanwar1 Just use the vim extension on vscode and get the best of both worlds

    • @anshulkanwar1
      @anshulkanwar1 Před 4 lety

      @@matthewlin5484 I do that exactly...
      But why do people use vim (text editor, not keybindings)

    • @matthewlin5484
      @matthewlin5484 Před 4 lety

      @@anshulkanwar1 Some people just like it I guess. But pretty much, vscode + vim is probably one of the best mixes of productivity + a good code editor in terms of syntax highlight & code complete & a lightweight code editor + as much of an IDE as you want it to be. But everyone has their preferences.

    • @T3BFitnessTripleThreatBoss
      @T3BFitnessTripleThreatBoss Před 4 lety

      @@matthewlin5484 I just commented the same thing. Halle is not gonna get syntax highlighting in a mac terminal. Its like working backwards is the new in thing. 🤷‍♂️

  •  Před 4 lety +2

    Vim is one of the best choices I made with regard to software engineering in the past 15 years. Using Linux primarily is another one of them.

  • @DJBOOUBA
    @DJBOOUBA Před 4 lety +4

    I learnt vim basics a few years ago. But at the end of the day I still preferred to use and setup vscode shortcuts to switch files go to lines and so on. Wasn't really my thing, I just use it for quick edits on remote servers

    • @DeanG621
      @DeanG621 Před 4 lety +1

      Same here, just posted a comment where I could use these words

    • @DJBOOUBA
      @DJBOOUBA Před 4 lety +5

      @@DeanG621 Yeah, the example shown in the video just reminds me why I don't use it for my everyday coding.
      It's cool to share the exp but it would have been really more appealing to show a second example showing how vim could be more useful/productive than a regular editor. I get that the purpose was to show a few shortcuts but I (and most people) would have been a lot faster on any other editor ( add autocomplete and it's done in a blink).
      So the only argument I keep from this video is: use vim because it's cool and you would look cool.
      But I would have preferred to see why it could be worth learning more about it than just basics and how it could increase one's productivity instead of just repeating it.
      Who knows maybe it would have convinced people like us for other use cases than just remote servers :)

    • @ruhnet
      @ruhnet Před 4 lety

      You haven't really given vim a good chance unless you've dedicated a month or so to using it exclusively.

    • @Maniac-007
      @Maniac-007 Před 3 lety +3

      @@DJBOOUBA most people that thinks vim is the better code editor definitely haven't fully discovered the features that their ide provided. I've been using VS Code not more than a year and I've been utilising the hot keys,extensions and other tools (live-collab/vcs/etc).
      I don't even touch my mouse during a 6-hour coding session (my corsair keyboard is also binded with macro functions to open other programs/desktop apps).
      Most videos I've found explaining why you should use vim is emphasising on the "keyboard navigation" feature as a "factor of productivity". I think most text editor or IDEs have that feature as well, so I don't see the clear benefit but other than to look "more experienced" or "hackerman " in a way.

  • @sujayr6983
    @sujayr6983 Před 4 lety

    clicked on this video just to watch the intro. i love how streamlines his discussions and never talk off topic

  • @noahfletcher3019
    @noahfletcher3019 Před 3 lety +9

    It took me literally 1 hour to get used to the key bindings. Once you've got used to them you don't even want to use another text editor ever again. You will realise that the speed is in your fingers and latency comes From using a mouse.

  • @saggitt
    @saggitt Před 3 lety +2

    Is there a way to refactor stuff using vim, like adding a parameter to a method? Navigate to declaration? Find usages? This is what you have to do very often on most real projects.

  • @freddyfozzyfilms2688
    @freddyfozzyfilms2688 Před 4 lety +3

    i just use the editor of whatever tutorials i watch, that's why i have 20 editors!

  • @EthanZemelman
    @EthanZemelman Před 4 lety +1

    Anyone tired of reaching for the escape key? Remap jk and kj to escape. They are on the home row and so much easier to type than escape.
    To do this, in your .vimrc file write:
    inoremap jk
    inoremap kj

    • @Poy19771
      @Poy19771 Před 3 lety

      How to map jk only in insert mode?

    • @EthanZemelman
      @EthanZemelman Před 3 lety

      @@Poy19771 if you only want to map jk but not kj then just use the first line of code above. But I would recommend using both lines.

  • @georgemanakanatas1241
    @georgemanakanatas1241 Před 3 lety +8

    Using Vim because you have to I can understand it's the most likely and most basic tool on a Linux machine. But having to memorize a ton of key bindings to avoid using the mouse hardly seems enticing. And I really don't get how productivity is affected by making edits fractionally faster, the majority of your time is spend figuring out what changes to make or how the code should be but together or trying to figure out what is causing the bug not the actual work of typing out the new code or the changes.

    • @not_ever
      @not_ever Před 3 lety

      You don't have to memorise really, d for delete, w for word, dw delete word, c for change, cw change word. It just seems alien but it's better than the keyboard shortcuts in most applications. I think arguments for productivity increases by using vim are overblown and exagerated, but so are arguments about vims complexity.

    • @georgemanakanatas1241
      @georgemanakanatas1241 Před 3 lety +2

      @@not_ever You do. Let's be honest here vim (like it or hate it) is extremely counter intuitive when compared to how people are used to working today.
      i for insert is not intuitive, people expect to type something and have it show up on screen. w for word almost everyone expects to hold shift and highlight a piece of text to then copy or cut or paste.
      I understand why it is this way, because it was designed at a time when arrow keys on a keyboard where not a realistic expectation. But it's entire philosophy incredibly anti-pattern in 2020.
      You can learn it and anyone who code's for a living should probably know the basics because they will need to use it at some point. But as an answer to the "problem" of having to use the mouse ... no.

    • @not_ever
      @not_ever Před 3 lety +1

      @@georgemanakanatas1241 I guess you’re intuition is wired differently to vim users or something. I have a shit memory so I can promise you, I’m not going to use a counter intuitive tool that relies on memorisation. For me an ide or gui application is horrendous, their shortcuts don’t make sense and their menus and settings are hidden in stupid right click menus. i for insert does not require memory but yes you need to know vim is a modal editor, if you’re used to a gui that can be alarming for the first time. If you don’t remember i for insert the second or third time that’s understandable, but if the fourth or fifth time you forget how to enter insert mode, that might indicate some sort of cognitive decline. :q!

    • @georgemanakanatas1241
      @georgemanakanatas1241 Před 3 lety +3

      @@not_ever I don't know what to tell you, it could be just residual trauma from growing up with DOS and then getting access to GUIs for the first time that has made me not want to go back.
      I can learn vim and have done so because it's of use to me, since I frequently interact with the thing. But to opt to use a modal editor (any modal editor) by choice, no I would not. But I also make very heavy use of the mouse over shortcuts in general so maybe it's just me and I am just wired strange ¯\_(ツ)_/¯

    • @not_ever
      @not_ever Před 3 lety +2

      @@georgemanakanatas1241 I learned how to code as child in Notepad if it was even called that then, so I guess we had opposite but equally shit, formative experiences, which I guess explains our current, opposite workflow preferences.

  • @bitcointrader8586
    @bitcointrader8586 Před 4 lety

    Here a couple of tricks we use all the time.
    Write file (Save) and Quit These are normal mode commands, put them in a .vimrc or init.vim for Neovim
    My leader is a spacebar set it like this.
    let mapleader=" "
    nnoremap w :write
    nnoremap q :quit

  • @samuelcacador
    @samuelcacador Před 4 lety +6

    Haven't watched this yet and I already know this is going to be good

  • @jake5129.
    @jake5129. Před 3 lety

    Vim is truly one of the best text editor's I have ever seen. VS Code is good but vim helps us to keep our fingers engaged on one single thing(that here is your keyboard). And thanks for showing it off and showing the vim commands in a cleaner way. Love your channel!

  • @LagFlicks
    @LagFlicks Před 3 lety +9

    Just curious, now that it's been a few months, can you tell us if you've stuck to it or not? And if you think it's still better?

  • @MrFurriephillips
    @MrFurriephillips Před 4 lety +1

    I’ve been using vi[m] since 2002 & am in love with it. I do prefer my tab stops to be 4 spaces.
    [Esc]set ts=4

    • @emeraldmasta7752
      @emeraldmasta7752 Před 3 lety

      I prefer my tabstop at 2. Also don’t forget shiftwidth, which is the size of the tab when you TYPE it.

  • @McVilko
    @McVilko Před 3 lety +24

    oh, please “:set ts=4 sts=4 sw=4 et”, tabstops of 8 is too much and only is used in Linux kernel code bases

    • @localhost4460
      @localhost4460 Před 3 lety

      8 is positively disgusting. Also `set number` too. There's no way you're editing code without that.

    • @McVilko
      @McVilko Před 3 lety +1

      @@localhost4460 actually, line numbers are rarely needed, you can use them to find number with error (just use :number instead), or when you are counting something - it would be better to just enable this option in that case, and not put it into vimrc

  • @EthanZemelman
    @EthanZemelman Před 4 lety

    Thanks for making this video! I never really thought about using Vim until I watched this video, and now I have vim pretty much fully set up and I'm really liking it!

  • @kedarshinde4216
    @kedarshinde4216 Před 4 lety +3

    YES! Welcome to the cult of VIM!

  • @Belgarathe
    @Belgarathe Před 4 lety +1

    Also as others as stated vscode plus vim is pretty powerful. It’s a great way to use vim everyday without worrying about cli. What I love was today I had a large project and I was able to code on my laptop even when I didn’t have enough table space for a mouse. So instead of me using the arrow keys or use the mouse/touchpad I was able to keep my eyes on the screen and move precisely where I need to be to run and test my code. Once you have that one experience you will understand the appeal of vim and mouseless way of coding. How much faster it is to code, change, test all in the time it usually take to reach for the mouse and click

  • @lemurza5236
    @lemurza5236 Před 4 lety +3

    I prefer to sse vscode with vim key bindings when editing code, and normal vim when editing cofig and text files

  • @deltacubes9182
    @deltacubes9182 Před 4 lety +1

    btw, you can also use shift+ZZ to save and exit vim, and ctrl + z to stop vim.

  • @davidrivard1252
    @davidrivard1252 Před 4 lety +5

    6:23 are you doing something with smart light or smart outlet? Since the mitm attack is patched there is a different way to get the local key. If anyone would like to know, just ask me.

  • @LoLei3239
    @LoLei3239 Před 3 lety

    Your vim setup is really bare bones wow. If you really use it like that without more settings and addons, props to you. My vim is fully pimped out.

  • @naveenkr5992
    @naveenkr5992 Před 4 lety +35

    There's Neovim too.

    • @jones1749
      @jones1749 Před 4 lety +8

      Yeah, I'd say that there isn't really any reason to use vim over neovim anymore. Neovim just allows so much more things, especially since it's a client/server model which allows you to embedd neovim in stuff like your browser while keeping your existing config

    • @gregorywpower
      @gregorywpower Před 4 lety +2

      I’d recommend neovim as well!

  • @StrangeIndeed
    @StrangeIndeed Před 4 lety +1

    you can use vi in bash and zsh if you put 'set -o vi' in your .bashrc or .zshrc file.
    By default you are in insert mode. There is no indication if you are in insert or normal mode.
    Also, it's not vim, it's vi, so e.g. you can't type di" to delete inside quotation marks

  • @namcxn8086
    @namcxn8086 Před 3 lety +4

    Next: Why i'm switching to emacs :)))

    • @Throneos
      @Throneos Před 3 lety

      Next: why i am switching to cat >> app.js

  • @adammoussa7295
    @adammoussa7295 Před 3 lety

    window managers, cli text editors
    he is evolving !
    next video title: why compiling your own gentoo build is better than installing arch

  • @pixelkeckleon1171
    @pixelkeckleon1171 Před 4 lety +17

    I think Vs code with the vim extension is the best combination to use! (As already mentioned by a few other comments). 0:03 Also that wallpaper in the back looks cool! 😍 Where can I get it?

    • @abhinavchavali1443
      @abhinavchavali1443 Před 4 lety +4

      Not as good/smooth/light. Using regular vim/neovim will always be best

    • @mgaliazzo
      @mgaliazzo Před 4 lety +2

      @@abhinavchavali1443 we are in 2020, and even if you are running a laptop from 10 years ago you should have 0 problems of smoothness using vscode with extensions.

    • @younlok1081
      @younlok1081 Před 4 lety

      @@mgaliazzo naaah
      i quite vscode for lag (as a main reason )
      its build with electron which is bad

    • @mgaliazzo
      @mgaliazzo Před 4 lety +2

      @@younlok1081 vscode never ever lagged for me in 3+ years, probably you are using a cheap toaster as a pc

    • @younlok1081
      @younlok1081 Před 4 lety +1

      @@mgaliazzo yeah my pc sucks
      but still electron sucks

  • @quentincaldway
    @quentincaldway Před 3 lety

    Been following for a nice while bro! Literally seen you grow as a programmer! Love these sleek, informative videos you continue to create!
    This video was just what I was looking for your!

  • @sweatobertrinderknecht3480

    Java is the ugliest prog. language on earth.

  • @optimizedpran1247
    @optimizedpran1247 Před 4 lety +1

    Vim is an absolute life changer

  • @Kwales66
    @Kwales66 Před 4 lety +10

    My first real it job I had to use Vi - Never again.

  • @pluvious777
    @pluvious777 Před 4 lety

    (been using vi since the 80's - friend from Bell Labs gave me a copy of the source)
    Much of the "keybindings" is like using a phrase, eg. "c3W" : Change Three Words
    -
    One of the most useful "tricks" is using the "t" char:
    Example use case: Say you have this line:
    echo $var . ":Is the right answer";
    Then say your cursor is at line start, go: f:ct"
    And paste (ctrl v) your buffer, hit esc.
    phrase is: ( find : change to quote )
    Then you can repeat the edit again with the period key.

  • @bigfoot131
    @bigfoot131 Před 3 lety +4

    After using vim, tried vscode and never looked back

  • @priteshugrankar6815
    @priteshugrankar6815 Před 4 lety +1

    Try adding this to your . vimrc
    inoremap jk
    This will remap jk to escape when you are in the "insert" mode.
    When you actually need to type jk as part of a text, you'll have to briefly wait after typing j and before typing k.
    There aren't much words in my daily usage that have the word jk so it works for me.
    Else try jj instead of jk.

  • @ParzivalHomage
    @ParzivalHomage Před 4 lety +5

    I am so used to vs code that other editors don't interest me.

  • @joacortez3423
    @joacortez3423 Před 4 lety

    Great videos. I love that you take the time to explain everything and still keep the entire video interesting to watch. Congrats!

  • @someoneyouveneverheardof
    @someoneyouveneverheardof Před 4 lety +4

    I think you should get set up with extensions like CoC.

  • @JonathanAlcaraz
    @JonathanAlcaraz Před 4 lety

    I think an important thing about vim is that it's not about blindly learning a bunch of keybindings; there's a sort of grammar to the keybindings. For example, pressing 'y' for 'yank' is copying, but you then need to tell it what to copy. So you could say yiw (yank inner word), yi[ (yank within the [ delimiter), or yy (to yank a whole line). There are videos on CZcams by people better at vim than me talking about this. I suggest anyone getting started with vim to look into these!

  • @_programming_
    @_programming_ Před 3 lety +4

    Another guy learning VIM just to impress others.

  • @lilclorox8558
    @lilclorox8558 Před 2 lety

    I love how you translated the word "month" from your language literally ahah

  • @virtualanmol1708
    @virtualanmol1708 Před 3 lety +4

    I pray whoever read this 🙏 get successful and achieve everything in life❣❣

  • @Soupie62
    @Soupie62 Před 3 lety

    If you are editing code on a primitive terminal, Vim (or vi)... works. Older keyboard, or reduced keyboard, with no function keys? Still works.
    REALLY old keyboard, with no arrow cursor keys? Yep, still works (you just need to learn which keys move the cursor).
    When you can't always control what interface you'll be using, Vim skills are a good tool to have.

  • @trenwar
    @trenwar Před 3 lety +4

    Next: How to code in MS Word
    LMAO

    •  Před 3 lety +1

      Next video: If you hasn't taken vim seriously for at least one week, you're not capable to give any shit of opinion

    • @Maniac-007
      @Maniac-007 Před 3 lety

      Joemama tech?

  • @amarjeet9536
    @amarjeet9536 Před 2 lety +2

    Please make complete VIM Tutorial

  • @ShimonDanilov
    @ShimonDanilov Před 2 lety

    There’s one little thingy: your program won’t even compile. It lacks import statements. And the thing is: any IDE will not only tell you that, but generate imports for you. It can even guess the correct import if there are multiple classes/methods with the same name. Most of the time you are not editing “text”, you edit !code! which has context. I don’t remember the name of the method of some utils class, but IDE will just… suggest it :) Oh, and btw, for every key binding that you use in the video there is a key binding in IDE (at least in Intellij). So if you really want to increase your productivity and impress someone with your speed: learn IDE

  • @AlexandrosFotiadis
    @AlexandrosFotiadis Před 3 lety +2

    when life is to easy, switch to vim and make the lifes of your teammates harder .