Becoming a GMail Ninja

A lot of you know about the many keyboard shortcuts in GMail. Most of you probably use the most common ones. Today I want to issue out a challenge to you: completely stop using your mouse in GMail. Rely entirely on your keyboard. Not only is it possible but I personally find it more productive. As I always switch browser tabs using [cmd][tab #], using gmail without a mouse can be a time saver.


Let’s start with some settings. I like to use a compact black theme to save up on my laptop battery and display more items. Some Labs will need to be activated:

  • Settings: Display density: compact
  • Settings/Themes: Color Theme dark to save on laptop battery
  • Settings/General: 
    • Default Reply: reply to all 
    • Enable Undo Send
    • Keyboard Shortcuts On
  • Settings/Labs:
    • Enable Undo Send
    • Enable Unread Message Icon

Learn how to use Labels

This is the most useful feature of GMail. Make sure to label your emails as they come through. Use precise filters to automatically label them into categories that make sense to you. This will allow you to automatically sort and process your emails as they go through.

Navigating through common folders / places

Here’s how to navigate between the different places. This is the [alt][tab] / [⌘][tab] of Gmail.

Learn how to quickly go back and forth between them. Here are the ones I find most useful :

[/] – goto search
[g][a] – goto all
[g][i] – goto inbox
[g][s] – goto starred
[g][t] – goto sent
[g][d] – goto draft
[g][l]<label> – goto label, use [tab] for autocompletion
[g][k] – goto tasks
[esc] – close window, reset focus
[q]<contact> – chat with contact
[c] – create a new email

If you are in the chat window:

[shift][esc] – go back and forth between chat and mail
[esc] – close current chat

searching for emails

Once the searchbar has gained focus (hotkey /), there are tens of keywords and operators that let you search through your emails.

Learning a few of them can really make a difference. I only use about 10 keywords.

Don’t forget to use [tab] for autocompletion:

in: <label/inbox/trash/spam/chat>
is: <starred/unread/read/chat>
-in:chats or -is:chat: exclude chats
-label:<label>: exclude label

If you perform this search often, make sure to create a filter for them (More > Filter messages like these)

Selecting emails:

When viewing a list of conversations, it is very useful to know how to make quick selections in order to apply bulk actions.

When the focus is resetted (key [esc]), you can move the blue cursor to make single selection/deselection.

[*][u] – select all unread
[*][i] – select all read
[*][n] – select none
[*][a] – select all
[x] – select/deselect single (blue cursor)
[up]/[down] or [j]/[k] – move cursor

Performing actions on a selection (bulk)

[+]/[-]  : mark as important / not important
[l]<label> : label as label
[U] – mark as unread
[I] – mark as read
[#] – delete

Combining with the previous hotkeys, here are a couple of useful combos:

[g][l]<label>[*][u][I] – mark all unread messages with label X as read:
[*][u][#] – delete all unread
[g][l]<trash>[*][a][#][enter] – delete all messages with a certain label
[g][d][*][a][#][enter] – delete all drafts

Performing actions on a email (single)

(all bulk actions apply as well)

[enter] / [o] – open email
[s] – star
[a] – reply all
[f] – forward
[T] – add to task
[k] / [j] – next / prev

while writing an email:

[tab][enter] – send mail
[ctrl][shift][c] / [⌘][shift][c] – Add recipients
[ctrl][s] / [⌘][s] – save draft
[⌘][;]  last mispelled word
[⌘][\]: remove formatting
[shift][cmd][6] – alter font. By default, the font is Sans Serif, 2 fonts left of Fixed Width. When pasting code you can select the code, then use the combo [⌘][\][shiftcmd6][shiftcmd6] to quickly format it using a clean monospace font.

If you are in the middle of writing an email and want to do something else, then go back to that email: combo [⌘][s][esc]<do something else>[g][d][o]

Finally, 2 useful shortcuts for reference :

[?] – shortcut help
[z] – undo

Leave a Reply

Your email address will not be published. Required fields are marked *