Let Vim Do the Typing

Поделиться
HTML-код
  • Опубликовано: 18 июн 2024
  • George Brocklehurst shows Vim's various built-in completion mechanisms. This will let us let Vim do the typing, writing fewer typos and faster!
    Learn more from the developers at thoughtbot ⌨️
    Head over to tbot.io/dev-blog to read more great articles on our blog.
  • НаукаНаука

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

  • @IanEdington
    @IanEdington 7 лет назад +175

    Overview: In insert mode you can...
    ^r = insert text from a register
    ^a = insert text from register '.'
    ^p = completion menu
    ^x = special "completion mode" submode of insert
    - - ^] = tag
    - - ^p = pull from previous context
    - - ^n = pull from next context
    - - ^f = file completion
    - - ^l = line
    - - ^o = omnicompletion
    How to change where to complete from:
    set complete

    • @fx5298
      @fx5298 4 года назад +4

      I've gotta say, ^x^f is pretty awesome.

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

      Nice to know ^x put vim completions in context aware mode

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

      i dont mean to be so off topic but does anyone know of a method to log back into an Instagram account??
      I somehow lost the account password. I would love any tips you can give me!

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

      @Soren Eddie Instablaster =)

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

      @Soren Dakari thanks so much for your reply. I got to the site through google and I'm in the hacking process now.
      Looks like it's gonna take a while so I will get back to you later when my account password hopefully is recovered.

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

    Not a coder, but a novelist looking to rework my workflow away from documents and into text files. Been learning vim recently and, honesty, it has been a revelation. And this talk just upped my vim game a few levels. Thank you.

    • @TheToric
      @TheToric 3 года назад +7

      It might be usefull to put some tome into learning LaTeX as well for the document formatting. Its helped me out a ton of times.

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

      @@TheToric Thank you. I will.

  • @VernonSwanepoel
    @VernonSwanepoel 8 лет назад +159

    How nice to watch a video where 8 minute in I'm already thinking "This was time well spent". Awesome!

    • @christopherfujino
      @christopherfujino 8 лет назад +9

      I'm at the exact same point right now, thinking the same thing!

    • @mitchkins5560
      @mitchkins5560 7 лет назад +2

      I felt like clapping around the 8 minute mark!

  • @diegorodriguezv
    @diegorodriguezv Год назад +11

    I watched this about a year ago and nothing made sense. This time everything seemed so clear. Vim is a never ending learning journey. If you don't understand what's happening here don't worry. Add it to your "watch later" playlist and come back in a while.

  • @3ombieautopilot
    @3ombieautopilot 5 лет назад +28

    The speaker deserves some kind of an award for showing CTRL + r and CTRL + a

  • @batlin
    @batlin 8 лет назад +6

    Vimgolf is a great way to pick up many of these shortcuts, but it was really nice to have a clear explanation here giving context to the optimisations.

  • @sethcenterbar
    @sethcenterbar 6 лет назад +10

    This dude is a wonderful presenter. The first time I watched this video a few months ago, I didn't really get it because I was just starting out, but this really is a great session to watch all the way through. Thanks!

  • @gregoireparis5494
    @gregoireparis5494 8 лет назад +7

    Didn't know about the at end of line trick. This is awesome!

  • @ruhnet
    @ruhnet 5 лет назад +9

    Super video! When I first started watching I almost stopped, because it seemed kindof silly and I'm not a big fan of CTRL key combinations, but as the video went along and more examples were shown, it became more and more useful and interesting. Well well worth the time to watch. Thanks!!

  • @cristophoenix
    @cristophoenix 9 лет назад +23

    A lot of good Vim tips in this video.

  • @martincox558
    @martincox558 7 лет назад +2

    This is a cool video with lots of great tips. Slightly confused that the guy used CTRL-] to jump to definitions, but wasn't aware of CTRL-T to go back. Great talk :)

  • @LeonidBraynerMyshkin
    @LeonidBraynerMyshkin 6 лет назад +11

    Guys, if you're trying to stay a bit more in insert mode, there's a way to manually create and undo point (while still in insert mode): C-g u.

  • @magno5157
    @magno5157 5 лет назад +1

    Great talk! Very clear and succinct.

  • @rakesh4a1
    @rakesh4a1 7 лет назад +6

    Some new VIM hacks added to my list. There is lot to learn in vim for easy coding.. thanks a lot.
    This tutorial is presented more than an year before, can we get some more hacks here Mr. George Brock. +1

  • @Atreyuguy590
    @Atreyuguy590 6 лет назад +150

    Hey! Vsauce. Micheal here.

  • @srinirg1
    @srinirg1 7 лет назад +1

    That is a very good tutorial. Thanks!.

  • @toxicsneeze
    @toxicsneeze 7 лет назад +2

    This is awesome sir, thanks for your video.

  • @harshraj22_
    @harshraj22_ 4 года назад

    Thanks a lot for this wonderful video.

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

    Very informative. Thanks.

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

    Brilliant. Can't believe I didn't know the line competion

  • @BluePaperUmbrella
    @BluePaperUmbrella 4 года назад

    Great video, thanks.

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

    Promoting open source software on close source OS that's something, good job men

  • @siegfriedgessulat4934
    @siegfriedgessulat4934 7 лет назад

    Thank you for the great talk!

  • @hangugeohaksaeng
    @hangugeohaksaeng 8 лет назад

    Great talk. Thanks!

  • @MikeCarden
    @MikeCarden 6 лет назад +4

    Great talk - thank you for sharing. I *am* twitching though. All these comments and nobody mentions what the fox did? If the fox 'jumped' rather than 'jumps', you have no letter 's'. The sentence is intended to exercise every alpha key on a typewriter. I'm curious. Has anyone mentioned this in live talks?

  • @GSourceCode
    @GSourceCode 5 лет назад +2

    Best talk on power of insert mode
    1. Ctrl x + f #filename complete
    ] #tag complete
    l #line complete
    o #language complete
    p #word complete
    n # word complete
    2. Ctrl + r + a # a register
    Register " & 0 is current resister are woderful
    Amazing talk. Thanks a lot
    GitHub repo : georgebrock/talks

  • @PestOnYT
    @PestOnYT 5 лет назад +1

    Great vid. Learned some new tricks. I was hoping to "map" ^x^p to a function key (F7), however in insert mode it just inserts . Would have been great. I may have to use macro keys of my keyboard... Anyways, thank you very much sir!

    • @user-hj1dc2wp7v
      @user-hj1dc2wp7v 4 года назад +2

      You have to use :inoremap, as in "(i)nsert mode (no)n (re)cursive (map)ping". If you don't put the "i" you're only mapping for normal, visual and select modes by default.

  • @ahallock
    @ahallock 4 года назад +1

    TabNine takes completion to an entirely new level

  • @jozsefgubicza8808
    @jozsefgubicza8808 8 лет назад +2

    Really great talk! I've never used VIM in this way but it's super cool that it can do that. How do u show what your typed in chars at the bottom of the window? Is it a plugin or can be set up this way? It would be useful for me to know what I've just typed in to make sure.

  • @Jack-qd4xe
    @Jack-qd4xe 8 лет назад +1

    Great video. Very informative. Is there anything like this available for Emacs?

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

    +1 for not remapping leader key. ',' is useful for going back after f and t.

  • @ifohancroft
    @ifohancroft 3 месяца назад

    Can someone link to rcm, please? It's not linked in either the description or the video's associated blog post.

  • @josephknightcom
    @josephknightcom 5 лет назад +6

    Side note to all, to turn off spell check: :set spell!
    Not intuitive and is not in the ":help spell" vim documentation.

    • @geoptus
      @geoptus 5 лет назад

      true, the use of ! is not obvious to find,
      i ran ":h toggle" and got the general "set-options E764", "set-! :set-inv"
      typically, any boolean type attribute will 'toggle/invert value' with "!"
      a good use case - :set relativenumber!

    • @recklessroges
      @recklessroges 4 года назад

      :set nospell

    • @wulymammoth
      @wulymammoth 4 года назад

      Also better to have it only set for particular file types like markdown

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

    Should've called this video, "Chad Insertion (Mode)"

  • @chris-ew9wl
    @chris-ew9wl 3 года назад

    So I tried this out, is there a way to make Ctrl-X Ctrl-P work across buffers? Or it only works on the same buffer?

    • @chris-ew9wl
      @chris-ew9wl 3 года назад +2

      Okay, I figured this out, I hope someone finds this useful. You need to do a Ctrl-N *first* if you're doing it across buffers. After that context-aware kicks in and Ctrl-X Ctrl-P works now.

  • @MarkSkipperBiterjug
    @MarkSkipperBiterjug 8 лет назад +5

    What's that awesome jazz at the beginning?

    • @Vinomix
      @Vinomix 7 лет назад

      james bond

  • @pspicer777
    @pspicer777 5 лет назад +8

    First there was Vi vs. Emacs ... then the Big Bang and the Expansion of the Universe....

    • @VanStabHolme
      @VanStabHolme 4 года назад

      Vim tries to be a good editor that can also be an IDE.
      Emacs tries to be a good editor but ends up being OS.

  • @mingwen196
    @mingwen196 6 лет назад +5

    11:23, how can he show the next key options following c-x?
    oh , i see
    set showcmd

  • @ddddddddd345
    @ddddddddd345 8 лет назад

    I have a `+insert_expand` enabled, but Ctrl-X in insert mode does not seem to be doing anything for me. What am I missing?

    • @cthzierp5830
      @cthzierp5830 4 года назад

      It might have been remapped to Cut (as in cut/copy/paste) by the installer?

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

    Hello thoughtbot, thanks for this video! How do we know the word Hello is in Register 'a' and the word World is in Register 'b' ? Your reply could really help me a lot! Hope to hear from you soon.

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

      you can yank text objects into registers by pressing “y. There are also the special registers * and + that allow you to copy and paste from your clipboard with “*y and “*p. You’ve probably figured it out by now but hopefully anyone else can learn something new

  • @Phantom-pj1ls
    @Phantom-pj1ls 3 года назад

    For some reason example at 4:02 doesn't work for me :(
    When I press . it only repeats "world"

  • @JustinCDas
    @JustinCDas 8 лет назад

    Thanx for this video........

  • @theAIex2
    @theAIex2 5 лет назад

    Does anyone knows how to add the option kspell for the autocompletion?

    • @geoptus
      @geoptus 5 лет назад

      if you mean ":set complete=.,w,b,u,t,i,kspell",
      add this line to your vimrc file

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

    Haha, vim as a language model, awesome

  • @KbIPbIL0
    @KbIPbIL0 8 лет назад +3

    "Control X Control Oops"

  • @opal6605
    @opal6605 5 лет назад +8

    g; return to last edit

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

      '. does the same thing.

  • @gladwinmohlamonyane4033
    @gladwinmohlamonyane4033 6 лет назад

    this information can be found in the help files right?

    • @nafaa-news
      @nafaa-news 6 лет назад

      Yea, :help i_CTRL_X will get you to that CTRL_X tip help. The help files are huge and you'll get lost there very quickely if you don't know what you're looking for.

    • @Ihavetoreturnsomevideotapes
      @Ihavetoreturnsomevideotapes 5 лет назад

      Haha I know

  • @LukeAvedon
    @LukeAvedon 5 лет назад

    Stupid question: How do I add kspell to set complete?

    • @recklessroges
      @recklessroges 4 года назад

      :set complete=.,w,b,u,t,i,kspell
      or echo "set complete=.,w,b,u,t,i,kspell" >>~/.vimrc

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

    Balding? Check.
    Glasses (with thick rimmed frames)? Check.
    Beard? Check.
    T-shirt? Check.

  • @kurt44mg42
    @kurt44mg42 5 лет назад +4

    @6:56 The quick brown fox jumps - not jumped - over the lazy dog. Just saying...

  • @Tala2n
    @Tala2n 4 года назад +1

    The fact you have to type "Ctrl-P" to get the completion suggestions kills the benefit of the feature for most words.

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

    He's a Ctrl freak
    Just kidding, loved the content.

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

    I'm disapointed. I thought vim had implemented neurolink so that we can type with our minds. This suffices enough though :)

  • @okuno54
    @okuno54 8 лет назад

    "Tests have a repetitive structure" which is why I use a strong type system :P
    Not really related to the talk, but it's odd to see how much my methods have changed in the last few years.

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

    The audio level on this fluctuates from low to inaudible, unfortunately.

  • @nihilistic7840
    @nihilistic7840 4 года назад

    I didn't know about text completion! ^p and ^n!

  • @rmmichael95
    @rmmichael95 6 лет назад +31

    That moment when he presses a Enter esc instead of o...

    • @VulcanOnWheels
      @VulcanOnWheels 4 года назад

      If you're referring to a moment in the video, it's a good thing to include the time index. I usually do it at the beginning of the line.

    • @gurdeepgss
      @gurdeepgss 4 года назад +1

      @@VulcanOnWheels 2:52 , there you go buddy.

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

    I tried to enter in insert mode here in youtube but it minimized the video.

  • @mikej7476
    @mikej7476 5 лет назад +1

    This is WAYYYY more typing than it needs to be. At least from what he is saying and showing, it comes across as twice the work for two words.Why does it come across like twice the amount of work for such a small amount of text?

    • @ex0stasis72
      @ex0stasis72 5 лет назад +15

      That's like saying that people learning programming shouldn't write hello world programs. They should just open up a Word document and type "Hello World!" because it's easier. The point is to show a concept in a simple context so that you can use it for longer strings of text with symbols and other obscure characters to type.

  • @freeuyghur2063
    @freeuyghur2063 6 лет назад +1

    ctrl + x is so powerfull.

  • @chewie481
    @chewie481 9 лет назад

    ctrl-x is such a horrible bind. on my layout, x is directly under the left pinky so pressing left ctrl is out, and the right one is too far away... I’ll probably bind it to x

    • @rooneye
      @rooneye 9 лет назад +5

      M1zzu q Change Caps Lock to CTRL :D

    • @thomasloven
      @thomasloven 8 лет назад +4

      +M1zzu q So? This is vim. Remap it to something that works for you.

    • @DurgaswaroopPerla
      @DurgaswaroopPerla 8 лет назад +1

      +Thomas Lovén Yep. Do what ever works for you!

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

    I love hitting ctrl-x, ctrl-] to autocomplete a tag name in my project. Just kidding, it's terrible, Vim is inefficient by design and forces you to learn how to glue lots of nasty little commands together like these to try to be efficient. Sure you could use a modern IDE that does all of this for you with intellisense, but that wouldn't give you carpal tunnel from vim commands, so maybe it's not worth it.

  • @richardbekking
    @richardbekking 4 года назад

    Shorter commands:
    set rnu
    set nu

  • @user-lh8df2pt5k
    @user-lh8df2pt5k 5 лет назад +1

    oh, what am I doing here, I remembered I'm an emacs user..

    • @neonblood4658
      @neonblood4658 4 года назад

      Fate brought you here, switch to the good side

  • @xged.
    @xged. 5 лет назад

    Spacemacs out-of-the-box (auto)completion is significantly better then this one. (Although this vid is 4yo)

    • @wulymammoth
      @wulymammoth 4 года назад

      I wouldn’t switch back to Spacemacs for subjectively “better” completion. I’ve used Spacemacs and configuring it was such a pain in the ass for the 9 months that I tried it. Vim/Neovim with LSP (language server protocol) is probably better than what you’re suggesting

  • @encycl07pedia-
    @encycl07pedia- Год назад

    I stopped watching as soon as I saw the unmistakable Mac/Apple UI. Not only is Mac OS terribly inefficient and garbage at multitasking (even 8 years later in 2023), it's also one of the pioneers in anti-consumerism in the 21st century.