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).
Recent Comments