10 Tips and Tricks to Decrease Keystrokes and Become a Better Developer
Learn Your Tools, Improve Your Workflow, Be Faster
It’s no secret that being a faster developer will increase your productivity, but it will also improve your daily workflow when you gain better control and mastery over your tools. It even has some added health benefits — just say NO to carpal tunnel!
Most of the time, being faster means decreasing the amount of keystrokes it takes for you to complete a task.
A simple example: Using aliases on the command line. Would you rather type:git commit -m "Add cats to project" or gcm "Add cats to project"?
13 keystrokes in the first base command turns into 3 in the second. Both do the exact same thing. Even a couple of extra keystrokes per repetitive task, executed on a daily basis, compounds over time and leads to massive inefficiencies and increased stress on the body.
Extra keystrokes should be the bane of all developers’ existence.

To that end, I am going to share some tips and tricks that have helped me improve my workflow over the last few years. These are general tips and tricks to improve workflow efficiency on any computer, but the examples I share are from my own workflow on a Mac, using Sublime Text, Chrome, zsh, and iTerm2. I encourage you to incorporate what you like and seek out other workflow optimizations that work best for you and your setup.
Strive to iterate on and improve your development workflow a little each day. You will become a better developer over time.
One last thought before we dive in: You don’t need to know every tool out there, just learn your tools well. Hopefully you’ll find some new ones here to incorporate into your daily flow.
#1 Increase your typing speed
Seems obvious, but improving your typing ability will make you faster on the keyboard. You don’t need to be an insanely fast typer or align your fingers exactly with the “right” keys, but you want to be in the fast typer category. You can test your speed and see where you fall on the spectrum. The way you get faster is through practice, so practice away!
#2 Increase key repeat and mouse speed settings
While this one does not necessarily save you on the amount of keystrokes, you’ll save time on navigating through files and across your computer screen with faster mouse and key repeat speeds.
On a Mac, you can find these settings under System Preferences > Keyboard

and System Preferences > Trackpad.

I turn my key repeat setting all the way up, so when I search through files using the arrow keys I can move quickly. I don’t like my trackpad setting as sensitive, so I found a moderately fast tracking speed that works for me.
#3 Use a window manager
There are plenty of window managers out there, the one that I use is Spectacle. Window managers allow you to resize your screen using keyboard shortcuts, which come in handy all the time. The shortcuts are easy to set and change, but just be sure not to overwrite application or OS level keyboard shortcuts or you’ll be missing one set of shortcuts over the other.


One command that is deeply engrained in my workflow:
Make window fullscreen
SHIFT + COMMAND + F
#4 Use a clipboard manager
Again, there are a number of clipboard managers out there to choose from, the one I use is Flycut. It is annoying when you have to go back and forth copying and pasting items from one place to another when you only have access to paste the last item in your clipboard. With Flycut you get access to your entire clipboard with a simple keyboard shortcut. Rather than type COMMAND + v to paste, you type SHIFT + COMMAND + v to navigate through your clipboard and select what you want to paste.

