We, software engineers, tend to be extremely efficient beings.
Our goal is to optimize everything, not just the code.
That's why we don't want to spend 10 seconds looking for something on the GUI. We don't want to spend even 2 seconds.
Why would we, when we can do it in 0,1s by using the powerful keyboard shortcuts?
If I repeatedly do the same actions, I always Google for its shortcut. Usually, I find it.
Let me share with you the shortcuts I use every day. I bet you don't know many of them!
Ok, we'll start by listing the most common and simples shortcuts.
cmd + P (Mac) /
crtl + P (Windows) will open a search field with an incredibly powerful fuzzy search. I probably use this 100+ times a day.
This one is similar; after clicking
cmd + P (Mac) /
crtl + P (Windows), just type
>. You can now type in any search term, and only settings will be affected.
This feature is so cool, I wish I could use it everywhere else!
alt and start clicking around the editor. Multiple cursors will appear!
You can do something similar without clicking around.
cmd option + arrow down (Mac) /
shift alt + arrow down (Windows) will insert an extra cursor below.
Obviously, you can use
arrow up to insert a cursor above.
This one is quite uncommon, but it's extremely powerful! First, you need to select some text.
cmd shift + L (Mac) /
crtl shift + L (Windows) select all occurrences of that text. It's so useful for situations like renaming a variable across the file:
Imagine manually renaming a variable repeated 30 times in the file. Nightmare.
cmd shift + K (Mac) /
crtl shift + K (Windows) does the trick here.
Put your cursor in the line you want to duplicate.
cmd + C, then
cmd + V (Mac) /
crtl + C, then
crtl + V (Windows). Voila!
This one is quite familiar across all the common apps (like browsers):
cmd + F (Mac) /
crtl + F (Windows).
cmd + G (Mac) /
crtl + G (Windows) search for the next occurrence, while cmd
shift + G (Mac) /
crtl + shift + G (Windows) search for the previous one.
If you want to replace the term you searched for, fire
cmd option + G (Mac) /
crtl shift + G (Windows).
Then, click enter to replace the current occurrence.
If you want to replace them all, click
cmd + enter (Mac) /
crtl + enter (Windows).
Nothing can exist without a good old search in all files.
cmd shift + F (Mac) /
ctrl shift + F (Windows) does the trick.
If you want to match text by case, press
cmd option + C (Mac) /
crtl shift + C (Windows).
You can also match the whole word by pressing
cmd option + W (Mac) /
crtl shift + W (Windows).
Do you want to replace all occurrences in all files across the project, i.e. search/replace?
cmd option + H (Mac) /
crtl shift + H (Windows) does the trick.
cmd option + enter (Mac) /
crtl alt + enter (Windows) triggers the replacement.
One tab is not enough, you need many of them! Great, just press
cmd + \ (Mac) /
alt shift + 0 (Windows). Repeat until you're satisfied.
This one is the same as in Chrome -
cmd + W (Mac) /
crtl + W (Windows).
Do you want to open the previous tab?
crtl + tab does the trick.
Do you want to go to a tab on a known position?
crtl + [index] does that.
Finally, you can pick the tab on left/right by pressing
cmd option + arrow left/right (Mac) /
crtl page down/up (Windows).
I wouldn't suggest learning all of them by heart immediately - try with one or two of them, and slowly adapt them to your work.
Save this article in case you want to revisit it later.
Using more keyboard shortcuts will increase your productivity.
And oh, it does feel so good.