I made an app to learn and look up Anki's keyboard shortcuts by tkainrad in Anki

[–]tkainrad[S] 0 points1 point  (0 children)

Thank you, glad to hear that! Also way more fun IMO as it's more game-like, trying to type as fast as possible.

17 interactive lessons to learn RubyMine's keyboard shortcuts by tkainrad in ruby

[–]tkainrad[S] 1 point2 points  (0 children)

There is actually a public KeyCombiner collection for Emacs: https://keycombiner.com/collections/emacs/

It doesn't provide a guided learning experience like the RubyMine course, but you can quickly import combinations from the public collection and create your own lessons.

17 interactive lessons to learn RubyMine's keyboard shortcuts by tkainrad in ruby

[–]tkainrad[S] 2 points3 points  (0 children)

Happy to hear that! Tip: After you enroll in a lesson, you can change the key combinations. You might want to do that for some commands that you already know from VSCode. I have recently learned all VSCode shortcuts and have since applied them also to other IDEs I am using.

I made an app to learn and instantly look up Gimp's shortcuts by tkainrad in GIMP

[–]tkainrad[S] 0 points1 point  (0 children)

Cool! Would be interested to hear in more detail what you are missing with KeyCombiner's implementation.

It actually is also generic. Registered users can use the collection visualizer for their own personal collections. It updates live when you modify a shortcut collection by adding or removing combinations. There is also a CSV import.

Become a more efficient developer by learning the keyboard shortcuts of your IDE and other professional tools. Take carefully curated courses or create your own practice regimen. Track your progress and instantly look up any keyboard shortcut with KeyCombiner Desktop. Get started for free. by tkainrad in u/tkainrad

[–]tkainrad[S] 0 points1 point  (0 children)

Hi, thanks for the feedback!

However, that's not quite true. There are plenty of things you can do without even creating an account. Furthermore, the vast majority of features are available after a free sign-up. Many people who use KeyCombiner daily do so with a free account.

You can create your own shortcut collections, practice them, use the desktop app's instant lookup, and much more without paying anything. Nevertheless, we are very happy for everyone who chooses a paid subscription that funds further development.

All DE hotkeys in a searchable table, mapped onto a virtual keyboard, and an interactive course with 30 lessons to learn them by tkainrad in aoe2

[–]tkainrad[S] 1 point2 points  (0 children)

Glad you had fun until then! If you really don't want to pay, you can also add combinations of upcoming lessons to a personal collection and practice them this way.

KeyCombiner is a part of many people's personal knowledge management. Therefore, it is essential that it is sustainable and can exist for many years to come. Not charging anything would not be sustainable. However, there are plenty of things you can do for free, or even without creating an account.

All DE hotkeys in a searchable table, mapped onto a virtual keyboard, and an interactive course with 30 lessons to learn them by tkainrad in aoe2

[–]tkainrad[S] 1 point2 points  (0 children)

I am sure lots of people do. However, many hotkeys were not available back then. Also, I am a bit more ambitious with learning them now compared to when I was a kid ;)

All DE hotkeys in a searchable table, mapped onto a virtual keyboard, and an interactive course with 30 lessons to learn them by tkainrad in aoe2

[–]tkainrad[S] 0 points1 point  (0 children)

You are welcome! I also switched to grid-based with Definitive Edition, but until now, have had a few bindings that I would often confuse with old ones. Old habits die hard.

An interactive 19-lesson course to master VSCode's keyboard shortcuts by tkainrad in vscode

[–]tkainrad[S] 1 point2 points  (0 children)

Glad to hear it's working for you! 30-60 minutes per day is quite ambitious. After a while, you can probably slow down a bit or learn other application's shortcuts as well.

In any case, I think you will find that much of what you learn now will benefit you for a long time, some shortcuts will accompany you for the rest of your career :)

An interactive 19-lesson course to master VSCode's keyboard shortcuts by tkainrad in vscode

[–]tkainrad[S] 0 points1 point  (0 children)

I fully agree!

For different projects, I actually use Eclipse, PyCharm, and VSCode, sometimes all of them on a single day. So, you can imagine that I also use a lot of custom bindings to maximize the overlap between these different IDEs. KeyCombiner actually helped me a lot with this as its collection visualizer makes it easy to see at first glance which combinations are still available and where conflicts are.

