   )
 
 _initHotkeys = ->
+  this.addHotkey(Scribe.Keyboard.HOTKEYS.OUTDENT, (range) =>
+    _onTab.call(this, range, true)
+    return false
+  )
   this.addHotkey(Scribe.Keyboard.HOTKEYS.INDENT, (range) =>
-    lines = range.getLines()
-    if lines.length > 1
-      index = Scribe.Position.getIndex(lines[0].node)
-      _.each(lines, (line) =>
-        @editor.insertAt(index, "\t", {}, { source: 'user' })
-        index += line.length
-      )
-    else
-      range.deleteContents({ source: 'user' })
-      range.insertContents(0, "\t", {}, { source: 'user' })
+    _onTab.call(this, range, false)
+    return false
   )
   this.addHotkey(Scribe.Keyboard.HOTKEYS.BOLD, (range) =>
     this.toggleFormat(range, 'bold')
+    return false
   )
   this.addHotkey(Scribe.Keyboard.HOTKEYS.ITALIC, (range) =>
     this.toggleFormat(range, 'italic')
+    return false
   )
   this.addHotkey(Scribe.Keyboard.HOTKEYS.UNDERLINE, (range) =>
     this.toggleFormat(range, 'underline')
+    return false
   )
 
 _initListeners = ->

    event.preventDefault() if prevent
    return !prevent
  )


class Scribe.Keyboard

        applyIndent(line, 'indent')
    )

  toggleFormat: (range, format) ->
    formats = range.getFormats()
    range.formatContents(format, !formats[format], { source: 'user' })
