The majority of my professional life, and my digital life in general, the mouse has been my best friend. I used to feel the pointer as an extension of my hand. For sure, I was using some shortcuts here and there, but 90% percent of my actions were done with the mouse.
That changed a year and a half ago when I joined The Agile Monkeys and some of my colleagues recommended me some shortcuts and some tools to improve my productivity, and that was just the spark of this article.
Why
If you are like I was, the first question is, why should I stop using the mouse? it feels natural to you and you are sure you are not wasting your time doing it. The answer is, you are not doing it wrong, but you could be more productive.
As developers, our brain is always busy and we are always thinking about multiple things. I realized that I missed my thoughts more than once when doing actions using the mouse. If you are using your keyboard for writing, using your mouse instead of using your keyboard to perform an action involves a physical change, and therefore, a change of focus in your brain.
The key point here is, when you change your focus you are more prone to a change of context.
When discussing productivity, the same topics always come out: programming language, IDEs or operative system. The fact is that the change of context has a bigger impact on your productivity than any other thing.
How
We have talked about why, now we need to talk about how. The key point here is to distinguish the shortcuts that force a change of focus and avoid them.
Here I'll talk about the tools I use, there are more in the market and I would love to read in the comments what you are using. Some of the tools I list here are paid tools. Also, I'm just talking about tools for Mac OS X that is my current environment but you can find similar tools and do the same things we explain here on Windows or Linux.
BetterTouchTools
This tool is great and you can configure it do to amazing things, among other things, you can create shortcuts for your most-used applications. The shortcut to change between apps is one of the more known, Cmd + Tab, but this shortcut has an important drawback, you will change your focus, you want to change from Slack to your IDE and you will find other apps in the middle and it is very easy to become a change of context.
My shortcuts 1: Open most-used apps
Having shortcuts to switch between the apps I use every day have changed the way I work, I have shortcuts for Chrome, Visual Studio Code, Slack, Pycharm, IntelliJ, Fork, and some other apps, that means that I can change between them without changing my focus, just pressing a keys combination on my keyboard. In this case, I use the shortcuts Ctrl + Cmd + Alt + (first character of the name of the app).
Magnet
Magnet is a very simple app that helps you organize your windows on your screen.
My shortcuts 2: Move windows
The shortcuts I used the most when moving windows are:
- Ctrl + Alt + Left Arrow => Set the current window in the half left side of the screen
- Ctrl + Alt + Right Arrow => Set the current window in the half right side of the screen
- Ctrl + Alt + Enter => Maximize the current window (not entering full screen mode)
- Ctrl + Alt + E => Set the current windows at a size 2/3 of the screen starting from the left border
- Ctrl + Alt + T => Set the current windows at a size 2/3 of the screen starting from the right border
IntelliJ
IntelliJ and Jetbrain products are my main IDEs. Working with IntelliJ is great, but when you learn some of the available shortcuts, it's amazing. You should master your IDE and be able to do almost everything you need with a shortcut, it doesn't matter what IDE you use.
My shortcuts 3: Inside the IntelliJ
IntelliJ has an amusing amount of shortcuts, here I'll list the ones I use more frequently and, therefore, the ones that helps me avoiding changing my focus:
- Alt + Up arrow => Syntax aware selection
- Ctrl + Space => Code completion
- Shift + Cmd + o => Search files (avoids using the tabs)
- Double shift => Search everywhere, it includes search for command you don't know the shortcut for
- Cmd + B => Go to declaration
Chrome Quick Tabs extension
When working with your browser, the Ctrl + Tab shortcut to select the next tab is not efficient, when you have 6+ tabs (something quite common nowadays) you can't be productive by changing to the next or the previous tab. I recommend Quick Tabs extension for Chrome to select a tab by name.
My shortcuts 4: Select a Chrome tab
When working with Chrome, there are two ways to select a tab, by tab number (provided out-of-the-box by Chrome) and by tab name (with the Quick Tab extension):
- Cmd + [1..8] => Select a tab by number
- Cmd + e => Select a tab by name
Conclusion
I'm sure I use more shortcuts but the ones I mentioned above are the ones that have made a more impact on my productivity. I would like to know what shortcuts have changed your way of working or if you think that shortcuts are not the answer to increase your productivity.
Top comments (4)
Brilliant ideas
There is a plugin for JetBrains products called Key Promotor X which helps a lot in learning how to use the IDEs with the keyboard mostly (or only :P)
Good post. Thanks for sharing your productivity hacks. I am a big fan of keyboard shortcuts and avoid using a mouse if I can.
One problem I had was that I open a few files multiple times a day every day. Both Apple's Spotlight and Alfred are great for finding files but I wanted a very focused way of reaching my frequently used files without any typing and by just keyboard shortcuts. Some tools out there but ultimately I ended up building one for myself called EasyFinder. Released it last year for everyone to use. Try it out easyfinderapp.com. Oh, and it's free :). If you like EasyFinder, then it is give back time and so share it with your colleagues who introduced you to the world of shortcuts :)
Since you are also a big fan of shortcuts, please give me feedback on EasyFinder, as I am in the middle of building the next versions and want to make it more productive for users.
Sharing apps I use to be productive:
Two productivity apps that I swear by and have used it in all the macs that I used so far are Spectacle and itsycal. And a more recent app that I have been using is HiddenMe.
Nice article!
One thing I cannot live without it in macOS is the Alfred app. I use it as a replacement for Finder, to quickly launch apps, do quick web searches and so. It has also configurable Workflows :)