Hate the mouse!
I hate mice. I really do. If it weren't for web browsers, I'd likely never use a mouse. So what does it really mean to live a mouse-free lifestyle?
First, you should get rid of toolbars. If you're not planning on using a mouse, toolbars just waste screen real-estate. This is what my copy of Visual Studio looks like:
You should invest time in learning common keystroke shortcuts for your applications. For example, ALT-F-S in nearly all Windows apps will save (as will CTRL-S). To open the most recent document ALT-F-1 will do. In fact if you hit the ALT key, you'll toggle the underlines on your menu for the keys that will activate each menu option.
To make my keyboarding in Visual Studio more efficient, I also use viemu (VI emulation) in Visual Studio. If you're coding on a Mac, which lacks important programming keys, this is an absolute life saver.
If you use Visual Studio, check out this table of key bindings for C#.
If you spend a lot of time doing email, you should take the time to learn the keyboard shortcuts for your mail client. I particularly like GMail since I can drive their web client using the keyboard (with vim-esque bindings to boot). Check out their list of keyboard shortcuts.
For Outlook, the default bindings work just fine (although please enlighten me as to why CTRL-F searches in *all* other Microsoft programs except Outlook). Learn to love ALT-R for reply, ALT-L for reply-all, and CTRL-ENTER to send.
I've also hacked in some additional functionality in my copy of Outlook through some macros:
This lets me do ALT-Q to drop something into my archives, ALT-W to mark something for follow-up (and generates a matching Task for that item as well), and ALT-P to reply to a mail in plain-text and quoting the original mail using ">" (really useful for mailing lists). This makes it really quick to triage mails to get my inbox back to empty.
I had to bind those macros to the menu bar in Outlook. I'd love it if someone could explain to me why Outlook doesn't let me define custom key bindings so that I don't have to resort to hacks like dropping buttons on a menu bar.
Here's the macro file that I install into every copy of Outlook that I run:
Enum ItemOptions MarkAsRead MarkAsUnRead MarkAsTaskForToday End Enum Private Sub MoveToFolder(folder As String, options As ItemOptions) On Error Resume Next Dim objFolder As Outlook.MAPIFolder, objInbox As Outlook.MAPIFolder Dim objNS As Outlook.NameSpace, objItem As Outlook.MailItem Set objNS = Application.GetNamespace("MAPI") Set objInbox = objNS.GetDefaultFolder(olFolderInbox) Set objFolder = objInbox.Folders(folder) If objFolder Is Nothing Then MsgBox "This folder doesn't exist!", vbOKOnly + vbExclamation, _
"INVALID FOLDER" End If If Application.ActiveExplorer.Selection.Count = 0 Then 'Require that this procedure be called only when
'a message is selected Exit Sub End If For Each objItem In Application.ActiveExplorer.Selection If objFolder.DefaultItemType = olMailItem Then If objItem.Class = olMail Then If options = MarkAsRead Then objItem.UnRead = False End If If options = MarkAsTaskForToday Then objItem.MarkAsTask olMarkToday End If objItem.Move objFolder End If End If Next Set objItem = Nothing Set objFolder = Nothing Set objInbox = Nothing Set objNS = Nothing End Sub Sub MoveSelectedMessagesToArchive() MoveToFolder "Archives", MarkAsRead End Sub Sub MoveSelectedMessagesToFollowUp() MoveToFolder "FollowUp", MarkAsTaskForToday End Sub Sub ReplyAsPlainText() Dim app As New Outlook.Application Dim exp As Outlook.Explorer Set exp = app.ActiveExplorer Dim item As Outlook.MailItem Set item = exp.Selection.item(1) item.BodyFormat = olFormatPlain item.Actions("Reply").ReplyStyle = olReplyTickOriginalText Dim reply As Outlook.MailItem Set reply = item.Actions("Reply").Execute reply.Save reply.Display End Sub
You'll need to either sign this file using a cert or disable macro security to get this to work on your computer.
Oh yes, when in Office learn to love CTRL-F1. This minimizes / restores the ribbon bar to give you back a ton of real-estate.
If you hate the mouse, then you should hate dragging and resizing windows as well. Overlapping windows is so 1990's. With large monitors today, *tiling* is the new hotness. To help you tile windows, you must get the totally awesome WinSplit Revolution. I bind it to CTRL-ALT-4 (tile left), CTRL-ALT-6 (tile right) and CTRL-ALT-5 (maximize). CTRL-ALT-left and CTRL-ALT-right move windows between multiple monitors. My only gripe with it is that it doesn't move vim windows at all. It works out of the box the first few times and then mysteriously stops working (it would rock if it were open source so that I could fix this myself ... wink wink nudge nudge).