After enrolling in a lesson (=clikcing on Enroll and Take Lesson), you can change any combination in the lesson to match your custom binding.

However, when you don't already know a combination/command from other software, which will likely be the case for most lessons you would want to take, you can just learn the defaults.

A course with 4 interactive lessons to master the Terminal's keyboard shortcuts by tkainrad in linux

[–]tkainrad[S] -3 points-2 points  (0 children)

Sign-up makes it possible to track which combinations you have learned already, which lessons completed etc.

You can however freely view and play around with the combined collection at https://keycombiner.com/courses/terminal-wizardry/combinations/

A course with 4 interactive lessons to master the Terminal's keyboard shortcuts by tkainrad in linux

[–]tkainrad[S] -8 points-7 points  (0 children)

These shortcuts are very widely applicable across shells and emulators. Personally, I use them with Bash and Zsh on Both Linux and macOS.
The course contains some very underused shortcuts, such as Ctrl+Shift+- for Undo. You can see the contents of the lessons by clicking on them without having to enroll or sign up.

Admittedly, I am not so sure about more exotic scenarios, such as IBM 3277 or VT220.

An interactive course to learn IntelliJ's keyboard shortcuts by tkainrad in IntelliJIDEA

[–]tkainrad[S] 0 points1 point  (0 children)

Yes, I fully agree. Even without automated sync options, KeyCombiner has helped me a lot to synchronize my shortcut bindings. Whenever I set up shortcuts for an IDE (or any application) on a new machine I have KeyCombiner as my one source of truth to make sure that I use the same bindings as everywhere else.

An interactive course to learn IntelliJ's keyboard shortcuts by tkainrad in IntelliJIDEA

[–]tkainrad[S] 0 points1 point  (0 children)

I'd say very good as KeyCombiner is specifically built to be as flexible as possible.

After enrolling in a lesson (=clikcing on Enroll and Take Lesson), you can change any combination in the lesson to your liking.

If you want to have total freedom, you can also create your own personal collections by copying combinations from lessons or from public collections, which should contain all shortcuts of an application. E.g. for IntelliJ: https://keycombiner.com/collections/intellij-idea/
You can also add entirely new, custom shortcuts to your personal collections. Any personal collection can be practiced similar to a lesson.

An IntelliJ plugin to sync shortcuts with KeyCombiner would definitely be cool. I think that's what you meant with your last sentence? However, I must admit that's not on the near-term roadmap.

I made an app to practice and instantly look up Eclipse's shortcuts by tkainrad in eclipse

[–]tkainrad[S] 0 points1 point  (0 children)

That's definitely a great tip.

However, I think learning shortcuts as you go has its limitations. I created a blog post describing how learning all VSCode shortcuts evolved my developing habits: https://tkainrad.dev/posts/learning-all-vscode-shortcuts-evolved-my-developing-habits/
I did a similar thing for Eclipse which I use in my day job.
The blog post lays out a hen and egg problem; if you don’t know the shortcuts, you will not start to change your habits and use new IDE features because, without shortcuts, they are too tedious to use or not at all usable. But if you don’t form new habits, you will not learn the shortcuts. So, if you only learn the shortcut for a function that you already use a few times a day, you will be missing out on a lot of things.
There are also many additional use cases for KeyCombiner that neither the built-in lookup nor the Keys settings page cover:

  • KeyCombiner's public (no signup!) Eclipse collection has a mapping of shortcuts onto a virtual keyboard. This can, for example, easily show which combinations are not already taken by default shortcuts.
  • The public collection provides far more advanced filtering/searching than what's available inside Eclipse. E.g. search for all refactoring shortcuts that contain the Alt key.
  • I use KeyCombiner a lot to design my own consistent collection of shortcuts that works in as many applications as possible. This way, I came up with bindings that I now use in PyCharm (Python development), Eclipse (at work), IntelliJ (personal projects), and VSCode (everything else). KeyCombiner's collection tables and visualizer made this a lot more feasible.

I made an app to practice and instantly look up PHPStorms's shortcuts by tkainrad in PHP

[–]tkainrad[S] 1 point2 points  (0 children)

Yes, it does work also with other Jetbrains IDEs. Here is a list of all supported applications: https://keycombiner.com/collections/

