Take the 2-minute tour ×
Web Applications Stack Exchange is a question and answer site for power users of web applications. It's 100% free, no registration required.

I want to use GMail's various rich-text capabilities with the keyboard. For example, I want to type Ctrl + M to indent, Ctrl + Shift + M to dedent, and do all the other actions (like adding a link or changing font) without touching the mouse.

Is that possible? Is there some Chrome extension that does this?

share|improve this question

3 Answers 3

No plugins needed now.

  • Ctrl+[ = Indent More
  • Ctrl+] = Indent Less
share|improve this answer
    
Good partial solution. –  Ram Rachum Dec 11 '12 at 18:48

I did a fair bit of searching but it seems that nobody skilled cares about going beyond what GMail's built-in shortcuts do. There was a Greasemonkey script, but Google integrated what it did into the current set of shortcuts and there is a Google Labs offering, but it just rebindings shortcuts that already exist to new keys.

You may, however, be able to install an extension to add keybindings to rich text areas in general. I couldn't find much, Chrome extension or userscript, for that either, unfortunately.

There is an extension called Vimium with support for custom keybindings, but since it's meant to match Vim, it's more a whole-browser keyboard navigation solution where you have to hit "i" to enter insert mode (where you can type in text areas) and then keybindings it defines won't be processed again until you hit Escape. (It lacks genuine Vim's support for keybindings in insert mode and staying in insert mode as a normal thing)

For what you want, assuming you don't develop a taste for Vimium, you'll probably have to either write your own extension (Using Chrome's ability to load Greasemonkey userscripts would give you the least boilerplate to get used to) or get a friend to do it.

If you want to give that approach a try, what you'd want to do would be:

  1. Find editable widgets (for jQuery, I think the selector would be either body[g_editable='true'] or iframe[id=':po'] but I haven't actually tried it)
  2. Bind a keybinding to them (If using jQuery, there are plugins to make it easy)
  3. When the keybinding fires, get the cursor position and modify the HTML there in whatever way you observe the Google-provided toolbar button doing it.

Sorry I couldn't be more help.

share|improve this answer

I have just found AutoHotkey. (It works on Windows.)

See also the Wikipedia entry regarding it.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.