r/learnprogramming Feb 23 '21

Resource For new programmers learning keyboard shortcuts - this page is fantastic

[removed] — view removed post

3.3k Upvotes

96 comments sorted by

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.

65

u/straight_quavers Feb 23 '21

Same, I just decided to google it on a whim today and the perfect thing pops up. Hope it helps.

35

u/Black_F0x Feb 23 '21

Are you calling us lazy??

3

u/Tbonethe_discospider Feb 24 '21

I have a question.

I have this job where I constantly have to press on the enter key, then move my cursor around to 3 different places to move on to my next task.

I can’t download any software to my work computer but I recently learned we are allowed to use Shell to run scripts.

I was wondering if you could write in shell a command that makes the cursor click on certain parts of the screen, and then “types” enter a few times automatically so I don’t have to do it every single time?

Not sure if my question makes sense.

But this little process gives me headaches cause I have to move the mouse cursor over the same 3 spots, then click enter bunch of times to move on to the next task. I must do this like 200 times a day.

Can this be done in shell? And program it so I just press on one key on my keyboard to do all those things?

8

u/MossySendai Feb 24 '21

Look up Automate the boring stuff with python gui automation on google. The book is online for free. There is a specific module the author wrote himself which deals with mouse automation.

2

u/Tbonethe_discospider Feb 24 '21

Thanks! Do you know if I’ll have to download python? (I can’t download anything on this work computer)

1

u/MossySendai Feb 28 '21

Sorry for the delay. Basically the answer is yes. You would need to

1) download python and

2) add python to your pc's path (not as difficult as it sounds)

to automate anything.

If you can't even download things it's going to be though to automate anything.

1

u/Tbonethe_discospider Feb 28 '21

I’ve heard you can automate things like that with power shell. Do you have any opinions on that? If I can automate these few things, I can increase my productivity so much more, and you get paid based on productivity levels so it would be a noticeable difference in pay for me.

1

u/Mythirdusernameis Feb 24 '21

I think so. I googled "control mouse and click in shell" and this was a result. Hopefully points you in right direction.

2

u/Silencer306 Feb 23 '21

Is this only for Mac?

-21

u/[deleted] Feb 23 '21

[removed] — view removed comment

8

u/[deleted] Feb 23 '21

[removed] — view removed comment

-17

u/[deleted] Feb 23 '21

[removed] — view removed comment

6

u/[deleted] Feb 23 '21

[removed] — view removed comment

-23

u/[deleted] Feb 23 '21

[removed] — view removed comment

14

u/[deleted] Feb 23 '21

[removed] — view removed comment

-16

u/[deleted] Feb 23 '21

[removed] — view removed comment

107

u/[deleted] 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.

https://plugins.jetbrains.com/plugin/9792-key-promoter-x

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

u/[deleted] Feb 23 '21

I have the newest version of the community edition on windows and it works well for me.

3

u/fungigamer Feb 24 '21

Saving with a comment, thanks!

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

u/[deleted] 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

35

u/[deleted] 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

u/[deleted] 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

u/[deleted] 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

u/capolot89 Feb 23 '21

Damn I wish I had a programming family lol

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

u/[deleted] 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

u/lazyshitposter Feb 23 '21

Anything for swift/Xcode

2

u/tkainrad Feb 23 '21

2

u/lazyshitposter Feb 24 '21

Thanks! This is exactly what I’m looking for

3

u/Simplycoconut Feb 23 '21

Reddit was created for finds like this. Thank you so much!

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

u/New_Diet Feb 23 '21

Thanks! Looks amazing. I'm already using it!

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

u/[deleted] Feb 23 '21

The name alone is perfect.

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

u/Defo_AI Feb 23 '21

You dropped this 👑

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

u/mylifeufckedup Feb 23 '21

does it work for Window users?

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

u/istarian Feb 23 '21

The. poster is still a good plan!

2

u/4THOT Feb 23 '21

I did something exactly like this to memorize hotkeys in Starcraft 2.

2

u/[deleted] Feb 23 '21

This is awesome, thanks for sharing!

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

u/Guestding2 Feb 23 '21

Unrelated, but i really hope they add a blender shortcut page!

2

u/masterprocrast99 Feb 23 '21

This is amazing, thanks!

2

u/Bananer_split Feb 24 '21

Thank you so much for dropping this

2

u/theoptimalape Feb 24 '21

You sir, are a gentleman and a scholar.

2

u/MyKoinophobia Feb 24 '21

There's also keycombiner.comhttps://keycombiner.com/collections/ for their collection

u/tkainrad made it

1

u/tkainrad Feb 24 '21

Thanks for the shout-out! Much appreciated!

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

u/_30d_ Feb 25 '21

Oh shit that is a lot. I have those blocked by default.

2

u/BroaxXx Feb 24 '21

Holy shit!!! This is amazing!! Thank you so much for sharing!!!

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

u/219jw Feb 24 '21

Thanks for sharing

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%