A small modal pops up and you click the left and right arrows to navigate through up to 40 different clipboard items. Click DELETE to remove any of them at any time and ENTER to select one. AMAZING. One of the best additions to my workflow yet and very easy to use.
#5 Add Vimium to Chrome
One of my personal goals is to eventually phase out of using my mouse entirely. Vim is a great text editing tool for getting off the mouse, as it utilizes keyboard shortcuts to the max for high efficiency, but the editor is not for everyone and there is a bit of a learning curve to get good at using vim. But even if you are not a vim wizard, using Vimium in Chrome is an awesome time saver and will get you navigating through your browser mouse-less in no time.
After adding Vimium to Chrome, you gain immediate access to Vimium shortcuts. Clicking f in Chrome turns the entire page into labeled links that you can then select by their given labels. Check out how it works:
Getting off the mouse and utilizing keyboard shortcuts in the browser is a solid way to save time, even if the initial learning curve may slow you down a bit in the beginning.
#6 Build up a common set of keyboard shortcuts
The most common keyboard shortcuts that most people know are select all, cut, copy, and paste, but there are a lot of other shortcuts that are underutilized and should be incorporated into your daily workflow to save you time and energy. Here are some more shortcuts that will save you serious time while editing text and in your browser:
Toggle between applications
COMMAND + TAB
Hold down COMMAND and press TAB to navigate forward through the application list, click ` (just above TAB) to cycle backward. Releasing COMMAND will bring the selected application to the foreground.
Go to the beginning/end of a line of text
COMMAND + arrow left/right
Select the entire line or multiple lines of text
COMMAND + SHIFT + arrow direction
Depending on what you want to select, you may want to go to the end or the beginning of the line and then use the shortkeys above to select the entire line using the left/right arrows. To select multiple lines use the up/down arrow keys as well.
Select characters to the left/right
SHIFT + arrow left/right
Go to Top/Bottom of the page
COMMAND arrow up/down
Hide your application
COMMAND + H
Unfortunately, there doesn’t appear to be an unhide command, so you can easily bring your application back up through the toggle application command above.
Navigate between open tabs
COMMAND + OPTION/ALT + arrow left/right
Select tab by number
COMMAND + <Number>
To get to the second tab, press COMMAND + 2. If you have more than 9 tabs open, then COMMAND + 9 goes to the last open tab.
Close tab
COMMAND + W
Sleep your computer
SHIFT + CONTROL + POWER
Open Spotlight or other productivity app
COMMAND + SPACEBAR or custom shortcut

Spotlight helps you navigate your computer through a search bar. You can open applications, files, etc. using this tool.
I use a productivity tool called Alfred, which is set up on a specific toggling shortcut to help me manage tasks.

Similar to Spotlight, you can search for and open applications and files from a search menu, as well as setup different workflows.
Check out more Mac-specific keyboard shortcuts here.
If you don’t already use the above commands, start adding these in. Once you get some muscle memory formed, you will be grateful that it doesn’t take you 5x longer to complete a task that should only take a few quick keystrokes. In my process, I only add one or two new commands into my flow at a time until they’re engrained, so pick some favorites and start using them. Eventually it’ll become second nature and you’ll be looking for more shortcuts to incorporate.
#7 Learn your text editor’s shortcuts and plugins
I urge you to find an editor that you like and stick with it. It doesn’t matter which editor you choose, as long as you like how it works. Get to know it intimately. Learn the shortcuts. Take the time to setup frequently used code snippets and add useful plugins. Developers spend a lot of time in text editors, so you should feel at home in yours.
Here are some Sublime Text shortcuts and plugins that I find extremely useful. If you aren’t a fan of Sublime Text, try to find similar shortcuts and plugins in your text editor that will save you time on your repetitive tasks.
Select all the items with the same text
COMMAND + D
Select a word and then press COMMAND + D multiple times to select the same text throughout a file. Edit all items at once. Skip certain selections by pressing K after it is initially selected.
Search for or within a file
COMMAND + P
After typing the above command, search for a file by typing the name, search within file using # symbol, and go to a line number using : symbol.
Split screen
ALT/Option + COMMAND + <number of splits>
Easy screen splits allow you to go to splits and back to a single editing screen easily, for when you need to see more than one file at a time.
Navigate the project folders in the side bar
CTRL + 0
Use up/down arrows to navigate folders, left/right arrows to open/close different folders, ENTER to select a file for editing.
Toggle side bar
COMMAND + K + B
Bring up the Command Palette
SHIFT + COMMAND + P
The command palette gives you faster access to Sublime Text functionality. This is how you pull up Package Control and install plugins also.
Install plugins with Package Control
Access Package Control by searching for it in the command palette. Select Install Package. You can then search for the plugin you are looking for. I suggest browsing plugins before installing them.
Some time-saving plugins that I love:
- Bracket Highlighter — know where your closing and opening brackets are
- SublimeLinter — add linters for every language. Fix syntax and formatting as you go, which saves time from doing it all at the end
- My Snippets — gives you easy access to your code snippets. Docs for creating snippets.
- HyperClick — quickly jump to and from files that are required/imported
- Pretty JSON — in one command, format your JSON blob
#8 Learn command line shortcuts
Integrating the command line into your everyday workflow is important as a developer and will speed up your development. I like to be able to access my terminal through a hotkey so that I can use it on any screen that I am working on with ease.
In iTerm2 you can setup a hotkey in Preferences > Keys.

I have my CAPS LOCK key remapped to theDELETE key binding on my keyboard, using Karabiner-Elements, and I use COMMAND + DELETE as my hotkey. If you go this route, be sure to select a hotkey mapping that is easy to access, preferably with one hand. Developers work on the command line some days more than in their text editors, so finding a comfortable key mapping that allows for easy access is important.
With iTerm2 you can manage your terminal windows easily, moving between tabs with COMMAND + arrow left/right and between split screens with OPTION/ALT + COMMAND + arrow direction. Close any window using the COMMAND + W command and split to multiple screens with COMMAND + D (vertical) and SHIFT + COMMAND + D (horizontal):

There are a lot of different settings in iTerm2 that you can customize that I won’t be able to go into here, but if iTerm2 is your terminal of choice, take a minute to go through the preferences and set up a custom profile to play with the settings.
On the command line you want to enter and edit your commands with ease. Here are some helpful keyboard shortcuts:
Go to the beginning/end of line
CTRL + A & CTRL + E
Cut the line
CTRL + U
Paste the line
CTRL + Y
Clear Screen — keep scroll history
CTRL + L
Run process in the background
CTRL + Z
Delete keys in front of the cursor
CTRL + D
Delete keys after the cursor
CTRL + H
Delete from the cursor to the end of the line
CTRL + K
Delete words before the cursor
CTRL + W
#9 Utilize your shell
Your shell is another great area to make optimizations and customize your workflow. In the very beginning of this article I mentioned using aliases as a simple improvement to your command line workflow. The most commonly used commands should always be shortened into aliases if they are more than a few characters in length. There is no need to type more than you need to. I use a simple alias manager akajs that a friend of mine made, which gives you a simple command line interface for adding, removing, and listing your aliases.

You don’t necessarily need to use an alias manager, but storing your aliases in their own file is a good idea for organizational purposes.
While I have some aliases that I made for common tasks, a lot of the aliases that I use come from zshell and the Oh My ZSH framework plugins. Oh My ZSH is the predominant framework for working with zsh and I don’t know anyone using zsh that doesn’t use it. One of the notable zsh plugins that I use all day everyday is the z plugin. From the manpage:

With z I don’t have to remember the exact path, I just remember folder names and z will bring up a number of paths for me to choose from. The git plugin is another great one that provides a lot of useful git aliases and functions. Oh My ZSH also has special shortcut commands, like take which will make a new directory and change to it, creating all the intermediary directories as it goes 🙌 . Using .., ..., etc are the equivalent of cd ../, cd ../.., etc; 1, 2, etc are the equivalent of going back 1, 2, etc directories; and the x command is able to extract an archive.
There are over 200 plugins on the Oh My ZSH plugins list that are meant to improve and simplify your workflow, though you wouldn’t want to load them carelessly or your shell will take an incredible amount of time to load. Check out the cheatsheet to get an idea of the capabilities of zsh and see if it is right for you.
#10 Follow your curiosity

Follow your curiosity down some rabbit holes and see how different tools work. There are usually ways to customize almost everything out there. Find the tools that work for you!
No matter your toolset, get to know it and get to know it well. The best tools are the ones that work best for you and that you can use with relative ease.
I encourage you to pick up one new practice a week t0 incorporate into your regular workflow that improves your efficiency over time. You may see a small lag in your workflow speed as you introduce new tools, but overall you should see a drastic increase in your speed and productivity over time as they become second nature.
Happy coding!
