Why I'm Switching Text Editor To Vim

Поділитися
Вставка
  • Опубліковано 13 вер 2024
  • Ігри

КОМЕНТАРІ • 1,1 тис.

  • @charlesthurlo9128
    @charlesthurlo9128 3 роки тому +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 3 роки тому +7

      lol, imagine promoting paper companies in 2040s

    • @ryankapyamba102
      @ryankapyamba102 3 роки тому +1

      Lol very funny

    • @user-he4ef9br7z
      @user-he4ef9br7z 3 роки тому +12

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

    • @Khiladi_99
      @Khiladi_99 3 роки тому +10

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

    • @agushex
      @agushex 3 роки тому +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 4 роки тому +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 3 роки тому +2

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

    • @TrevHolland
      @TrevHolland 2 роки тому +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 2 роки тому +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 Рік тому

      ​@@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 Рік тому

      ​@@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 4 роки тому +961

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

  • @134552Adnan
    @134552Adnan 4 роки тому +300

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

    • @hoshiya4522
      @hoshiya4522 4 роки тому +19

      Big Brain

    • @ArpitBhakta
      @ArpitBhakta 4 роки тому

      Yesssss

    • @hypnoticlizard9693
      @hypnoticlizard9693 4 роки тому +11

      I use control on the key where caps lock usually is

    • @EthanZemelman
      @EthanZemelman 4 роки тому +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 4 роки тому

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

  • @tanned_cosines_
    @tanned_cosines_ 4 роки тому +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 4 роки тому +7

      Yes basics are good but you might wanna go deeper into vim so here's the best vim tutor video: ua-cam.com/video/d8XtNXutVto/v-deo.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_  4 роки тому +13

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

    • @soham7510
      @soham7510 3 роки тому +1

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

    • @nasreddinehodja5930
      @nasreddinehodja5930 3 роки тому

      @@soham7510 🤣 someone caught at last...

  • @MagnusAnand
    @MagnusAnand 4 роки тому +207

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

    • @openedeyes6110
      @openedeyes6110 3 роки тому +15

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

    • @samuelgunter
      @samuelgunter 3 роки тому +1

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

    • @senjuchidori9448
      @senjuchidori9448 3 роки тому +3

      I code using Boolean algebra and Karnaugh mapping

    • @multilangcoder8723
      @multilangcoder8723 2 роки тому

      LOSERS, I USE TRANSISTORS!

  • @XDjUanZInHO
    @XDjUanZInHO 4 роки тому +53

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

  • @tomy7424
    @tomy7424 4 роки тому +37

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

    • @jamirvillarosa7924
      @jamirvillarosa7924 3 роки тому

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

    • @neek01
      @neek01 3 роки тому

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

  • @Diamonddrake
    @Diamonddrake 3 роки тому +183

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

    • @GergiH
      @GergiH 3 роки тому +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 3 роки тому +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 3 роки тому +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 3 роки тому +2

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

    • @mohamedirfan2816
      @mohamedirfan2816 3 роки тому +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

  • @viko1786
    @viko1786 4 роки тому +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 3 роки тому +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.

  • @gabrielcavalcante4063
    @gabrielcavalcante4063 4 роки тому +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.

  • @CorentinCham
    @CorentinCham 4 роки тому +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 4 роки тому +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 4 роки тому +1

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

    • @StrangeIndeed
      @StrangeIndeed 4 роки тому +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 4 роки тому +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 4 роки тому

      dw also works. 1 less extra key to press.

  • @DeanG621
    @DeanG621 4 роки тому +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:).

  • @viljamip
    @viljamip 4 роки тому +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.

  • @kodesafi
    @kodesafi 4 роки тому +7

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

  • @nelufixak3314
    @nelufixak3314 4 роки тому +159

    I hate those AlgoExpert Ads

    • @alexandervogtsanchez7522
      @alexandervogtsanchez7522 4 роки тому +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 3 роки тому +13

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

    • @王甯-h2x
      @王甯-h2x 3 роки тому

      @@depression_isnt_real LOL

    • @nikhilmwarrier7948
      @nikhilmwarrier7948 3 роки тому +1

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

    • @titaniumwolf2
      @titaniumwolf2 3 роки тому

      @@depression_isnt_real She's a munter.

  • @anirudhrowjee1378
    @anirudhrowjee1378 4 роки тому +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 4 роки тому +2

      or just set smartindent

    • @combdn
      @combdn 3 роки тому

      In VSCode you just hit Enter.

    • @googleuser9422
      @googleuser9422 3 роки тому +1

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

  • @frissenm
    @frissenm 4 роки тому +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

  • @abhinavdc
    @abhinavdc 4 роки тому +145

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

    • @Goalatio
      @Goalatio 3 роки тому +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 3 роки тому +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 3 роки тому +1

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

    • @jb_lofi
      @jb_lofi 3 роки тому +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 3 роки тому +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.

  • @mtony811
    @mtony811 3 роки тому +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.

  • @BryanJenks
    @BryanJenks 4 роки тому +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

  • @kyedav
    @kyedav 3 роки тому +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.

  • @parzival988
    @parzival988 4 роки тому +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!

  • @briandesign
    @briandesign 4 роки тому +53

    who's watching this as a vscoder?

    • @kavinbharathi
      @kavinbharathi 4 роки тому +6

      VS code all day every day man...

    • @mrtek8095
      @mrtek8095 4 роки тому +2

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

    • @pilleow
      @pilleow 4 роки тому +2

      vscode all the way

    • @briandesign
      @briandesign 4 роки тому +1

      @@kavinbharathi aye!

    • @Maniac-007
      @Maniac-007 3 роки тому +1

      True vscode alphas

  • @guiAI
    @guiAI 4 роки тому +40

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

    • @AndersJackson
      @AndersJackson 3 роки тому +1

      Emacs: what? Hold my beer...
      :-)

  • @alxcretu
    @alxcretu 4 роки тому +177

    There is a vim vscode extension

    • @priyanshusaraf9495
      @priyanshusaraf9495 4 роки тому +14

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

    • @macmanuelodumeru3708
      @macmanuelodumeru3708 4 роки тому +27

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

    • @lucianodsb
      @lucianodsb 4 роки тому +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 4 роки тому +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 4 роки тому

      theres onivim2
      ima panda

  • @chastitywhiterose
    @chastitywhiterose 3 роки тому +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.

  • @hemanthkotagiri8865
    @hemanthkotagiri8865 4 роки тому +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!

  • @VarunVargheseMuriyanat
    @VarunVargheseMuriyanat 3 роки тому +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.

  • @minhajsixbyte
    @minhajsixbyte 4 роки тому +3

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

  • @theftking
    @theftking 8 місяців тому +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 2 місяці тому

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

  • @studystreams3733
    @studystreams3733 3 роки тому +4

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

  • @Thanatos2996
    @Thanatos2996 3 роки тому +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 4 роки тому +14

    next video: why im using dwm for my window manager

    • @jones1749
      @jones1749 4 роки тому

      Why I switched to using tmux in a tty

    • @miles7267
      @miles7267 4 роки тому

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

    • @zyan983
      @zyan983 4 роки тому +1

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

  • @wailshudar
    @wailshudar 8 місяців тому

    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.

  • @xinyucao5550
    @xinyucao5550 4 роки тому +16

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

  • @borrachagamer
    @borrachagamer 4 роки тому +1

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

  • @Lumary
    @Lumary 4 роки тому +8

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

  • @Johnny-ju6di
    @Johnny-ju6di 2 роки тому

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

  • @yolamontalvan9502
    @yolamontalvan9502 3 роки тому +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 3 роки тому +1

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

    • @neek01
      @neek01 3 роки тому +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 2 роки тому

      @@neek01 the muscle memory struggle is real

  • @treeoflife7151
    @treeoflife7151 3 роки тому +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 4 роки тому +8

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

  • @callumanderson2645
    @callumanderson2645 Рік тому +1

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

  • @DJBOOUBA
    @DJBOOUBA 4 роки тому +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 4 роки тому +1

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

    • @DJBOOUBA
      @DJBOOUBA 4 роки тому +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 4 роки тому

      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 3 роки тому +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.

  • @adamdrake7182
    @adamdrake7182 3 роки тому +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

  • @yudhiesh1997
    @yudhiesh1997 4 роки тому +8

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

    • @anshulkanwar1
      @anshulkanwar1 4 роки тому

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

    • @matthewlin5484
      @matthewlin5484 4 роки тому +1

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

    • @anshulkanwar1
      @anshulkanwar1 4 роки тому

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

    • @matthewlin5484
      @matthewlin5484 4 роки тому

      @@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 4 роки тому

      @@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. 🤷‍♂️

  • @tweedle634
    @tweedle634 4 роки тому

    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.

  • @pranavdesai5333
    @pranavdesai5333 3 роки тому +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 10 місяців тому

    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.

  • @crystal14w
    @crystal14w 4 роки тому +23

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

    • @pasantru9644
      @pasantru9644 4 роки тому +4

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

    • @crystal14w
      @crystal14w 4 роки тому +4

      Pasantru the way it looks aesthetic wise

    • @crystal14w
      @crystal14w 4 роки тому

      Benji Nguyen My gawd! So inspiring!

    • @langzai
      @langzai 4 роки тому +1

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

    • @pasantru9644
      @pasantru9644 4 роки тому

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

  • @_zetrax
    @_zetrax 4 роки тому +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.

  • @0o0o00o00000
    @0o0o00o00000 4 роки тому +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 :)

  • @Lowacy
    @Lowacy 4 роки тому +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

  • @freddyfozzyfilms2688
    @freddyfozzyfilms2688 4 роки тому +3

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

  • @quentincaldway
    @quentincaldway 3 роки тому

    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!

  • @noahfletcher3019
    @noahfletcher3019 3 роки тому +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.

  • @EthanZemelman
    @EthanZemelman 4 роки тому

    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!

  • @dailyDesi_abhrant
    @dailyDesi_abhrant 4 роки тому +182

    This guy is slowly quitting all comforts of life.

  •  4 роки тому +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.

  • @georgemanakanatas1241
    @georgemanakanatas1241 3 роки тому +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 3 роки тому

      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 3 роки тому +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 3 роки тому +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 3 роки тому +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 3 роки тому +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.

  • @saggitt
    @saggitt 3 роки тому +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.

  • @lemurza5236
    @lemurza5236 4 роки тому +3

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

  • @Belgarathe
    @Belgarathe 4 роки тому +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

  • @davidrivard1252
    @davidrivard1252 4 роки тому +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.

  • @EthanZemelman
    @EthanZemelman 4 роки тому +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 3 роки тому

      How to map jk only in insert mode?

    • @EthanZemelman
      @EthanZemelman 3 роки тому

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

  • @LagFlicks
    @LagFlicks 3 роки тому +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?

  • @joacortez3423
    @joacortez3423 4 роки тому

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

  • @samuelcacador
    @samuelcacador 4 роки тому +6

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

  • @deltacubes9182
    @deltacubes9182 4 роки тому +1

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

  • @McVilko
    @McVilko 3 роки тому +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 3 роки тому

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

    • @McVilko
      @McVilko 3 роки тому +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

  • @bitcointrader8586
    @bitcointrader8586 4 роки тому

    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

  • @kedarshinde4216
    @kedarshinde4216 4 роки тому +3

    YES! Welcome to the cult of VIM!

  • @MrFurriephillips
    @MrFurriephillips 4 роки тому +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 3 роки тому

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

  • @pixelkeckleon1171
    @pixelkeckleon1171 4 роки тому +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 4 роки тому +4

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

    • @mgaliazzo
      @mgaliazzo 4 роки тому +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 4 роки тому

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

    • @mgaliazzo
      @mgaliazzo 4 роки тому +2

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

    • @younlok1081
      @younlok1081 4 роки тому +1

      @@mgaliazzo yeah my pc sucks
      but still electron sucks

  • @jake5129.
    @jake5129. 3 роки тому

    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!

  • @thedeegan
    @thedeegan 4 роки тому +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 4 роки тому +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 4 роки тому +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 4 роки тому +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 4 роки тому +20

      Soy dev

    • @ChrisJones-rd4wb
      @ChrisJones-rd4wb 4 роки тому +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.

  • @sujayr6983
    @sujayr6983 4 роки тому

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

  • @naveenkr5992
    @naveenkr5992 4 роки тому +35

    There's Neovim too.

    • @jones1749
      @jones1749 4 роки тому +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 4 роки тому +2

      I’d recommend neovim as well!

  • @priteshugrankar6815
    @priteshugrankar6815 4 роки тому +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.

  • @namcxn8086
    @namcxn8086 3 роки тому +4

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

    • @Throneos
      @Throneos 3 роки тому

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

  • @alexandrecastro5392
    @alexandrecastro5392 4 роки тому +1

    Man, I am a really vim fan. You can use neovim and talk about vim plugins. Its fantastic.
    There is some youtube channels you can check. The Primeagen and vim screencast are the best.

  • @Kwales66
    @Kwales66 4 роки тому +10

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

  • @Soupie62
    @Soupie62 3 роки тому

    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.

  • @someoneyouveneverheardof
    @someoneyouveneverheardof 4 роки тому +4

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

  • @eduardobrito3943
    @eduardobrito3943 4 роки тому +1

    0:40 What is Vim?
    2:45 Simple program in Java
    4:15 CodeAcademy go.magik.ly/ml/10kxa/
    5:20 Disadvantage
    6:55 How long does it take to learn?
    8:35 Vim Tutor
    8:40 Conclusion

  • @bigfoot131
    @bigfoot131 3 роки тому +4

    After using vim, tried vscode and never looked back

  • @amarjeet9536
    @amarjeet9536 2 роки тому +2

    Please make complete VIM Tutorial

  • @sweatobertrinderknecht3480
    @sweatobertrinderknecht3480 4 роки тому +5

    Java is the ugliest prog. language on earth.

  • @StrangeIndeed
    @StrangeIndeed 4 роки тому +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

  • @ParzivalHomage
    @ParzivalHomage 4 роки тому +5

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

  • @LoLei3239
    @LoLei3239 3 роки тому

    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.

  • @_programming_
    @_programming_ 3 роки тому +4

    Another guy learning VIM just to impress others.

  • @ryanleemartin7758
    @ryanleemartin7758 3 роки тому +1

    vim is great. i use it but I also use jetbrains with vim emulation which is also surprisingly good. I really like the idea of learning the vim keybindings and applying them to everything you can. It's an efficient way to work with text. It's the best part of vim really. There is also a black hole waiting for you on the configuration and scripting side. I don't care what anyone says, it's a massive time sink. The more you try to turn it into an ide the worse it becomes.

  • @virtualanmol1708
    @virtualanmol1708 3 роки тому +4

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

  • @gambyt5952
    @gambyt5952 2 роки тому

    Just make sure to launch vim as Sudo. I spent a solid 20 minutes trying to figure out why I couldn't save the first time I used it🤦‍♂️

  • @trenwar
    @trenwar 4 роки тому +4

    Next: How to code in MS Word
    LMAO

    •  3 роки тому +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 3 роки тому

      Joemama tech?

  • @hexa3389
    @hexa3389 4 роки тому +1

    It takes a little bit of time to setup vim exactly how you want it. But it's all worth it because then it's the best you could wish for. Unless you want to go with emacs which is both harder to learn and harder to setup but again is more customizable.

  • @LeonardoCamargo9
    @LeonardoCamargo9 4 роки тому +1

    There are quite some plugins that give you the VIM code editor but in a regular editor, so you still have some of the handy IDE tools such as database browsing, debugging and etc, but with the speed of typing with VIM. (PHPStorm has a pretty good one)

  • @yega3k
    @yega3k 3 роки тому

    I used vim once on an old Acer netbook (8.9in display, 512mb ram, 16gb ssd, Linux distro). I really enjoyed the way I could focus using it with what felt like surgical precision! I don’t know if I’ll ever do that again and unfortunately I’ve forgotten most of what I learned! Oh well.