DEV Community

Discussion on: What advice would you give someone looking to use their keyboard more and their mouse less?

Collapse
 
dgeren profile image
David Geren • Edited

I used to work in marketing and was the office MS Office expert, especially in Excel. Learning keyboard shortcuts saved me time and let me concentrate on the task rather than the process. But it takes time to really get to the point that the percentage of mouse time is notably smaller. Start out learning just a few at a time. Don't try to learn them all at once. Initially, concentrate on those 1) in menus since they will be marked what they are in the menu, and 2) you find yourself using the most. Easier to remember them when used as you work rather than trying to just memorize. The more you learn, the easier it gets to learn new ones. One of the most important KB shortcuts for ANYONE to learn are the app switchers (Mac: [Command] + [tab]; windows: [control] + [tab]). They both work exactly the same (well, except in the Mac OS you can click on the icons in the app switcher rather than having to tab, tab, tab, tab....). Next learn the selection/navigation modifiers ([shift], [option/alt], and Mac: [Command] & Windows: [control]). One thing I like better in Windows than the Mac is the use of [home] and [end] in the navigation cluster. In the Mac OS to do the same things you have to [Command] + [left] and [Command] + [right]. So to select from insertion to end of line in Windows is [shift] + [end], but the Mac OS makes you [Command] + [shift] + [right]. Minor but annoying when you switch between OSs often.

I apologize up front for the length of this, but here goes .... If not a Mac user, skip the rest of this ... novel.

The rest of the advice applies to the Mac OS. While I dual boot my Mac (I use W7 because it was the Windows OS closest to the Mac OS and I used it for over twelve years at work), I spend nearly all my time in the Mac OS these days.

Still with me? Good. Go to the keyboard preferences and turn on "Show Keyboard viewer in menu bar" to make it easy to open the KB prefs (albeit with the mouse). Then go to the Shortcuts tab. Go through and remove every default shortcut you don't use, but especially all those you likely won't ever use. You really will not need the vast majority of the items listed, and the removed keystrokes become available for the next step: making your own. Just keep in mind not all shortcuts are in that list so you can still run into conflicts.

Best way to learn a shortcut is to make it easy to use and make it make sense. There are a lot of tutorials online to walk you through the process of creating KB shortcuts. You add new shortcuts to Services and/or App Shortcuts, but you can modify the shortcut for anything in the list regardless of the section it's in. Some app-specific menu items without their own KB shortcuts you might find you use frequently can have a KB shortcut added in the App Shortcuts. For example, I use Notes ... a lot. I added two shortcuts to toggle the Folders sidebar (F19 for view and hide). I added shortcuts for bulleted lists ([Command] + 8), dashed lists ([Command] + [dash]), numbered lists ([Command] + 0), strikethrough ([Command] + [shift] + [dash]), and monospaced style ([Command] + [equal]) for code. Combined with the "shipped" or "out of the box" shortcuts for Title, Headline, and body I rarely need to click (menus or to make a selection) to modify text.

Extensively customizing the shortcuts only really makes sense if you spend all (or nearly all) of your time on one machine. If you use more than one machine and you can't customize the shortcuts because other people use them, too, just stick with the stock shortcuts. A Time Machine backup will put all your settings on a new machine, whether to duplicate or move on from an old machine.

Someone mentioned window management. For all my windows, not just Terminal, I use four apps but you can likely get away with just one of them. I use Magnet, Moom, Breeze, and Divvy. Magnet because how easy the initial setup is, Moom because it can remember and "play back" multiple app/window locations/sizes, Breeze for something called Saved States (I use for one window at a time that might not conform to the "standardized" sizes in Magnet), and Divvy for ad hoc window sizing and placement (tho Saved States works for odd sizes that have to be repeated). Most people can get away with just Moom. While not as easy to set up basic window placements and sizes as Magnet, Moom can be configured to do the same things: full screen (closer to maximize in Windows than to Apple's less-than-ideal, full-screen takeover), half screen, quarter screen, and vertical columns of one-third and two-thirds. I also created sixths (two rows of three) in Breeze.

I configured the window-management KB shortcuts to work logically off the keypad. [Command] + 1, 3, 7, 9 put a window in one of the corners. [Command] + 4 or 6 are left or right. [Command] + 8 or 2 are top or bottom halves. [Command] 5 is "maximize" (great for IDEs). [Command] + [equal], [divide], and multiply are three columns of thirds. Add [shift] to [Command} + [equal] and [multiply ] to get left and right two-thirds. [Command] + [pgup] and [pgdn] move the windows between screens (tho [Command] + 4 and 6 will do this too). [Command] + [shift] + 7, 8, and 9 are one-sixths across the top row. [Command] + [shift] + 1, 2, and 3 the bottom row. While running over to the keypad doesn't seem much better than the mouse, it still avoids having to grab a window, dragging it around, then grabbing a side or corner to resize; not to mention how much more accurate and neat the arrangement is versus manual arrangements.

Once I have a working configuration based on the project, I save all their positions with Moom and create an AppleScript to open all the Apps from the Services menu item from any app. That allows me to open, say, XAMPP-VM, Mail, Messages, FaceTime/Skype (or similar), Slack, VS Code (or similar), Firefox, Opera, Notes, and a Finder window (open to the XAMPP-VM https directory). The script pauses to ask if the lampp is running before it opens anything else because Firefox and/or Finder often open files on launch that don't exist until the VM "drive" is running. The slowest part is starting the XAMPP-VM (haven't taken the time to automate those clicks... yet). Then, I select the appropriate saved configuration from the Moom status icon to move them all where I need them. Almost regardless of the number of apps/windows required for a project, I can go from landing on my desktop after signing in to working in just over two minutes. Plus I don't slow my computer's startup sequence with numerous, possibly unnecessary, applications launching as I get to my desktop.

Finally, sometimes the mouse is best, but there are things you can do to make mousing more efficient. I'll spare you that dissertation (unless someone posts they want me to). Let's just say, the Dock was, but is no longer, a part of it.

Whew, SSL! I hope at least some of you made it this far ... and actually got something of value.