Skip to Content
IntegrationsCustom Mappings

Karabiner-Elements

The integration between kindaVim and Karabiner-Elements allows you to remap keys according to kV’s Mode, on top of all the conditions already provided by KE out of the box.

Activate

  1. activate the integration in kV’s Settings, Mappings Pane:
  1. the following variables will then be available in Karabiner-Elements:
  • kVnoremap
  • kVnnoremap
  • kVxnoremap
  • kVonoremap

The variables relate to kV’s Mode and map to Vim’s owm map table.

Examples

remap Y to y$ in kV Normal Mode:

{ "description": "kV Normal Mode: map Y to y$", "manipulators": [ { "conditions": [ { "name": "kVnnoremap", "type": "variable_if", "value": true } ], "from": { "key_code": "y", "modifiers": { "mandatory": ["shift"] } }, "to": [ { "key_code": "y" }, { "key_code": "4", "modifiers": "shift" } ], "type": "basic" } ] }

remap q to open a new tab in Safari in kV Visual Mode:

{ "description": "kV Visual Mode: map q to open tab in Safari", "manipulators": [ { "conditions": [ { "name": "kVxnoremap", "type": "variable_if", "value": true }, { "bundle_identifiers": [ "^com\\.apple\\.Safari$" ], "type": "frontmost_application_if" } ], "from": { "key_code": "q" }, "to": [ { "key_code": "t", "modifiers": "command" } ], "type": "basic" } ] }

enter kV Normal Mode only on specific apps (whitelist):

{ "description": "kV: enter Normal Mode only on specific apps (whitelist)", "manipulators": [ { "conditions": [ { "bundle_identifiers": [ "^com\\.apple\\.Safari$", "^com\\.tinyspeck\\.slackmacgap$", "^com\\.otherapp\\.thatilove$" ], "type": "frontmost_application_if" }, { "name": "kVnoremap", "type": "variable_if", "value": false } ], "from": { "key_code": "escape" }, "to": [ { "key_code": "p", "modifiers": ["shift", "option", "control", "command"] } ], "type": "basic" } ] }