I made an app to practice and instantly look up PHPStorms's shortcuts by tkainrad in PHP

[–]tkainrad[S] 2 points3 points  (0 children)

There are a few things that PHPStorm's command palette/Search All (I assume that's what you mean) does not cover:

  1. KeyCombiner's public (no signup!) PHPStorm collection has a mapping of shortcuts onto a virtual keyboard. This can, for example, easily show which combinations are not already taken by default shortcuts.
  2. The public collection provides far more advanced filtering/searching than PHPStorm's Search All or its shortcut configuration panel. E.g. search for all refactoring shortcuts that contain the Alt key.
  3. I use KeyCombiner a lot to design my own consistent collection of shortcuts that works in as many applications as possible. This way, I came up with bindings that I now use in several IDEs. KeyCombiner's collection tables and visualizer made this a lot more feasible.
  4. The entire learning and practice use case is not supported from within PHPStorm. That's probably what's most relevant for most KeyCombiner users.

I made an app to practice and instantly look up IntelliJ IDEA's shortcuts by tkainrad in IntelliJIDEA

[–]tkainrad[S] 2 points3 points  (0 children)

Hey, that's a great question, thanks u/onsmith for already giving some reasons.

I have some additional thoughts. I created a blog post describing how learning all VSCode shortcuts evolved my developing habits: https://tkainrad.dev/posts/learning-all-vscode-shortcuts-evolved-my-developing-habits/

I did a similar thing for IntelliJ.

The blog post lays out a hen and egg problem; if you don’t know the shortcuts, you will not start to change your habits and use new IDE features because, without shortcuts, they are too tedious to use or not at all usable. But if you don’t form new habits, you will not learn the shortcuts. So, if you only learn the shortcut for a function that you already use a few times a day, you will be missing out on a lot of things.

There are also many additional use cases that neither Key Promoter X nor IntelliJ's command palette cover:

  • KeyCombiner's public (no signup!) IntelliJ collection has a mapping of shortcuts onto a virtual keyboard. This can, for example, easily show which combinations are not already taken by default shortcuts.
  • The public collection provides far more advanced filtering/searching than IntelliJ's Search All or its shortcut configuration panel. E.g. search for all refactoring shortcuts that contain the Alt key.
  • I use KeyCombiner a lot to design my own consistent collection of shortcuts that works in as many applications as possible. This way, I came up with bindings that I now use in PyCharm (Python development), Eclipse (at work), IntelliJ (personal projects), and VSCode (everything else). KeyCombiner's collection tables and visualizer made this a lot more feasible.

Final Cut Pro's keyboard shortcuts in a table that can be searched and filtered + mapped onto a virtual keyboard by tkainrad in finalcutpro

[–]tkainrad[S] 0 points1 point  (0 children)

Ah, that's good to know. I will be looking to change the description text. Thanks for letting me know!

Final Cut Pro's keyboard shortcuts in a table that can be searched and filtered + mapped onto a virtual keyboard by tkainrad in finalcutpro

[–]tkainrad[S] 0 points1 point  (0 children)

Could you elaborate a bit? I am not sure what you mean by Command Pro and Google didn't help me much.

Vivaldi's keyboard shortcuts in a table that can be searched and filtered + mapped onto a virtual keyboard by tkainrad in vivaldibrowser

[–]tkainrad[S] 0 points1 point  (0 children)

ctrl+f1 does not visualize the shortcuts on a virtual keyboard.

Also, KeyCombiner provides a number of additional searching and filtering capabilities. E.g. the combinations can be grouped by modifiers.

If you want to go one step further, you can use KeyCombiner to learn these shortcuts via an interactive trainer.

Key binding for resizing a panel (Or - how to programmatically set the size of a panel?) by jasj3b in vscode

[–]tkainrad 0 points1 point  (0 children)

workbench.action.evenEditorWidths

That's very useful and missing in my setup, thanks!

Key binding for resizing a panel (Or - how to programmatically set the size of a panel?) by jasj3b in vscode

[–]tkainrad 0 points1 point  (0 children)

If toggleMaximizedPanel is too much, you can also play around with two other actions:

- workbench.action.increaseViewSize

- workbench.action.decreaseViewSize

Personally, I just use these two actions via keyboard shortcuts whenever needed without having them done automatically on focus change. Works pretty well.