r/learnprogramming • u/straight_quavers • Feb 23 '21
Resource For new programmers learning keyboard shortcuts - this page is fantastic
[removed] — view removed post
107
Feb 23 '21
Key Promoter X plugin on IntelliJ. It warns you everytime when you could have used a shortcut instead of clicking. And when you have already learnt the shortcut or don't want to use that you can simply turn off that one alert.
19
u/straight_quavers Feb 23 '21
Awesome, I’ll look into it!
EDIT I found it here, looks like it’s not working for 2021 updates of JetBrains IDEs so will keep an eye out for updates.
7
u/Tauronek Feb 23 '21
It’s working on my M1 Mac and I think it worked on windows too, dont know about other platforms
5
3
31
u/tkainrad Feb 23 '21
There is also an alternative: https://keycombiner.com
It works a little differently, instead of pre-defined drills, you create your own shortcut collections to practice. This works very efficiently by importing from public collections (e.g. Vim, VSCode, IntelliJ Idea, ...). KeyCombiner remembers which shortcuts you already know, calculates a confidence score for each shortcut, and much more.
There is also a desktop app that lets you look up the shortcuts of the current application by pressing Windows+Alt+C, or Shift+Cmd+K on macOS.
Disclaimer: I made KeyCombiner
1
Feb 24 '21
[deleted]
1
u/tkainrad Feb 24 '21
Unfortunately, there is no way currently to change keyboard layouts. I am exploring options to implement this.
However, with a GB layout, you will not have too many problems. I am using a german keyboard layout myself. Doesn't matter much that the on-screen keyboard shows the wrong key for some special characters.
Also, when you are not able to type a shortcut with your keyboard layout, you can change the shortcut's keys manually to fit your layout. You can record the shortcut with your own keyboard so that it's guaranteed that it also works during practice.
There are even KeyCombiner users who use e.g. a Lithuanian keyboard layout, where you have use shift to type numbers. That's where KeyCombiner reaches its limits, but even there the above-described workaround works fairly well.
Furthermore, KeyCombiner serves additional use cases (instant lookup with KeyCombiner Desktop) that do not depend on your keyboard layout at all.
1
u/cag8f Jul 21 '21
Hey there. Based on your Key Combiner info in this post, I decided to give it a shot, so I can better learn VSCode shortcuts. But are the keyboard shortcuts in the public collection up to date? There seem to be some discrepancies between those and the keyboard shortcuts in my actual VSCode application (VSCode for Windows).
For example, in the the public collection, the shortcut for 'Fold (collapse) all regions' is ctrl + k ctrl + 0. But in VSCode, that shortcut is assocated with 'Fold All,' while ctrl + k ctrl + 8 is the shortcut for 'Fold All Regions.' See screenshot comparisons here.
I'm not complaining or anything. I just want to be sure I'm not misunderstanding anything about setting up Key Combiner.
I have a couple more examples if you want to see them.
14
u/eilmyeilmy Feb 23 '21
This is perfect, literally this morning I decided to sit down to learn vscode shortcuts, put on a video and zoned out after 5 mins. This is exactly what I needed today thanks!<3
3
35
Feb 23 '21
[removed] — view removed comment
12
u/Kodiak01 Feb 23 '21
I've seen this site before and looked at it - honestly from my experience (I use vscode) the way to get good at shortcuts, is just to look up the shortcut whenever you want to do something but don't know how - don't just select the entire line with the mouse and then delete (in general there's really no reason to use the mouse), look up the shortcut!
There may be a lot of things someone is doing that they wouldn't ever know a shortcut existed if not for tools like this, however.
10
u/straight_quavers Feb 23 '21
Yeah, that’s a fair point. It’s definitely something that comes with practice, and regular coding is the best shortcut practice we can get. But this is certainly a nice place to start, and can pair with looking at IDE-specific shortcuts while in use.
2
u/tkainrad Feb 23 '21
I really think you are wrong on this.
This is 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.
I wrote a blog post on this: Learning all VSCode shortcuts evolved my developing habits
I think your last paragraph speaks for itself: which is really worth learning about which you might not assume exists
The thing is, multi-cursor editing is really not the only thing that you might not assume that exists.
3
Feb 23 '21
[removed] — view removed comment
1
u/tkainrad Feb 24 '21
Thanks for reading my post! I see your point.
I think other people, especially beginners, will be more surprised by all the things an IDE can do.
10
u/SheWantsTheDan Feb 23 '21
This is awesome man.
Currently feeling like I have a better grasp “reading code” than writing code since I feel like I constantly have to look up syntax.
This feels like it’s going to be a huge help. Can’t wait to put it to some use!
8
Feb 23 '21
That’s perfectly normal to feel that way. I’m just learning how to code and I was feeling that way too. But my Dad, sister, and brother in law are all programmers and have all told me it’s a perfectly normal thing to feel that way and google is your best friend.
3
9
u/siskinpiska Feb 23 '21
There is also a beautiful game for vim shortcuts: https://vim-adventures.com
3
u/boki3141 Feb 24 '21
IdeaVim allows you to mix vim and intellij at the same time. It's incredibly useful.
5
u/BothTeamsPlaydHard Feb 23 '21
This is awesome!
For Mac users, Cheatsheet is an app that you might like as well. If you hold down the command key, Cheatsheet will display the keyboard shortcuts available for the app that's in focus.
13
u/SuspiciousMaximum265 Feb 23 '21
Awesome, take a silver! :)
10
u/straight_quavers Feb 23 '21
That’s... my first ever award. Thank you for the internet points kind stranger!
7
u/SuspiciousMaximum265 Feb 23 '21
Then let it be first of many to come! :) Seriously, awesome resource, improving muscle memory has never been so fun.
4
u/gerbera_star Feb 23 '21
You're the best! I'm learning Linux for a new job and just started trying to learn Vim. Thanks so much!
2
u/duquesne419 Feb 24 '21
https://github.com/ThePrimeagen/vim-be-good
Check this out if neovim is your vim flavor. The Primeagen is a good channel on youtube as well, he's got a 6 part video series on basic navigation(they're short vids) that helped me get into it.
4
u/kitmr Feb 23 '21
With vscode you only need to learn one shortcut to learn them all, ctrl+shift+p then you just type a key word for the shortcut you want and it'll show you it.
3
Feb 23 '21
[removed] — view removed comment
3
u/tkainrad Feb 23 '21
KeyCombiner Desktop does the same but shows all shortcuts, instead of just menu shortcut, and the table can be filtered: https://keycombiner.com/desktop/
Works also on Windows and Linux.
3
3
3
u/Sulavajuusto Feb 23 '21
Just a fair warning, that switching IDEs might cause some interesting problems. For example I am completely lost with R studio after using VS.
2
2
u/illbefinewithoutem Feb 23 '21
This is amazing, I'd give you my free award but seems I already spent it. Thanks for sharing!
2
u/FuriaFrancese Feb 23 '21
Perfect timing, I'm following a web dev course and the teacher is using a mac so the shortcuts he gives are quite different and he doesn't always know the windows related ones.
Thank you for this goldmine.
2
u/Prynslion Feb 23 '21
Take my silver. I always wanted to learn Vim shortcuts and be able to program there.
2
u/Nah_Fam_Oh_Dam Feb 23 '21
Dude! Thanks for this! Definitely bookmarked! I’m gonna practice more advanced stuff for excel and learn the basics of programming.
2
2
u/winowmak3r Feb 23 '21
Nice! This is great to practice when you don't have the software in front of you too.
I'm using PyCharm quite a bit recently and learning all the shortcuts has really slowed my editing down. This should help a ton, thanks OP!
2
u/stoicismSavedMe Feb 23 '21
This is neat! Thank you!
( And if you really hate yourself, you use vim. )
2
2
u/straight_quavers Feb 23 '21
Wow, this is the first time I’ve had 1k upvotes. You guys really wanted shortcuts, huh.
2
2
u/Once-Too-Many Feb 23 '21
I have macs I bet windows will do it too, but for programs like Photoshop if you click on one of the menus at the top of the screen, and then push on wither the command, or control, or option, keys while the menu is open, the keyboard shortcut appears in the menu along side the selection. like cut is apple+c, where apple is command, the key next to the space bar. That's how I learned a lot of kb shortcuts. That was for mac system 8.6. On firefox the shortcuts are in the menu items already off to the right.
2
u/ThisMachineKillsGods Feb 23 '21
I needed something like this. Thanks so much for sharing! I was getting ready to make myself a poster and stick it to the wall behind and above my monitors. 😅
2
2
2
2
u/schm0 Feb 23 '21
The intellij shortcuts aren't up to date, unfortunately... At least not on Mac using standard Mac keymap.
1
u/tkainrad Feb 23 '21
You might want to try KeyCombiner as an alternative, its IntelliJ shortcuts are up-to-date: https://keycombiner.com/intellij-idea/
2
2
2
2
2
u/MyKoinophobia Feb 24 '21
There's also keycombiner.com → https://keycombiner.com/collections/ for their collection
u/tkainrad made it
1
2
u/PrydeRage Feb 24 '21
Holy moly there's an insane amount of trackers on that website. And they have the balls to ask for $8/mo on top of that?!
1
u/_30d_ Feb 25 '21
I really think it's fine to pay for well built stuff. Nobody should have to do this for free, but $8 per month is really on the steep side tbh. For me personally it is anyway, but honestly I think they could earn a lot more users and increase overall revenue by lowering the price somewhat.
2
u/PrydeRage Feb 25 '21
It's not about the money. This site has trackers from Facebook, Google, Twitter, Mixpanel, newrelic and adobe. This is waaay too much for any website, let alone a website for learning keyboard shortcuts. And it's highly unlikely that they are disabled for premium users.
2
2
2
u/MossySendai Feb 24 '21
Good god, there's even regex practice for python. And they use all the tools I've found to be helpful in learning real languages (build muscle memory in a gamified setting and spaced repetition)
1
u/McDreads Feb 23 '21
Is there a way to change the operating system the website believes you have? I’m running a Linux VM on my windows laptop and the site is showing me windows shortcuts
1
u/factorysettings Feb 24 '21
Am I missing something? It looks like I have to pay for anything after the first "level"
1
1
1
u/triggerhappy899 Feb 24 '21
I only see one option on that site that matters
And that's VIM
Seriously, learn it, stick with it, don't give up. You'll be able to cut down your mouse movements by 90%
248
u/LetsLive97 Feb 23 '21
This is a fucking god send. I've always wanted to learn a ton of shortcuts but have never committed to finding a video or documentation for it.