Neovim motion plugins compared: Quick Scope v Hop v Lightspeed

Sdílet
Vložit
  • čas přidán 26. 08. 2024
  • I've been trying out a few motion plugins for Neovim: Quick Scope, Hop and Lightspeed:
    Quick Scope: github.com/unb...
    Hop: github.com/pha...
    Lightspeed: github.com/gga...
    Thanks to everyone who worked on these plugins 👍 all great in their own way.
    If this was useful, please consider buying me a coffee. It really helps out with getting these videos made: ko-fi.com/benf...
    My init.lua
    @benfrain init.lua (Always a WIP!): gist.github.co...
    You can find my web development books here: www.amazon.com...
    My video courses, including 'Ultimate Text Editing Productivity with Sublime Text':
    Skillshare: www.skillshare...
    Udemy: www.udemy.com/...
    Subscribe to my infrequent newsletter here:
    benfrain.us19.... and I can update you with news of new courses, what I've been working on and reading.

Komentáře • 46

  • @peteryates308
    @peteryates308 Před 2 lety +8

    I've tried a few of this style of plugin over the years but always just go back to relative line numbers and j/k. Combined with incremental search I can get where I need to quick enough.

    • @irascib1e
      @irascib1e Před 2 lety

      But then how do you move horizontally?

    • @peteryates308
      @peteryates308 Před 2 lety

      @@irascib1e f, F, t and T for the most part - or w, b, e if I'm close.
      Perhaps the motions plugins are faster in some instances

    • @deadlysquad13
      @deadlysquad13 Před 2 lety +1

      @@peteryates308 Quick scope is the best choice for you then. It helps significantly with horizontal motion, quite vanilla and inobtrusive. Unfortunately, in video it was highly disregarded, most likely the author of the video just didn't try to learn it that much.
      When you want to move, you need to press some character of the word you want to jump to. Sometimes it gets a little bit tedious as there're bunch of same characters before this word:
      function my_function(foo, bar, far)
      In the example above, if you want to jump from beginning of the line to the 'far', you will have to press f bazillion times. Quickscope will instead highlight you the character 'a' in far as you need only to press it two times to get to far. Once you get to the word you can use your preferred motions such as `ciw` to change it.
      If the permanent highlights annoy you, just use this (from github page):
      " Trigger a highlight in the appropriate direction when pressing these keys:
      let g:qs_highlight_on_keys = ['f', 'F', 't', 'T']
      " Trigger a highlight only when pressing f and F.
      let g:qs_highlight_on_keys = ['f', 'F']
      Personally I use Lightspeed, for me it seems much faster just as an author of the plugin states but earlier quickscope was my favorite to move around as it is simple yet effective.

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

    Thanks for the introduction. I think Tiny Bandit could be right, as I'm sure these plugins are way way deeper than explained here. Nevertheless, I appreciate the 1000 foot view, and my curiosity for Lightspeed is peaked.

  • @cookiesInChocolate
    @cookiesInChocolate Před rokem +1

    How I was so irritated by bad visibility of second character color but I didn't changed it until now. You saved my life (my braincells) - thank you!
    I found that HopChar2 is fastest and least cognitive demanding. With HopChar2 you have to 'scan' and press only one key and with HopWord it's almost always 'scan' two keys and type two keys then.

    • @benfrainuk
      @benfrainuk  Před rokem +1

      I’ve actually moved on to using Pounce now. Think that’s even better for my needs. 👍

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

    Thanks, I liked Hop, this is very configurable.

  • @monugupta32
    @monugupta32 Před rokem

    Short & concise, loved it! Looking to see if there are other VIM tips that I can get here.

    • @benfrainuk
      @benfrainuk  Před rokem

      Excellent. Volume 2 should be coming soon 👍

  • @NanoTecked
    @NanoTecked Před 10 měsíci +1

    Quick Scope: 0:30
    Hop: 1:52
    Lightspeed: 34:35

  • @frozen_tortus
    @frozen_tortus Před 2 lety +1

    Thanks Ben, really appreciate your way of review and very much agree about quick scope I had the same happend to me.

  • @RizwanIshakthesinister
    @RizwanIshakthesinister Před rokem +1

    Thank you. I am exactly in this spot right now. Been using hop for long, switched to lightspeed to try it out for sometime now. The cognitive load on separate keybindings, the confusion of using same characters but for different jump spots based on background and all ring so true. Add to that lightspeed might see less attention from its developer now that he/she has moved on to a different plugin in the same vein, Leap.
    One tip for hop users is - use vim.schedule to write a function to go to insert mode after jump using hop.

    • @benfrainuk
      @benfrainuk  Před rokem

      Hi Rizwan, I need to do a follow up video because the one I use now is pounce. It’s even more straightforward and works exactly as I would like. Perhaps it might suit you too?

    • @RizwanIshakthesinister
      @RizwanIshakthesinister Před rokem

      @@benfrainuk Sold!! With a little tweaking of PounceAccept and PounceMatch highlight groups, it is now my daily driver. Here is to wishing pounce dev implement dimming of buffer.

    • @benfrainuk
      @benfrainuk  Před rokem

      @@RizwanIshakthesinister Excellent! I use Colemak and I changed the accept keys and find it perfect for my needs now 👍

  • @jonathanking4097
    @jonathanking4097 Před 2 lety +1

    Very cool video, just stumbled onto this channel. I'm probably going to try out lightspeed for the sake of masochism. Also, hello fellow moonlander/ colemak user! Those keycaps have me jealous.

    • @benfrainuk
      @benfrainuk  Před 2 lety

      Ha, they are a bunch of mixed DSA caps from signature plastics 👍

  • @reoring
    @reoring Před 2 lety +1

    Thank you for creating great video😌

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

    with a bit of configuration i thought easymotion was the best, i'm transitioning to lua now so gonna use hop.
    my only problem with easymotion was that it would be slow with a lot of text on screen, rly looking forward to testing if lua speeds it up
    ***just got in running in lua nvim and imo it does seem a little snappier which is rly great!

    • @benfrainuk
      @benfrainuk  Před 2 lety +1

      I actually favour Pounce now. Just seems to suit my mental model better!

  • @tinybandit5203
    @tinybandit5203 Před 2 lety +1

    Hi Ben,
    I'm glad you re giving vim/neovim a go (suggested it in a previous video of yours)
    I like your content, the production quality is really good (impecable sound / editing), everything flows.
    Unfortunately, the content when in regards to neovim seems a bit shallow, you should research more the subject you cover.
    For exemple, saying that those plugin allow anyone to not use the mouse seems super strange as vim/neovim whole point is to not use the mouse and it doesn t need any plugins to achieve that.
    It feels that you did your research and used neovim but haven't made it yours yet, if that makes sense.
    On another note, the downside that you mention for quickscope is an option you can turn off in the settings and present in the documentation.
    Im not trying to be hurtful or anything, on the contrary, you already have the means to make great videos, but they should illustrate thoroughly researched content.
    I hope you take it the way i mean it: with love and respect with what you do !

    • @benfrainuk
      @benfrainuk  Před 2 lety +1

      Hi, thanks for the feedback. I’ve been using Vim on and off since 2014, and Neovim since 2019 so fairly used to it now (few posts on my blog on the subject ;)).
      The point about not using the mouse was more that I have always sought these kind of plugins out with other editors because it means I don’t need to use the mouse there. I obviously didn’t articulate that very well.
      You’re right I missed out about the fact you can have quick-scope only highlight when a certain key is pressed. That’s my bad but it doesn’t change my opinion or preference on the three.
      But I appreciate the honest feedback. Always try and take it in the spirit intended. No drama. All good 👍

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

    I installed lightspeed two days ago and found it requires some mental effort to use effectively. I'll try hop and see how it goes.

    • @benfrainuk
      @benfrainuk  Před 2 lety

      Hi Chad, let me know how you get on with Hop. 👍 sounds like we had a similar experience with Lightspeed!

    • @chadwinters4285
      @chadwinters4285 Před 2 lety

      @@benfrainuk I just gave it a shot. It seems more intuitive than lightning. The only issue is that it highlighting doesn't get highlighted with my colorscheme (NTBBloodbath/doom-one.nvim).

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

      @@chadwinters4285 maybe take a look at my mappings.lua file. Right at the bottom is the color overrides I use for Hop. You could set something that matches Doom that way 🤷‍♂️

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

    hop has been a no hustle to setup and it works great

  • @frydac
    @frydac Před 2 lety +1

    with quickscope it's possible to set the 'Highlight on key press' option, then it doesn't really interfere

    • @benfrainuk
      @benfrainuk  Před 2 lety

      Yes, I defo should have mentioned that but I feel if you’re doing that, you may as well opt for something that let’s you hop across multiple lines too.

  • @oalfodr
    @oalfodr Před 2 lety +1

    Hi. Just want to thank you mentioning higher cognitive load. Some actions just take more time compared to the others...

  • @lauriran
    @lauriran Před 5 měsíci

    3:13 Blasphemy!

  • @pgtrots
    @pgtrots Před 2 lety

    Thank you for the comparison. What do you enjoy about easy motion plugins and why do you feel you need one?
    I've been a long time vim user and have been aware of these plugins but don't see any obvious benefit to them. I guess I should try one out but I don't really get it.
    One vim shortcut that I'm surprised more people don't know and I suspect may be why they think they need easy motion is ; which will repeat your previous f command. So if you know you want to reach a t on the current line then you press ft;;; etc until you get there. I get the impression that this is one of the most used easy motion features but it is already built in.

    • @benfrainuk
      @benfrainuk  Před 2 lety +1

      Hi! That’s a good question. I certainly could get by without one. However the lazy part of me appreciates the ability to move in both axis in one go occasionally. You can obviously do something analogous with ‘/‘ and ‘?’ too but it’s a little more precise this way and in some ways better conveys my intent.
      I do find ‘;’ very useful - it’s one of the reasons I prefer Hop over Lightspeed as the latter takes it over 👍 with something like Hop though, the need for it diminishes as you are targeting exactly where you want to get to up front, rather than moving forward and then repeating that motion.
      That said, I’d venture if you haven’t used one so far, you probably don’t need one now!

  • @JamsMendez
    @JamsMendez Před 2 lety +1

    what cables to use in your moonlander?

    • @benfrainuk
      @benfrainuk  Před 2 lety +1

      I coiled the TRRS one that came with it and the USB one too. I do have another coiled/braided one but I forget where I got that!

  • @apina2
    @apina2 Před 10 měsíci +2

    I use sneak without label mode and you can't even fucking stop me!

  • @phyzix_phyzix
    @phyzix_phyzix Před 2 lety +1

    Peter Santenello with an accent.

    • @benfrainuk
      @benfrainuk  Před 2 lety +1

      Not sure what that means. If it’s a compliment, I’ll take it. If it’s an insult shame on you

    • @phyzix_phyzix
      @phyzix_phyzix Před 2 lety

      @@benfrainuk Definitely a compliment.

    • @benfrainuk
      @benfrainuk  Před 2 lety +1

      @@phyzix_phyzix then I’ll take it 🙏🤣

  • @Danielo515
    @Danielo515 Před 2 lety

    for me all the mentioned plugins have too much mental overhead and or clutter. It's a lot of effort to remember what I'm supposed to do when all I want is to get there. Easy motion it's been the most intuitive to me, I just type the word where I want to get, period. No need to think about next character or groups or anything

    • @benfrainuk
      @benfrainuk  Před 2 lety +1

      I’ve actually recently started using Pounce which I think is now my favourite. Wasn’t around when i recorded this video though!

    • @Danielo515
      @Danielo515 Před 2 lety

      @@benfrainuk I just installed pounce, and it looks like the perfect blend between easy jump and the others. Love it's fuzzy nature, I'm loving it. Thanks

    • @benfrainuk
      @benfrainuk  Před 2 lety +1

      @@Danielo515 yes. It’s great. Will feature it in a future video 👍

    • @Danielo515
      @Danielo515 Před 2 lety

      @@benfrainuk Then I 'll have to subscribe...