Skip to content

Instantly share code, notes, and snippets.

@foo9
Created February 20, 2013 17:54
Show Gist options
  • Save foo9/4997521 to your computer and use it in GitHub Desktop.
Save foo9/4997521 to your computer and use it in GitHub Desktop.
import bpy
import os
wm = bpy.context.window_manager
kc = wm.keyconfigs.new(os.path.splitext(os.path.basename(__file__))[0])
# Map Text
km = kc.keymaps.new('Text', space_type='TEXT_EDITOR', region_type='WINDOW', modal=False)
kmi = km.keymap_items.new('text.move', 'LEFT_ARROW', 'PRESS', oskey=True)
kmi.properties.type = 'LINE_BEGIN'
kmi = km.keymap_items.new('text.move', 'RIGHT_ARROW', 'PRESS', oskey=True)
kmi.properties.type = 'LINE_END'
kmi = km.keymap_items.new('text.move', 'LEFT_ARROW', 'PRESS', alt=True)
kmi.properties.type = 'PREVIOUS_WORD'
kmi = km.keymap_items.new('text.move', 'RIGHT_ARROW', 'PRESS', alt=True)
kmi.properties.type = 'NEXT_WORD'
kmi = km.keymap_items.new('text.move', 'UP_ARROW', 'PRESS', oskey=True)
kmi.properties.type = 'FILE_TOP'
kmi = km.keymap_items.new('text.move', 'DOWN_ARROW', 'PRESS', oskey=True)
kmi.properties.type = 'FILE_BOTTOM'
kmi = km.keymap_items.new('text.move_select', 'LEFT_ARROW', 'PRESS', shift=True, oskey=True)
kmi.properties.type = 'LINE_BEGIN'
kmi = km.keymap_items.new('text.move_select', 'RIGHT_ARROW', 'PRESS', shift=True, oskey=True)
kmi.properties.type = 'LINE_END'
kmi = km.keymap_items.new('text.move_select', 'LEFT_ARROW', 'PRESS', shift=True, alt=True)
kmi.properties.type = 'PREVIOUS_WORD'
kmi = km.keymap_items.new('text.move_select', 'RIGHT_ARROW', 'PRESS', shift=True, alt=True)
kmi.properties.type = 'NEXT_WORD'
kmi = km.keymap_items.new('text.move_select', 'UP_ARROW', 'PRESS', shift=True, oskey=True)
kmi.properties.type = 'FILE_TOP'
kmi = km.keymap_items.new('text.move_select', 'DOWN_ARROW', 'PRESS', shift=True, oskey=True)
kmi.properties.type = 'FILE_BOTTOM'
kmi = km.keymap_items.new('text.delete', 'BACK_SPACE', 'PRESS', alt=True)
kmi.properties.type = 'PREVIOUS_WORD'
kmi = km.keymap_items.new('text.save', 'S', 'PRESS', alt=True, oskey=True)
kmi = km.keymap_items.new('text.save_as', 'S', 'PRESS', shift=True, alt=True, oskey=True)
kmi = km.keymap_items.new('text.cut', 'X', 'PRESS', oskey=True)
kmi = km.keymap_items.new('text.copy', 'C', 'PRESS', oskey=True)
kmi = km.keymap_items.new('text.paste', 'V', 'PRESS', oskey=True)
kmi = km.keymap_items.new('text.properties', 'F', 'PRESS', oskey=True)
kmi = km.keymap_items.new('text.find_set_selected', 'E', 'PRESS', oskey=True)
kmi = km.keymap_items.new('text.find', 'G', 'PRESS', oskey=True)
kmi = km.keymap_items.new('text.select_line', 'A', 'PRESS', shift=True, oskey=True)
kmi = km.keymap_items.new('wm.context_cycle_int', 'WHEELUPMOUSE', 'PRESS', ctrl=True)
kmi.properties.data_path = 'space_data.font_size'
kmi.properties.reverse = False
kmi = km.keymap_items.new('wm.context_cycle_int', 'WHEELDOWNMOUSE', 'PRESS', ctrl=True)
kmi.properties.data_path = 'space_data.font_size'
kmi.properties.reverse = True
kmi = km.keymap_items.new('wm.context_cycle_int', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi.properties.data_path = 'space_data.font_size'
kmi.properties.reverse = False
kmi = km.keymap_items.new('wm.context_cycle_int', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi.properties.data_path = 'space_data.font_size'
kmi.properties.reverse = True
kmi = km.keymap_items.new('text.new', 'N', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('text.open', 'O', 'PRESS', alt=True)
kmi = km.keymap_items.new('text.reload', 'R', 'PRESS', alt=True)
kmi = km.keymap_items.new('text.save', 'S', 'PRESS', alt=True)
kmi = km.keymap_items.new('text.save_as', 'S', 'PRESS', shift=True, ctrl=True, alt=True)
kmi = km.keymap_items.new('text.run_script', 'P', 'PRESS', alt=True)
kmi = km.keymap_items.new('text.cut', 'X', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('text.copy', 'C', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('text.paste', 'V', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('text.cut', 'DEL', 'PRESS', shift=True)
kmi = km.keymap_items.new('text.copy', 'INSERT', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('text.paste', 'INSERT', 'PRESS', shift=True)
kmi = km.keymap_items.new('text.duplicate_line', 'D', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('text.jump', 'J', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('text.find', 'G', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('text.properties', 'F', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('text.replace', 'H', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('text.to_3d_object', 'M', 'PRESS', alt=True)
kmi.properties.split_lines = False
kmi = km.keymap_items.new('text.to_3d_object', 'M', 'PRESS', ctrl=True)
kmi.properties.split_lines = True
kmi = km.keymap_items.new('text.select_all', 'A', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('text.select_line', 'A', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('text.select_word', 'LEFTMOUSE', 'DOUBLE_CLICK')
kmi = km.keymap_items.new('text.move_lines', 'UP_ARROW', 'PRESS', shift=True, ctrl=True)
kmi.properties.direction = 'UP'
kmi = km.keymap_items.new('text.move_lines', 'DOWN_ARROW', 'PRESS', shift=True, ctrl=True)
kmi.properties.direction = 'DOWN'
kmi = km.keymap_items.new('text.indent', 'TAB', 'PRESS')
kmi = km.keymap_items.new('text.unindent', 'TAB', 'PRESS', shift=True)
kmi = km.keymap_items.new('text.uncomment', 'D', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('text.move', 'HOME', 'PRESS')
kmi.properties.type = 'LINE_BEGIN'
kmi = km.keymap_items.new('text.move', 'END', 'PRESS')
kmi.properties.type = 'LINE_END'
kmi = km.keymap_items.new('text.move', 'E', 'PRESS', ctrl=True)
kmi.properties.type = 'LINE_END'
kmi = km.keymap_items.new('text.move', 'E', 'PRESS', shift=True, ctrl=True)
kmi.properties.type = 'LINE_END'
kmi = km.keymap_items.new('text.move', 'LEFT_ARROW', 'PRESS')
kmi.properties.type = 'PREVIOUS_CHARACTER'
kmi = km.keymap_items.new('text.move', 'RIGHT_ARROW', 'PRESS')
kmi.properties.type = 'NEXT_CHARACTER'
kmi = km.keymap_items.new('text.move', 'LEFT_ARROW', 'PRESS', ctrl=True)
kmi.properties.type = 'PREVIOUS_WORD'
kmi = km.keymap_items.new('text.move', 'RIGHT_ARROW', 'PRESS', ctrl=True)
kmi.properties.type = 'NEXT_WORD'
kmi = km.keymap_items.new('text.move', 'UP_ARROW', 'PRESS')
kmi.properties.type = 'PREVIOUS_LINE'
kmi = km.keymap_items.new('text.move', 'DOWN_ARROW', 'PRESS')
kmi.properties.type = 'NEXT_LINE'
kmi = km.keymap_items.new('text.move', 'PAGE_UP', 'PRESS')
kmi.properties.type = 'PREVIOUS_PAGE'
kmi = km.keymap_items.new('text.move', 'PAGE_DOWN', 'PRESS')
kmi.properties.type = 'NEXT_PAGE'
kmi = km.keymap_items.new('text.move', 'HOME', 'PRESS', ctrl=True)
kmi.properties.type = 'FILE_TOP'
kmi = km.keymap_items.new('text.move', 'END', 'PRESS', ctrl=True)
kmi.properties.type = 'FILE_BOTTOM'
kmi = km.keymap_items.new('text.move_select', 'HOME', 'PRESS', shift=True)
kmi.properties.type = 'LINE_BEGIN'
kmi = km.keymap_items.new('text.move_select', 'END', 'PRESS', shift=True)
kmi.properties.type = 'LINE_END'
kmi = km.keymap_items.new('text.move_select', 'LEFT_ARROW', 'PRESS', shift=True)
kmi.properties.type = 'PREVIOUS_CHARACTER'
kmi = km.keymap_items.new('text.move_select', 'RIGHT_ARROW', 'PRESS', shift=True)
kmi.properties.type = 'NEXT_CHARACTER'
kmi = km.keymap_items.new('text.move_select', 'LEFT_ARROW', 'PRESS', shift=True, ctrl=True)
kmi.properties.type = 'PREVIOUS_WORD'
kmi = km.keymap_items.new('text.move_select', 'RIGHT_ARROW', 'PRESS', shift=True, ctrl=True)
kmi.properties.type = 'NEXT_WORD'
kmi = km.keymap_items.new('text.move_select', 'UP_ARROW', 'PRESS', shift=True)
kmi.properties.type = 'PREVIOUS_LINE'
kmi = km.keymap_items.new('text.move_select', 'DOWN_ARROW', 'PRESS', shift=True)
kmi.properties.type = 'NEXT_LINE'
kmi = km.keymap_items.new('text.move_select', 'PAGE_UP', 'PRESS', shift=True)
kmi.properties.type = 'PREVIOUS_PAGE'
kmi = km.keymap_items.new('text.move_select', 'PAGE_DOWN', 'PRESS', shift=True)
kmi.properties.type = 'NEXT_PAGE'
kmi = km.keymap_items.new('text.move_select', 'HOME', 'PRESS', shift=True, ctrl=True)
kmi.properties.type = 'FILE_TOP'
kmi = km.keymap_items.new('text.move_select', 'END', 'PRESS', shift=True, ctrl=True)
kmi.properties.type = 'FILE_BOTTOM'
kmi = km.keymap_items.new('text.delete', 'DEL', 'PRESS')
kmi.properties.type = 'NEXT_CHARACTER'
kmi = km.keymap_items.new('text.delete', 'BACK_SPACE', 'PRESS')
kmi.properties.type = 'PREVIOUS_CHARACTER'
kmi = km.keymap_items.new('text.delete', 'BACK_SPACE', 'PRESS', shift=True)
kmi.properties.type = 'PREVIOUS_CHARACTER'
kmi = km.keymap_items.new('text.delete', 'DEL', 'PRESS', ctrl=True)
kmi.properties.type = 'NEXT_WORD'
kmi = km.keymap_items.new('text.delete', 'BACK_SPACE', 'PRESS', ctrl=True)
kmi.properties.type = 'PREVIOUS_WORD'
kmi = km.keymap_items.new('text.overwrite_toggle', 'INSERT', 'PRESS')
kmi = km.keymap_items.new('text.scroll_bar', 'LEFTMOUSE', 'PRESS')
kmi = km.keymap_items.new('text.scroll_bar', 'MIDDLEMOUSE', 'PRESS')
kmi = km.keymap_items.new('text.scroll', 'MIDDLEMOUSE', 'PRESS')
kmi = km.keymap_items.new('text.scroll', 'TRACKPADPAN', 'ANY')
kmi = km.keymap_items.new('text.selection_set', 'EVT_TWEAK_L', 'ANY')
kmi = km.keymap_items.new('text.cursor_set', 'LEFTMOUSE', 'PRESS')
kmi = km.keymap_items.new('text.selection_set', 'LEFTMOUSE', 'PRESS', shift=True)
kmi.properties.select = True
kmi = km.keymap_items.new('text.scroll', 'WHEELUPMOUSE', 'PRESS')
kmi.properties.lines = -1
kmi = km.keymap_items.new('text.scroll', 'WHEELDOWNMOUSE', 'PRESS')
kmi.properties.lines = 1
kmi = km.keymap_items.new('text.line_break', 'RET', 'PRESS')
kmi = km.keymap_items.new('text.line_break', 'NUMPAD_ENTER', 'PRESS')
kmi = km.keymap_items.new('wm.call_menu', 'RIGHTMOUSE', 'PRESS', any=True)
kmi.properties.name = 'TEXT_MT_toolbox'
kmi = km.keymap_items.new('text.line_number', 'NONE', 'ANY', any=True)
kmi = km.keymap_items.new('text.insert', 'NONE', 'ANY', any=True)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment