{
"global": { "ask_for_confirmation_before_quitting": false },
"profiles": [
{
"name": "Default",
"virtual_hid_keyboard": { "keyboard_type_v2": "iso" }
},
{
"complex_modifications": {
"parameters": { "basic.to_if_alone_timeout_milliseconds": 800 },
"rules": [
{
"description": "Change control+hjkl to arrow keys",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.googlecode\\.iterm2$",
"^com\\.neovide\\.neovide$",
"^com\\.jetbrains\\.intellij$"
],
"type": "frontmost_application_unless"
}
],
"from": {
"key_code": "h",
"modifiers": { "mandatory": ["control"] }
},
"to": [{ "key_code": "left_arrow" }],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.googlecode\\.iterm2$",
"^com\\.neovide\\.neovide$",
"^com\\.jetbrains\\.intellij$"
],
"type": "frontmost_application_unless"
}
],
"from": {
"key_code": "j",
"modifiers": { "mandatory": ["control"] }
},
"to": [{ "key_code": "down_arrow" }],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.googlecode\\.iterm2$",
"^com\\.neovide\\.neovide$",
"^com\\.jetbrains\\.intellij$"
],
"type": "frontmost_application_unless"
}
],
"from": {
"key_code": "k",
"modifiers": { "mandatory": ["control"] }
},
"to": [{ "key_code": "up_arrow" }],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.googlecode\\.iterm2$",
"^com\\.neovide\\.neovide$",
"^com\\.jetbrains\\.intellij$"
],
"type": "frontmost_application_unless"
}
],
"from": {
"key_code": "l",
"modifiers": { "mandatory": ["control"] }
},
"to": [{ "key_code": "right_arrow" }],
"type": "basic"
}
]
},
{
"description": "Custom key remappings for US Layout with 'compose key'. No complex modifiers.",
"manipulators": [
{
"conditions": [
{
"input_sources": [
{
"input_source_id": "com.apple.keylayout.US",
"language": "en"
}
],
"type": "input_source_if"
}
],
"description": "non_us_backslash (§) -> ` (`)",
"from": { "key_code": "non_us_backslash" },
"to": [{ "key_code": "grave_accent_and_tilde" }],
"type": "basic"
},
{
"conditions": [
{
"input_sources": [
{
"input_source_id": "com.apple.keylayout.US",
"language": "en"
}
],
"type": "input_source_if"
}
],
"description": "Shift+non_us_backslash (±) -> Shift+` (~)",
"from": {
"key_code": "non_us_backslash",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"key_code": "grave_accent_and_tilde",
"modifiers": ["shift"]
}
],
"type": "basic"
},
{
"conditions": [
{
"input_sources": [
{
"input_source_id": "com.apple.keylayout.US",
"language": "en"
}
],
"type": "input_source_if"
}
],
"description": "Command+non_us_backslash (§) -> Command+grave_accent_and_tilde",
"from": {
"key_code": "non_us_backslash",
"modifiers": { "mandatory": ["command"] }
},
"to": [
{
"key_code": "grave_accent_and_tilde",
"modifiers": ["command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"input_sources": [
{
"input_source_id": "com.apple.keylayout.US",
"language": "en"
}
],
"type": "input_source_if"
}
],
"description": "grave_accent_and_tilde (`) -> RightOption+non_us_backslash (compose `)",
"from": { "key_code": "grave_accent_and_tilde" },
"to": [
{
"key_code": "grave_accent_and_tilde",
"modifiers": ["right_option"]
}
],
"type": "basic"
},
{
"conditions": [
{
"input_sources": [
{
"input_source_id": "com.apple.keylayout.US",
"language": "en"
}
],
"type": "input_source_if"
}
],
"description": "Shift+grave_accent_and_tilde (~) -> acute dead key (Right Option + e) (compose ´)",
"from": {
"key_code": "grave_accent_and_tilde",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"key_code": "e",
"modifiers": ["right_option"]
}
],
"type": "basic"
}
]
},
{
"manipulators": [
{
"description": "Return to return if pressed alone and control if held down",
"from": {
"key_code": "return_or_enter",
"modifiers": { "optional": ["any"] }
},
"to": [{ "key_code": "left_control" }],
"to_if_alone": { "key_code": "return_or_enter" },
"type": "basic"
}
]
},
{
"description": "Disable all keys when keyboard is locked",
"manipulators": [
{
"conditions": [
{
"name": "keyboard_locked",
"type": "variable_if",
"value": 1
}
],
"from": { "any": "key_code" },
"to": [{ "key_code": "vk_none" }],
"type": "basic"
}
]
},
{
"description": "Unlock keyboard with Cmd+Shift+Ctrl+Opt+Fn+L (if locked)",
"manipulators": [
{
"conditions": [
{
"name": "keyboard_locked",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "l",
"modifiers": { "mandatory": ["command", "shift", "control", "option", "fn"] }
},
"to": [
{
"set_variable": {
"name": "keyboard_locked",
"value": 0
}
},
{ "key_code": "f19" }
],
"type": "basic"
}
]
},
{
"description": "Lock keyboard with Cmd+Shift+Ctrl+Opt+Fn+L (if not already locked)",
"manipulators": [
{
"conditions": [
{
"name": "keyboard_locked",
"type": "variable_if",
"value": 0
}
],
"from": {
"key_code": "l",
"modifiers": { "mandatory": ["command", "shift", "control", "option", "fn"] }
},
"to": [
{
"set_variable": {
"name": "keyboard_locked",
"value": 1
}
},
{ "key_code": "f19" }
],
"type": "basic"
}
]
},
{
"description": "Right Shift Mapping V1",
"enabled": false,
"manipulators": [
{
"conditions": [
{
"name": "rshift pressed",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "right_shift",
"modifiers": { "optional": ["any"] }
},
"to": [{ "key_code": "left_control" }],
"type": "basic"
},
{
"from": {
"key_code": "right_shift",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"set_variable": {
"name": "rshift pressed",
"value": 1
}
},
{ "key_code": "right_shift" }
],
"to_delayed_action": {
"to_if_canceled": [
{
"set_variable": {
"name": "rshift pressed",
"value": 0
}
}
],
"to_if_invoked": [
{
"set_variable": {
"name": "rshift pressed",
"value": 0
}
}
]
},
"type": "basic"
}
]
},
{
"description": "Change control+hjkl to arrow keys",
"enabled": false,
"manipulators": [
{
"from": {
"key_code": "h",
"modifiers": { "mandatory": ["control"] }
},
"to": [{ "key_code": "left_arrow" }],
"type": "basic"
},
{
"from": {
"key_code": "j",
"modifiers": { "mandatory": ["control"] }
},
"to": [{ "key_code": "down_arrow" }],
"type": "basic"
},
{
"from": {
"key_code": "k",
"modifiers": { "mandatory": ["control"] }
},
"to": [{ "key_code": "up_arrow" }],
"type": "basic"
},
{
"from": {
"key_code": "l",
"modifiers": { "mandatory": ["control"] }
},
"to": [{ "key_code": "right_arrow" }],
"type": "basic"
}
]
},
{
"description": "(Vim 1/11) caps_lock -> on, caps_lock, esc, control+[ or any pointing_button -> off",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_unless",
"value": 1
}
],
"from": { "key_code": "escape" },
"parameters": {
"basic.to_if_alone_threshold_milliseconds": 0,
"basic.to_if_held_down_threshold_milliseconds": 100
},
"to_after_key_up": [
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
}
],
"to_if_alone": [
{
"set_variable": {
"name": "vim_mode",
"value": 1
}
},
{
"halt": true,
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": "NORMAL - Vim Mode Enabled"
}
}
],
"to_if_held_down": [
{
"set_variable": {
"name": "vim_mode",
"value": 1
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": "NORMAL - Vim Mode Enabled"
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "escape" },
"to": [
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "caps_lock" },
"to": [
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "open_bracket",
"modifiers": { "mandatory": ["control"] }
},
"to": [
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_if"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "any": "key_code" },
"to": [
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "any": "pointing_button" },
"to": [
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": ""
}
}
],
"type": "basic"
}
]
},
{
"available_since": "12.6.9",
"description": "(Vim 2/11) finger on trackpad + any key -> off",
"manipulators": [
{
"conditions": [
{
"name": "multitouch_extension_finger_count_total",
"type": "variable_unless",
"value": 0
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "any": "key_code" },
"to": [
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": ""
}
}
],
"type": "basic"
}
]
},
{
"description": "(Vim 3/11) visual mode + h,j,k,l,e,b,0,^,$,gg,G,{,} + d,y,c,x",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "visual_mode",
"type": "variable_unless",
"value": 1
}
],
"from": { "key_code": "v" },
"to": [
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_variable": {
"name": "visual_mode",
"value": 1
}
},
{
"set_notification_message": {
"id": "visual_mode_enabled",
"text": "VISUAL - Visual Mode Enabled"
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "visual_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "v" },
"to": [
{
"set_variable": {
"name": "visual_mode",
"value": 0
}
},
{
"set_variable": {
"name": "vim_mode",
"value": 1
}
},
{
"set_notification_message": {
"id": "visual_mode_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "visual_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "caps_lock" },
"to": [
{
"set_variable": {
"name": "visual_mode",
"value": 0
}
},
{
"set_variable": {
"name": "vim_mode",
"value": 1
}
},
{
"set_notification_message": {
"id": "visual_mode_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "visual_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "h" },
"to": [
{
"key_code": "left_arrow",
"modifiers": ["left_shift"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "visual_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "j" },
"to": [
{
"key_code": "down_arrow",
"modifiers": ["left_shift"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "visual_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "k" },
"to": [
{
"key_code": "up_arrow",
"modifiers": ["left_shift"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "visual_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "l" },
"to": [
{
"key_code": "right_arrow",
"modifiers": ["left_shift"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "visual_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "e" },
"to": [
{
"key_code": "right_arrow",
"modifiers": ["left_shift", "left_alt"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "visual_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "b" },
"to": [
{
"key_code": "left_arrow",
"modifiers": ["left_shift", "left_alt"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "visual_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "0" },
"to": [
{
"key_code": "left_arrow",
"modifiers": ["left_shift", "left_command"]
},
{
"key_code": "left_arrow",
"modifiers": ["left_shift", "left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "visual_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "6",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"key_code": "left_arrow",
"modifiers": ["left_shift", "left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "visual_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "4",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"key_code": "right_arrow",
"modifiers": ["left_shift", "left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "visual_mode",
"type": "variable_if",
"value": 1
},
{
"name": "g_pressed",
"type": "variable_unless",
"value": 1
}
],
"from": { "key_code": "g" },
"parameters": { "basic.to_delayed_action_delay_milliseconds": 500 },
"to": [
{
"set_variable": {
"name": "g_pressed",
"value": 1
}
}
],
"to_delayed_action": {
"to_if_invoked": [
{
"set_variable": {
"name": "g_pressed",
"value": 0
}
}
]
},
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "visual_mode",
"type": "variable_if",
"value": 1
},
{
"name": "g_pressed",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "g" },
"to": [
{
"key_code": "up_arrow",
"modifiers": ["left_shift", "left_command"]
},
{
"set_variable": {
"name": "g_pressed",
"value": 0
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "visual_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "g",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"key_code": "down_arrow",
"modifiers": ["left_shift", "left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "visual_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "open_bracket",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"key_code": "a",
"modifiers": ["left_shift", "left_control"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "visual_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "close_bracket",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"key_code": "e",
"modifiers": ["left_shift", "left_control"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "visual_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "d" },
"to": [
{
"key_code": "x",
"modifiers": ["left_command"]
},
{
"set_variable": {
"name": "visual_mode",
"value": 0
}
},
{
"set_variable": {
"name": "vim_mode",
"value": 1
}
},
{
"set_notification_message": {
"id": "visual_mode_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "visual_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "y" },
"to": [
{
"key_code": "c",
"modifiers": ["left_command"]
},
{
"set_variable": {
"name": "visual_mode",
"value": 0
}
},
{
"set_variable": {
"name": "vim_mode",
"value": 1
}
},
{
"set_notification_message": {
"id": "visual_mode_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "visual_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "c" },
"to": [
{
"key_code": "x",
"modifiers": ["left_command"]
},
{
"set_variable": {
"name": "visual_mode",
"value": 0
}
},
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": ""
}
},
{
"set_notification_message": {
"id": "visual_mode_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "visual_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "x" },
"to": [
{ "key_code": "delete_or_backspace" },
{
"set_variable": {
"name": "visual_mode",
"value": 0
}
},
{
"set_variable": {
"name": "vim_mode",
"value": 1
}
},
{
"set_notification_message": {
"id": "visual_mode_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "visual_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "left_shift",
"modifiers": { "optional": ["any"] }
},
"to": [{ "key_code": "left_shift" }],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "visual_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "right_shift",
"modifiers": { "optional": ["any"] }
},
"to": [{ "key_code": "right_shift" }],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "visual_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"any": "key_code",
"modifiers": { "optional": ["any"] }
},
"to": [{ "key_code": "vk_none" }],
"type": "basic"
}
]
},
{
"description": "(Vim 4/11) dd,de,db,d0,d^,d$,dgg,dG,d{,d}",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "d_pressed",
"type": "variable_unless",
"value": 1
}
],
"from": { "key_code": "d" },
"parameters": { "basic.to_delayed_action_delay_milliseconds": 500 },
"to": [
{
"set_variable": {
"name": "d_pressed",
"value": 1
}
}
],
"to_delayed_action": {
"to_if_invoked": [
{
"set_variable": {
"name": "d_pressed",
"value": 0
}
}
]
},
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "d_pressed",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "d" },
"to": [
{
"set_variable": {
"name": "d_pressed",
"value": 0
}
},
{
"key_code": "left_arrow",
"modifiers": ["left_command"]
},
{
"key_code": "left_arrow",
"modifiers": ["left_command"]
},
{
"key_code": "right_arrow",
"modifiers": ["left_command", "left_shift"]
},
{
"key_code": "x",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "d_pressed",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "e" },
"to": [
{
"set_variable": {
"name": "d_pressed",
"value": 0
}
},
{
"key_code": "right_arrow",
"modifiers": ["left_shift", "left_alt"]
},
{
"key_code": "x",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "d_pressed",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "b" },
"to": [
{
"set_variable": {
"name": "d_pressed",
"value": 0
}
},
{
"key_code": "left_arrow",
"modifiers": ["left_shift", "left_alt"]
},
{
"key_code": "x",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "d_pressed",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "0" },
"to": [
{
"set_variable": {
"name": "d_pressed",
"value": 0
}
},
{
"key_code": "left_arrow",
"modifiers": ["left_command", "left_shift"]
},
{
"key_code": "left_arrow",
"modifiers": ["left_command", "left_shift"]
},
{
"key_code": "x",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "d_pressed",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "6",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"set_variable": {
"name": "d_pressed",
"value": 0
}
},
{
"key_code": "left_arrow",
"modifiers": ["left_command", "left_shift"]
},
{
"key_code": "x",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "d_pressed",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "4",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"set_variable": {
"name": "d_pressed",
"value": 0
}
},
{
"key_code": "right_arrow",
"modifiers": ["left_command", "left_shift"]
},
{
"key_code": "x",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "d_pressed",
"type": "variable_if",
"value": 1
},
{
"name": "dg_pressed",
"type": "variable_unless",
"value": 1
}
],
"from": { "key_code": "g" },
"parameters": { "basic.to_delayed_action_delay_milliseconds": 500 },
"to": [
{
"set_variable": {
"name": "d_pressed",
"value": 0
}
},
{
"set_variable": {
"name": "dg_pressed",
"value": 1
}
}
],
"to_delayed_action": {
"to_if_invoked": [
{
"set_variable": {
"name": "dg_pressed",
"value": 0
}
}
]
},
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "dg_pressed",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "g" },
"to": [
{
"set_variable": {
"name": "dg_pressed",
"value": 0
}
},
{
"key_code": "up_arrow",
"modifiers": ["left_shift", "left_command"]
},
{
"key_code": "x",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "d_pressed",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "g",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"set_variable": {
"name": "d_pressed",
"value": 0
}
},
{
"key_code": "down_arrow",
"modifiers": ["left_shift", "left_command"]
},
{
"key_code": "x",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "d_pressed",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "open_bracket",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"set_variable": {
"name": "d_pressed",
"value": 0
}
},
{
"key_code": "a",
"modifiers": ["left_control", "left_shift"]
},
{
"key_code": "x",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "d_pressed",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "close_bracket",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"set_variable": {
"name": "d_pressed",
"value": 0
}
},
{
"key_code": "k",
"modifiers": ["left_control"]
}
],
"type": "basic"
}
]
},
{
"description": "(Vim 5/11) yy,ye,yb,y0,y^,y$,ygg,yG,y{,y}",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "y_pressed",
"type": "variable_unless",
"value": 1
}
],
"from": { "key_code": "y" },
"parameters": { "basic.to_delayed_action_delay_milliseconds": 500 },
"to": [
{
"set_variable": {
"name": "y_pressed",
"value": 1
}
}
],
"to_delayed_action": {
"to_if_invoked": [
{
"set_variable": {
"name": "y_pressed",
"value": 0
}
}
]
},
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "y_pressed",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "y" },
"to": [
{
"set_variable": {
"name": "y_pressed",
"value": 0
}
},
{
"key_code": "left_arrow",
"modifiers": ["left_command"]
},
{
"key_code": "left_arrow",
"modifiers": ["left_command"]
},
{
"key_code": "right_arrow",
"modifiers": ["left_command", "left_shift"]
},
{
"key_code": "c",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "y_pressed",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "e" },
"to": [
{
"set_variable": {
"name": "y_pressed",
"value": 0
}
},
{
"key_code": "right_arrow",
"modifiers": ["left_shift", "left_alt"]
},
{
"key_code": "c",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "y_pressed",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "b" },
"to": [
{
"set_variable": {
"name": "y_pressed",
"value": 0
}
},
{
"key_code": "left_arrow",
"modifiers": ["left_shift", "left_alt"]
},
{
"key_code": "c",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "y_pressed",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "0" },
"to": [
{
"set_variable": {
"name": "y_pressed",
"value": 0
}
},
{
"key_code": "left_arrow",
"modifiers": ["left_command", "left_shift"]
},
{
"key_code": "left_arrow",
"modifiers": ["left_command", "left_shift"]
},
{
"key_code": "c",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "y_pressed",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "6",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"set_variable": {
"name": "y_pressed",
"value": 0
}
},
{
"key_code": "left_arrow",
"modifiers": ["left_command", "left_shift"]
},
{
"key_code": "c",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "y_pressed",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "4",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"set_variable": {
"name": "y_pressed",
"value": 0
}
},
{
"key_code": "right_arrow",
"modifiers": ["left_command", "left_shift"]
},
{
"key_code": "c",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "y_pressed",
"type": "variable_if",
"value": 1
},
{
"name": "yg_pressed",
"type": "variable_unless",
"value": 1
}
],
"from": { "key_code": "g" },
"parameters": { "basic.to_delayed_action_delay_milliseconds": 500 },
"to": [
{
"set_variable": {
"name": "y_pressed",
"value": 0
}
},
{
"set_variable": {
"name": "yg_pressed",
"value": 1
}
}
],
"to_delayed_action": {
"to_if_invoked": [
{
"set_variable": {
"name": "yg_pressed",
"value": 0
}
}
]
},
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "yg_pressed",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "g" },
"to": [
{
"set_variable": {
"name": "yg_pressed",
"value": 0
}
},
{
"key_code": "up_arrow",
"modifiers": ["left_shift", "left_command"]
},
{
"key_code": "c",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "y_pressed",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "g",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"set_variable": {
"name": "y_pressed",
"value": 0
}
},
{
"key_code": "down_arrow",
"modifiers": ["left_shift", "left_command"]
},
{
"key_code": "c",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "y_pressed",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "open_bracket",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"set_variable": {
"name": "y_pressed",
"value": 0
}
},
{
"key_code": "a",
"modifiers": ["left_control", "left_shift"]
},
{
"key_code": "c",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "y_pressed",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "close_bracket",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"set_variable": {
"name": "y_pressed",
"value": 0
}
},
{
"key_code": "e",
"modifiers": ["left_control", "left_shift"]
},
{
"key_code": "c",
"modifiers": ["left_command"]
}
],
"type": "basic"
}
]
},
{
"description": "(Vim 6/11) cc,ce,cb,c0,c^,c$,cgg,cG,c{,c}",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "c_pressed",
"type": "variable_unless",
"value": 1
}
],
"from": { "key_code": "c" },
"parameters": { "basic.to_delayed_action_delay_milliseconds": 500 },
"to": [
{
"set_variable": {
"name": "c_pressed",
"value": 1
}
}
],
"to_delayed_action": {
"to_if_invoked": [
{
"set_variable": {
"name": "c_pressed",
"value": 0
}
}
]
},
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "c_pressed",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "c" },
"to": [
{
"set_variable": {
"name": "c_pressed",
"value": 0
}
},
{
"key_code": "left_arrow",
"modifiers": ["left_command"]
},
{
"key_code": "left_arrow",
"modifiers": ["left_command"]
},
{
"key_code": "right_arrow",
"modifiers": ["left_command", "left_shift"]
},
{
"key_code": "x",
"modifiers": ["left_command"]
},
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "c_pressed",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "e" },
"to": [
{
"set_variable": {
"name": "c_pressed",
"value": 0
}
},
{
"key_code": "right_arrow",
"modifiers": ["left_shift", "left_alt"]
},
{
"key_code": "x",
"modifiers": ["left_command"]
},
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "c_pressed",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "b" },
"to": [
{
"set_variable": {
"name": "c_pressed",
"value": 0
}
},
{
"key_code": "left_arrow",
"modifiers": ["left_shift", "left_alt"]
},
{
"key_code": "x",
"modifiers": ["left_command"]
},
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "c_pressed",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "0" },
"to": [
{
"set_variable": {
"name": "c_pressed",
"value": 0
}
},
{
"key_code": "left_arrow",
"modifiers": ["left_command", "left_shift"]
},
{
"key_code": "left_arrow",
"modifiers": ["left_command", "left_shift"]
},
{
"key_code": "x",
"modifiers": ["left_command"]
},
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "c_pressed",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "6",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"set_variable": {
"name": "c_pressed",
"value": 0
}
},
{
"key_code": "left_arrow",
"modifiers": ["left_command", "left_shift"]
},
{
"key_code": "x",
"modifiers": ["left_command"]
},
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "c_pressed",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "4",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"set_variable": {
"name": "c_pressed",
"value": 0
}
},
{
"key_code": "right_arrow",
"modifiers": ["left_command", "left_shift"]
},
{
"key_code": "x",
"modifiers": ["left_command"]
},
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "c_pressed",
"type": "variable_if",
"value": 1
},
{
"name": "cg_pressed",
"type": "variable_unless",
"value": 1
}
],
"from": { "key_code": "g" },
"parameters": { "basic.to_delayed_action_delay_milliseconds": 500 },
"to": [
{
"set_variable": {
"name": "c_pressed",
"value": 0
}
},
{
"set_variable": {
"name": "cg_pressed",
"value": 1
}
}
],
"to_delayed_action": {
"to_if_invoked": [
{
"set_variable": {
"name": "cg_pressed",
"value": 0
}
}
]
},
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "cg_pressed",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "g" },
"to": [
{
"set_variable": {
"name": "cg_pressed",
"value": 0
}
},
{
"key_code": "up_arrow",
"modifiers": ["left_shift", "left_command"]
},
{
"key_code": "x",
"modifiers": ["left_command"]
},
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "c_pressed",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "g",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"set_variable": {
"name": "c_pressed",
"value": 0
}
},
{
"key_code": "down_arrow",
"modifiers": ["left_shift", "left_command"]
},
{
"key_code": "x",
"modifiers": ["left_command"]
},
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "c_pressed",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "open_bracket",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"set_variable": {
"name": "c_pressed",
"value": 0
}
},
{
"key_code": "a",
"modifiers": ["left_control", "left_shift"]
},
{
"key_code": "x",
"modifiers": ["left_command"]
},
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "c_pressed",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "close_bracket",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"set_variable": {
"name": "c_pressed",
"value": 0
}
},
{
"key_code": "e",
"modifiers": ["left_control", "left_shift"]
},
{
"key_code": "x",
"modifiers": ["left_command"]
},
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": ""
}
}
],
"type": "basic"
}
]
},
{
"description": "(Vim 7/11) x,X,p,P,u,control+r",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "x" },
"to": [{ "key_code": "delete_forward" }],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "x",
"modifiers": { "mandatory": ["shift"] }
},
"to": [{ "key_code": "delete_or_backspace" }],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "p" },
"to": [
{
"key_code": "v",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "p",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"key_code": "v",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "u" },
"to": [
{
"key_code": "z",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "u",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"key_code": "z",
"modifiers": ["left_command", "left_shift"]
}
],
"type": "basic"
}
]
},
{
"description": "(Vim 8/11) h,j,k,l (+ control/option/command/shift),e,b,0,^,$,gg,G,{,}",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "h",
"modifiers": { "optional": ["control", "option", "command", "shift"] }
},
"to": [{ "key_code": "left_arrow" }],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "j",
"modifiers": { "optional": ["control", "option", "command", "shift"] }
},
"to": [{ "key_code": "down_arrow" }],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "k",
"modifiers": { "optional": ["control", "option", "command", "shift"] }
},
"to": [{ "key_code": "up_arrow" }],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "l",
"modifiers": { "optional": ["control", "option", "command", "shift"] }
},
"to": [{ "key_code": "right_arrow" }],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "e" },
"to": [
{
"key_code": "right_arrow",
"modifiers": ["left_alt"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "b" },
"to": [
{
"key_code": "left_arrow",
"modifiers": ["left_alt"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "0" },
"to": [
{
"key_code": "left_arrow",
"modifiers": ["left_command"]
},
{
"key_code": "left_arrow",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "6",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"key_code": "left_arrow",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "4",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"key_code": "right_arrow",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "g_pressed",
"type": "variable_unless",
"value": 1
}
],
"from": { "key_code": "g" },
"parameters": { "basic.to_delayed_action_delay_milliseconds": 500 },
"to": [
{
"set_variable": {
"name": "g_pressed",
"value": 1
}
}
],
"to_delayed_action": {
"to_if_invoked": [
{
"set_variable": {
"name": "g_pressed",
"value": 0
}
}
]
},
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
},
{
"name": "g_pressed",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "g" },
"to": [
{
"key_code": "up_arrow",
"modifiers": ["left_command"]
},
{
"set_variable": {
"name": "g_pressed",
"value": 0
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "g",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"key_code": "down_arrow",
"modifiers": ["left_command"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "open_bracket",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"key_code": "a",
"modifiers": ["left_control"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "close_bracket",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"key_code": "e",
"modifiers": ["left_control"]
}
],
"type": "basic"
}
]
},
{
"description": "(Vim 9/11) i,I,a,A,o,O",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "i" },
"to": [
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "i",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"key_code": "left_arrow",
"modifiers": ["left_command"]
},
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "a" },
"to": [
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "a",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"key_code": "right_arrow",
"modifiers": ["left_command"]
},
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "o" },
"to": [
{
"key_code": "right_arrow",
"modifiers": ["left_command"]
},
{ "key_code": "return_or_enter" },
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": ""
}
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "o",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"key_code": "left_arrow",
"modifiers": ["left_command"]
},
{ "key_code": "return_or_enter" },
{ "key_code": "up_arrow" },
{
"set_variable": {
"name": "vim_mode",
"value": 0
}
},
{
"set_notification_message": {
"id": "vim_mode_plus_enabled",
"text": ""
}
}
],
"type": "basic"
}
]
},
{
"description": "(Vim 11/11) disable unused keys",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "left_shift",
"modifiers": { "optional": ["any"] }
},
"to": [{ "key_code": "left_shift" }],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "right_shift",
"modifiers": { "optional": ["any"] }
},
"to": [{ "key_code": "right_shift" }],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "left_control",
"modifiers": { "optional": ["any"] }
},
"to": [{ "key_code": "left_control" }],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "right_control",
"modifiers": { "optional": ["any"] }
},
"to": [{ "key_code": "right_control" }],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "left_option",
"modifiers": { "optional": ["any"] }
},
"to": [{ "key_code": "left_option" }],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "right_option",
"modifiers": { "optional": ["any"] }
},
"to": [{ "key_code": "right_option" }],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "left_command",
"modifiers": { "optional": ["any"] }
},
"to": [{ "key_code": "left_command" }],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "right_command",
"modifiers": { "optional": ["any"] }
},
"to": [{ "key_code": "right_command" }],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"com.googlecode.iterm2",
"com.github.atom",
"com.jetbrains.pycharm",
"com.visualstudio.code.oss"
],
"type": "frontmost_application_unless"
},
{
"name": "vim_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"any": "key_code",
"modifiers": { "optional": ["any"] }
},
"to": [{ "key_code": "vk_none" }],
"type": "basic"
}
]
},
{
"description": "Ctrl+Caps Lock for Caps Lock",
"manipulators": [
{
"from": {
"key_code": "caps_lock",
"modifiers": {
"mandatory": ["control"],
"optional": ["caps_lock"]
}
},
"to": [{ "key_code": "caps_lock" }],
"type": "basic"
}
]
},
{
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
],
"type": "frontmost_application_unless"
}
],
"description": "Caps Lock to Escape if pressed and Command+Control+Option+Shift if held down",
"from": {
"key_code": "caps_lock",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_shift",
"modifiers": ["left_command", "left_control", "left_option"]
}
],
"to_if_alone": { "key_code": "escape" },
"type": "basic"
}
]
},
{
"description": "Right Command Mapping V1",
"manipulators": [
{
"conditions": [
{
"name": "rcommand pressed",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "right_command",
"modifiers": { "optional": ["any"] }
},
"to": [{ "key_code": "right_command" }],
"type": "basic"
},
{
"from": {
"key_code": "right_command",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"set_variable": {
"name": "rcommand pressed",
"value": 1
}
},
{ "key_code": "left_command" }
],
"to_delayed_action": {
"to_if_canceled": [
{
"set_variable": {
"name": "rcommand pressed",
"value": 0
}
}
],
"to_if_invoked": [
{
"set_variable": {
"name": "rcommand pressed",
"value": 0
}
}
]
},
"type": "basic"
}
]
},
{
"description": "Fn+F for Fullscreen in specific apps",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"org.mozilla.firefox",
"com.microsoft.VSCode",
"com.hnc.Discord",
"com.apple.Safari.WebApp.53D2BC4E-838B-412B-B5F1-126E5B67F0A1",
"com.apple.Safari.WebApp.0AA8291A-FB38-44E7-AFA4-D3DD21DA6493",
"com.parallels.winapp.8c4731f1a5288444bb2510ff8d967cc3.48135fd28f5f4250952291f13c9c6dfe.fs",
"com.parallels.desktop.console",
"com.sublimetext.4",
"com.googlecode.iterm2",
"com.jetbrains.intellij"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "f",
"modifiers": { "mandatory": ["fn"] }
},
"to_after_key_up": [
{
"key_code": "f",
"modifiers": ["left_command", "left_control"]
}
],
"type": "basic"
}
]
},
{
"description": "Command+G to open Google in Firefox",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"org.mozilla.firefox"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "g",
"modifiers": { "mandatory": ["command"] }
},
"to": [
{
"key_code": "left_arrow",
"modifiers": ["fn", "option"]
}
],
"type": "basic"
}
]
},
{
"description": "Command+Alt+G to open Homepage",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"org.mozilla.firefox"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "g",
"modifiers": { "mandatory": ["command", "option"] }
},
"to": [{ "shell_command": "osascript /Users/kevinmuka/.config/karabiner/assets/complex_modifications/scripts/open_homepage_firefox.scpt" }],
"type": "basic"
}
]
},
{
"description": "Fn+3 to CTRL+OPT+SHIFT+3 (English)",
"manipulators": [
{
"from": {
"key_code": "3",
"modifiers": { "mandatory": ["fn"] }
},
"to_after_key_up": [
{
"key_code": "3",
"modifiers": ["left_shift", "left_option", "left_control"]
}
],
"type": "basic"
}
]
},
{
"description": "Fn+2 to CTRL+OPT+SHIFT+2 (Japanese)",
"manipulators": [
{
"from": {
"key_code": "2",
"modifiers": { "mandatory": ["fn"] }
},
"to_after_key_up": [
{
"key_code": "2",
"modifiers": ["left_shift", "left_option", "left_control"]
}
],
"type": "basic"
}
]
},
{
"description": "Fn+1 to CTRL+OPT+SHIFT+1 (Italian)",
"manipulators": [
{
"from": {
"key_code": "1",
"modifiers": { "mandatory": ["fn"] }
},
"to_after_key_up": [
{
"key_code": "1",
"modifiers": ["left_shift", "left_option", "left_control"]
}
],
"type": "basic"
}
]
},
{
"description": "Backslash to Shift + Forward Slash (quick find)",
"enabled": false,
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"org.mozilla.firefox"
],
"type": "frontmost_application_if"
}
],
"from": { "key_code": "non_us_backslash" },
"to_after_key_up": [
{
"key_code": "7",
"modifiers": ["shift"]
}
],
"type": "basic"
}
]
},
{
"description": "Fn+F8 to open Spotify",
"enabled": false,
"manipulators": [
{
"from": {
"key_code": "f8",
"modifiers": { "mandatory": ["fn"] }
},
"to_after_key_up": [{ "shell_command": "open -a Spotify" }],
"type": "basic"
}
]
},
{
"description": "Fn+F6 to Display Sleep",
"manipulators": [
{
"from": {
"key_code": "f6",
"modifiers": { "mandatory": ["fn"] }
},
"to_after_key_up": [{ "shell_command": "sleep 0.2 && pmset displaysleepnow" }],
"type": "basic"
}
]
},
{
"description": "F6 for Focus mode, Sleep and Shut Down",
"manipulators": [
{
"conditions": [
{
"name": "sleep",
"type": "variable_if",
"value": 1
}
],
"from": { "key_code": "f6" },
"to_after_key_up": [
{
"consumer_key_code": "eject",
"modifiers": ["left_gui", "left_alt"],
"repeat": false
}
],
"type": "basic"
},
{
"from": { "key_code": "f6" },
"parameters": { "basic.to_delayed_action_delay_milliseconds": 200 },
"to": [
{
"set_variable": {
"name": "sleep",
"value": 1
}
}
],
"to_delayed_action": {
"to_if_canceled": [
{
"set_variable": {
"name": "sleep",
"value": 0
}
}
],
"to_if_invoked": [
{
"set_variable": {
"name": "sleep",
"value": 0
}
},
{ "key_code": "f13" }
]
},
"to_if_held_down": [
{ "key_code": "f13" },
{
"halt": true,
"key_code": "power",
"modifiers": ["control"]
}
],
"type": "basic"
}
]
},
{
"description": "Yomu, Highlight Red",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"net.cecinestpasparis.yomu"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "r",
"modifiers": { "mandatory": ["option", "shift"] }
},
"to": [{ "shell_command": "/Users/kevinmuka/.config/karabiner/assets/complex_modifications/scripts/yomu/yomu_red.sh" }],
"type": "basic"
}
]
},
{
"description": "Yomu, Highlight",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"net.cecinestpasparis.yomu"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "h",
"modifiers": { "mandatory": ["option", "shift"] }
},
"to": [{ "shell_command": "/Users/kevinmuka/.config/karabiner/assets/complex_modifications/scripts/yomu/yomu_highlight.sh" }],
"type": "basic"
}
]
},
{
"description": "Yomu, Underline",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"net.cecinestpasparis.yomu"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "u",
"modifiers": { "mandatory": ["option", "shift"] }
},
"to": [{ "shell_command": "/Users/kevinmuka/.config/karabiner/assets/complex_modifications/scripts/yomu/yomu_underline.sh" }],
"type": "basic"
}
]
},
{
"description": "Yomu, Highlight Orange",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"net.cecinestpasparis.yomu"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "o",
"modifiers": { "mandatory": ["option", "shift"] }
},
"to": [{ "shell_command": "/Users/kevinmuka/.config/karabiner/assets/complex_modifications/scripts/yomu/yomu_orange.sh" }],
"type": "basic"
}
]
},
{
"description": "Open Yomu Chapters",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"net.cecinestpasparis.yomu"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "c",
"modifiers": { "mandatory": ["command", "shift"] }
},
"to": [{ "shell_command": "/Users/kevinmuka/.config/karabiner/assets/complex_modifications/scripts/yomu/yomu_chapters.sh" }],
"type": "basic"
}
]
},
{
"description": "Open Yomu Annotations",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"net.cecinestpasparis.yomu"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "a",
"modifiers": { "mandatory": ["command", "shift"] }
},
"to": [{ "shell_command": "/Users/kevinmuka/.config/karabiner/assets/complex_modifications/scripts/yomu/yomu_annotations.sh" }],
"type": "basic"
}
]
},
{
"description": "Fn+F1 and Fn+F2 for Keyboard Brightness",
"enabled": false,
"manipulators": [
{
"from": {
"key_code": "f1",
"modifiers": { "mandatory": ["fn"] }
},
"to": [{ "key_code": "illumination_decrement" }],
"type": "basic"
},
{
"from": {
"key_code": "f2",
"modifiers": { "mandatory": ["fn"] }
},
"to": [{ "key_code": "illumination_increment" }],
"type": "basic"
}
]
},
{
"description": "F4 to Cmd+Space",
"manipulators": [
{
"from": { "key_code": "f4" },
"to": [
{
"key_code": "spacebar",
"modifiers": ["left_command"]
}
],
"type": "basic"
}
]
},
{
"description": "Disable all keys when keyboard is locked",
"manipulators": [
{
"conditions": [
{
"name": "keyboard_locked",
"type": "variable_if",
"value": 1
}
],
"from": { "any": "key_code" },
"to": [{ "key_code": "vk_none" }],
"type": "basic"
}
]
},
{
"description": "Remap Cmd+Shift+Ctrl+Opt+Fn+L to F19",
"manipulators": [
{
"from": {
"key_code": "l",
"modifiers": { "mandatory": ["command", "shift", "control", "option", "fn"] }
},
"to": [{ "key_code": "f19" }],
"type": "basic"
}
]
}
]
},
"fn_function_keys": [
{
"from": { "key_code": "f4" },
"to": [{ "key_code": "vk_none" }]
},
{
"from": { "key_code": "f6" },
"to": [{ "key_code": "f13" }]
}
],
"name": "My Profile",
"selected": true,
"virtual_hid_keyboard": { "keyboard_type_v2": "ansi" }
},
{
"complex_modifications": {
"rules": [
{
"description": "Disable all keys when keyboard is locked",
"manipulators": [
{
"conditions": [
{
"name": "keyboard_locked",
"type": "variable_if",
"value": 1
}
],
"from": { "any": "key_code" },
"to": [{ "key_code": "vk_none" }],
"type": "basic"
}
]
},
{
"description": "Lock keyboard with Cmd+Shift+Ctrl+Opt+Fn+L (if not already locked)",
"manipulators": [
{
"conditions": [
{
"name": "keyboard_locked",
"type": "variable_if",
"value": 0
}
],
"from": {
"key_code": "l",
"modifiers": { "mandatory": ["command", "shift", "control", "option", "fn"] }
},
"to": [
{
"set_variable": {
"name": "keyboard_locked",
"value": 1
}
}
],
"type": "basic"
}
]
},
{
"description": "Unlock keyboard with Cmd+Shift+Ctrl+Opt+Fn+L (if locked)",
"manipulators": [
{
"conditions": [
{
"name": "keyboard_locked",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "l",
"modifiers": { "mandatory": ["command", "shift", "control", "option", "fn"] }
},
"to": [
{
"set_variable": {
"name": "keyboard_locked",
"value": 0
}
}
],
"type": "basic"
}
]
},
{
"description": "Caps Lock to Escape if pressed and Command+Control+Option+Shift if held down",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"com.utmapp.UTM"
],
"type": "frontmost_application_unless"
}
],
"from": {
"key_code": "caps_lock",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_shift",
"modifiers": ["left_command", "left_control", "left_option"]
}
],
"to_if_alone": { "key_code": "escape" },
"type": "basic"
}
]
},
{
"description": "Esc to Caps_Lock",
"manipulators": [
{
"from": {
"key_code": "escape",
"modifiers": { "optional": ["any"] }
},
"to": { "key_code": "caps_lock" },
"type": "basic"
}
]
}
]
},
"name": "Locked",
"virtual_hid_keyboard": { "keyboard_type_v2": "iso" }
}
]
}Explore the source / dotfiles
Inside dotfiles.
Shell, terminal, backup, and the configuration that joins them. Browse the current public files here, or visit the dotfiles repository on GitHub.