Hate the mouse? Use console apps and a tiling window manager. Oh, on Windows? Never mind (although WinSplit looks to be almost as good as a tiling WM).
But seriously, it is good to see that people on the Microsoft side of things are also realizing that the mouse is not always good.
I don't know of any keyboard helpers for IE, but FF has an extension called vimperator, which brings vi(m) goodness to the browser.
P.S. Had some trouble posting due to NoScript, I hope this doesn't double post.
Posted by: Kelly Clowers | January 25, 2008 at 11:27 AM
HandyFind greatly reduces the need for the mouse in IE.
http://www.handykeys.com/
Posted by: Kyle Alons | January 25, 2008 at 11:30 AM
Sweet! VS looks awesome. I've gone mousless for some time now, but it never dawned on me to ditch the toolbars. Duh! The Outlook macro and tips are helpful as I was lacking in ditching the rodent there. I have a tool that will show all the links in IE for a webpage so I don't have to use my mouse there, so life is *almost* complete. Of course my new Dell doesn't let me turn off my touchpad although I guess I could disable it. And why am I blathering on in your comment section? Well, great stuff John as usual!
Posted by: Bil Simser | January 25, 2008 at 06:59 PM
Good Stuff John. I'm not quite "mouse-less", but I do tend to use the keyboard a lot. The only problem for me is developing good muscle-memory, cause my brain memory is too impaired to learn a lot of keyboard shortcuts :) (good think you turned me into a viemu user!).
As for toolbars, I tend to remove them as well, though in VS there are a couple I leave around (mostly the edit and the debugger toolbars). Don't really use them all that much, though.
And Outlook, hah, I finally cut of the chords a couple of months ago, moved to gmail full time and never looked back.
Posted by: Tomas Restrepo | January 26, 2008 at 09:23 AM
The biggest and best single tool you can use for going mouseless is AutoHotkey (http://www.autohotkey.com). It makes it easy to add extremely flexible hotkey support for any task you can dream up, even adding hotkeys to braind-dead apps like Outlook 2007. It's the second thing I install on any coputer I use, and I feel absolutely crippled without ut.
Posted by: Wade Hatler | January 27, 2008 at 02:23 PM
John,
What color layout/theme are you using to get the black in Outlook 2007? I'm stuck with the standard blue.
Posted by: Nick Parker | January 28, 2008 at 06:09 AM
@Nick: see http://www.iunknown.com/2007/06/vibrant_ink_vis.html for my VS Settings file.
@{Wade|Kelly|Kyle}: thanks for the pointers to the utilities. Not sure if I'm ready to get rid of the mouse for the web just yet - but I'm willing to try :)
@Tomas: I used to keep the search box around in the standard toolbox so that I could open files quickly. But you can also do CTRL-ALT-A to bring up the command window and just type open .
Posted by: John Lam | January 28, 2008 at 06:16 AM
@Nick: just realized you were talking about Outlook - Open up an email message and click on the big office icon. Click on Editor Options in the bottom right corner. You'll see the Color scheme drop down there.
Posted by: John Lam | January 28, 2008 at 06:19 AM
Thanks John - much appreciated!
Posted by: Nick Parker | January 28, 2008 at 07:12 AM
If you use Firefox, Tools - Options - Advanced - General - Search for text as I start typing. I don't have to click on hyperlinks anymore, just start typing the text and hit enter when you get there.
I'm doing something similar for keeping the inbox clean - http://www.dailydoseofexcel.com/archives/2007/03/23/more-outlook-tags/
Posted by: Dick Kusleika | January 28, 2008 at 01:55 PM
On the lack of customization in Outlook and other MS user apps:
I think its because the MS developers are too 1337 to understand what the adman David Oglivy understood: "The consumer is not a moron. She is your wife."
I wish the MS UI designers would stop trying to make their lives easier by taking away power from the users.
(End of rant.)
Posted by: Yavuz | February 15, 2008 at 08:38 PM
Go mouseless with firefox using vimperator http://vimperator.mozdev.org
Posted by: Cheng | May 08, 2008 at 11:16 AM