Settings

Theme

An interactive 19-lesson course to master VSCode's keyboard shortcuts

keycombiner.com

49 points by tkainrad 4 years ago · 22 comments

Reader

gregsadetsky 4 years ago

I've also spent a bit of time practicing Sublime shortcuts using https://www.shortcutfoo.com/

Are there other sites like these that people prefer?

Also -- VSCode's shortcuts seem to map 1-to-1 to Sublime's. Is that possible? Is there a lineage of "who inspired who" e.g., for instance, who was the first to come up with ctrl/cmd-P for quick open by name and ctrl/cmd-shift-P for the command palette?

  • memco 4 years ago

    > Also -- VSCode's shortcuts seem to map 1-to-1 to Sublime's. Is that possible?

    One difference I know is that putting a cursor at the end of each line is cmd+shift+L on Sublime and opt+shift+I on VSCode: minor, but some things don't overlap. VSCode does offer to install a sublime-keymap extension when launched if you have Sublime which configures it to be more sublime-like.

    > who was the first to come up with ctrl/cmd-P for quick open by name and ctrl/cmd-shift-P

    Sublime has been around longer than VSC so most things would have gone Sublime -> VSC. I recall the cmd+p being a novel and strong selling point for Sublime for me.

  • tkainradOP 4 years ago

    shortcutFoo is definitely a nice alternative.

    However, there are a few things that I think KeyCombiner does better. I am very biased though ;)

    - You can edit any combination in your lessons or personal collections. So, if you bind some VSCode bindings to keys that you are used to from Sublime, that's not a problem.

    - There are quite sophisticated statistics regarding your practice performance. Most importantly, a confidence value for every combination

    - You can create your own collections to practice by copying from public collections, manually defining your own combinations, doing CSV import,...

    - There is a desktop app that mitigates conflicts with browser (extension) shortcuts

    - The desktop app has an instant lookup feature that shows you the shortcuts of the current app (+ current browser tab on macOS), and all the combinations in your personal collection and lessons. You can trigger the instant lookup from anywhere via a global shortcut, so you don't need to leave your current context.

    • gregsadetsky 4 years ago

      That's great, thanks for chiming in!

      If I could make a suggestion for KeyCombiner, I think that having a way to start out as an anonymous user (with no sign up or email confirmation) at first, and then asking users to sign up once they've completed a few lessons would make it even more appealing to try out.

      The "Start Learning" button at the top right of your site IMHO should be a bit of a demo mode.

      (I know that it's harder/messier to implement a "half anonymous" mode -- this is just a suggestion) :-)

      • tkainradOP 4 years ago

        I see your point and I wouldn't mind having something like that. However, much of KeyCombiner requires a database. It stores practice results, personal collections, you can change a lesson's combinations etc.

        I feel like if I tried to do a demo mode without storage anonymous users would be left with a 2nd class experience and potentially think less of KeyCombiner.

        However, there's already lots of things that anonymous users can do: Browse all public collections, courses, and lessons. Use the practice demo on the home page. Search through KeyCombiner's entire database of public shortcuts. And more.

        • gregsadetsky 4 years ago

          Why not let “semi” anonymous users — i.e. they’d be identified by a session cookie, but you wouldn’t know their email - use your database and store a bit of info there, but limit what they can do at the application level i.e. don’t let them complete more than 3 lessons for instance?

recentdarkness 4 years ago

Doesn't seem to work for me with Chrome on macos - Not sure what's the deal is - It shows me 4 empty rectangles and expects me to do something - potentially in the keyboard input field. However if I press for example CMD + P obviously it tries to print - So it doesn't catch the shortcuts.

  • tkainradOP 4 years ago

    Hmm, I think Chrome on macOS is probably the most common scenario and well tested.

    Those 4 rectangles should contain the next 4 shortcuts that you have to type. Not sure how this could happen. If you don't mind, could you try with a different collection or lesson? Does the browser console show some errors?

rich_sasha 4 years ago

I thought “lol 19 lessons for keyboard shortcuts???” - but then I thought about what an Emacs equivalent would look like. To even bind a new shortcut you need to write Lisp!

I love it but you can cut yourself pretty badly on the learning curve.

  • tkainradOP 4 years ago

    To be fair, you don't need to do all 19 lessons. They are grouped by importance and topic. If you just do the first 2 modules you will already feel quite comfortable with VSCode and I think those can be completed in less than an hour with very little prior experience.

  • vincent-manis 4 years ago

    Actually, in Emacs, you only need to know one shortcut, C-H t, which runs the Emacs tutorial. Takes ~45 minutes, and gives you enough knowledge to be productive. I say that not because I'm pushing Emacs: I'm pretty sure similar tutorials exist for the Vim family.

    On the other hand, I can't imagine doing 19 lessons on VSCode shortcuts. Actually, I can, I just am sure I wouldn't remember much afterwards.

    • rich_sasha 4 years ago

      Funny story: when I was starting on Linux, I have both the vim and Emacs tutorials a go. The vim one is just a text file you edit with various commands given.

      During that tutorial I pressed the wrong thing and somehow deleted the whole file. I then thought, vim is not for me :)

      I stuck with Emacs, though I recently discovered the joys of vim too.

    • DenseComet 4 years ago

      To be productive in VSCode, you don't need to know any shortcuts or do any tutorials because it can be used completely via the gui. Doing 19 lessons on VSCode shortcuts is akin to doing an Emacs course, not a tutorial.

Havoc 4 years ago

Nice. One of the starter shortcut (command pallet) overlaps with FF open new private browsing window for me though. Ie literally takes you away from the webpage

Not sure how the dev is going to work around that one

  • tkainradOP 4 years ago

    I already did! ;)

    There is KeyCombiner Desktop that enables practice of any browser-reserved shortcuts. Only OS-reserved bindings are still a problem, but fortunately there's very few of those.

    KeyCombiner Desktop also comes with an instant lookup feature that let's you look up all shortcuts that are in your combined collections plus those of the currently active application. On macOS, KeyCombiner can even show the shortcuts for the active browser tab!

    https://keycombiner.com/desktop/

thrower123 4 years ago

VS Code desperately needs an optional ability to have a toolbar with common commands, or to allow extension makers the ability to do so.

The complete disregard for normal Microsoft UX conventions is bothersome.

andy81 4 years ago

Shift isn't picked up on Firefox. Am I missing something or is this Chrome/Desktop only?

  • tkainradOP 4 years ago

    Huh, practicing should definitely work also on Firefox. Could you give some more details. Does it work for you with Chrome? Does it work when you try the practice demo on the home page directly at keycombiner.com?

    The only limitation with Firefox is that it does not support the navigator.keyboard API. So, the visual keyboard and some other advanced KeyCombiner features cannot show your system's keyboard layout but rather have to default to the US layout.

    • andy81 4 years ago

      Works now, probably just pebcak

      • tkainradOP 4 years ago

        I deployed two minor (unrelated) bug fixes shortly after posting on HN. I thought this works without downtime etc., but maybe you somehow downloaded an incomplete version of the JS code. Not sure how that could happen.

        Anyway, glad it works now!

rStar 4 years ago

sounds like emacs

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection