u'''When in vi command mode, this causes a switch to emacs editing
        mode.

def init_editing_mode(self, e):  # (C-e)
        u'''When in vi command mode, this causes a switch to emacs editing
        mode.'''
        self._bind_exit_key(u'Control-d')
        self._bind_exit_key(u'Control-z')

        # I often accidentally hold the shift or control while typing space
        self._bind_key(u'space',       self.self_insert)
        self._bind_key(u'Shift-space',       self.self_insert)
        self._bind_key(u'Control-space',     self.self_insert)
        self._bind_key(u'Return',            self.accept_line)
        self._bind_key(u'Left',              self.backward_char)
        self._bind_key(u'Control-b',         self.backward_char)
        self._bind_key(u'Right',             self.forward_char)
        self._bind_key(u'Control-f',         self.forward_char)
        self._bind_key(u'Control-h',         self.backward_delete_char)
        self._bind_key(u'BackSpace',         self.backward_delete_char)
        self._bind_key(u'Control-BackSpace', self.backward_delete_word)

        self._bind_key(u'Home',              self.beginning_of_line)
        self._bind_key(u'End',               self.end_of_line)
        self._bind_key(u'Delete',            self.delete_char)
        self._bind_key(u'Control-d',         self.delete_char)
        self._bind_key(u'Clear',             self.clear_screen)
        self._bind_key(u'Alt-f',             self.forward_word)
        self._bind_key(u'Alt-b',             self.backward_word)
        self._bind_key(u'Control-l',         self.clear_screen)
        self._bind_key(u'Control-p',         self.previous_history)
        self._bind_key(u'Up',                self.history_search_backward)
        self._bind_key(u'Control-n',         self.next_history)
        self._bind_key(u'Down',              self.history_search_forward)
        self._bind_key(u'Control-a',         self.beginning_of_line)
        self._bind_key(u'Control-e',         self.end_of_line)
        self._bind_key(u'Alt-<',             self.beginning_of_history)
        self._bind_key(u'Alt->',             self.end_of_history)
        self._bind_key(u'Control-r',         self.reverse_search_history)
        self._bind_key(u'Control-s',         self.forward_search_history)
        self._bind_key(u'Control-Shift-r',         self.forward_search_history)
        self._bind_key(u'Alt-p',
                       self.non_incremental_reverse_search_history)
        self._bind_key(u'Alt-n',
                       self.non_incremental_forward_search_history)
        self._bind_key(u'Control-z',         self.undo)
        self._bind_key(u'Control-_',         self.undo)
        self._bind_key(u'Escape',            self.kill_whole_line)
        self._bind_key(u'Meta-d',            self.kill_word)
        self._bind_key(u'Control-Delete',       self.forward_delete_word)
        self._bind_key(u'Control-w',         self.unix_word_rubout)
        #self._bind_key('Control-Shift-v',   self.quoted_insert)
        self._bind_key(u'Control-v',         self.paste)
        self._bind_key(u'Alt-v',             self.ipython_paste)
        self._bind_key(u'Control-y',         self.yank)
        self._bind_key(u'Control-k',         self.kill_line)
        self._bind_key(u'Control-m',         self.set_mark)
        self._bind_key(u'Control-q',         self.copy_region_to_clipboard)
#        self._bind_key('Control-shift-k',  self.kill_whole_line)
        self._bind_key(u'Control-Shift-v',   self.paste_mulitline_code)
        self._bind_key(u"Control-Right",     self.forward_word_end)
        self._bind_key(u"Control-Left",      self.backward_word)
        self._bind_key(u"Shift-Right",
                       self.forward_char_extend_selection)
        self._bind_key(u"Shift-Left",
                       self.backward_char_extend_selection)
        self._bind_key(u"Shift-Control-Right",
                       self.forward_word_end_extend_selection)
        self._bind_key(u"Shift-Control-Left",
                       self.backward_word_extend_selection)
        self._bind_key(u"Shift-Home",
                       self.beginning_of_line_extend_selection)
        self._bind_key(u"Shift-End",
                       self.end_of_line_extend_selection)
        self._bind_key(u"numpad0",           self.self_insert)
        self._bind_key(u"numpad1",           self.self_insert)
        self._bind_key(u"numpad2",           self.self_insert)
        self._bind_key(u"numpad3",           self.self_insert)
        self._bind_key(u"numpad4",           self.self_insert)
        self._bind_key(u"numpad5",           self.self_insert)
        self._bind_key(u"numpad6",           self.self_insert)
        self._bind_key(u"numpad7",           self.self_insert)
        self._bind_key(u"numpad8",           self.self_insert)
        self._bind_key(u"numpad9",           self.self_insert)
        self._bind_key(u"add",               self.self_insert)
        self._bind_key(u"subtract",          self.self_insert)
        self._bind_key(u"multiply",          self.self_insert)
        self._bind_key(u"divide",            self.self_insert)
        self._bind_key(u"vk_decimal",        self.self_insert)
        log(u"RUNNING INIT EMACS")
        for i in range(0, 10):
            self._bind_key(u"alt-%d"%i,      self.digit_argument)
        self._bind_key(u"alt--",             self.digit_argument)