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

def init_editing_mode(self, e):

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