Layers
Modes you enter with a key, groups that follow an app or condition, and which binding wins.
Every binding lives in a layer. The sidebar shows them as one tree, and each layer page edits how the layer turns on and the bindings inside it.
A mode on space: the key that enters it is ringed, and the keys it binds light up.
Modes and groups
A layer’s Mode is either Modal or While.
| Mode | On when | Off when |
|---|---|---|
| Modal | A key enters it | esc (if Esc exits is on), an Exit mode action, or entering another mode |
| While | Its Active when conditions hold, or always if it has none | Its conditions stop holding |
Add one from the sidebar’s +: Mode makes a modal layer, Group a While layer, and App a While layer for one app.
A modal layer lists the keys that enter it under Enter with, with the layer each one is bound in, such as “F in Chrome”. Use + there to record a new one, or bind Activate layer anywhere. Only one mode is active at a time; entering one leaves the last.
Groups nest. A group inside another adds its conditions to its parent’s, and the layer page shows what it picks up under Inherits. Modes don’t nest: a mode’s keys work wherever it was entered from, so where it can be entered lives in the bindings that enter it.
Which binding wins
Karabiner runs the first rule that matches. When two bindings share a trigger and both apply, Vimputer orders them:
- A pin, set with Fire first in Conflicts.
- The narrower scope. A binding that only applies in Chrome fires before one that applies everywhere.
- Sidebar order. Higher in the sidebar fires first.
Conflicts lists every key where this order decides the outcome, including bindings that can never fire. Fire first moves a binding above its rival in the same layer, or pins it over a rival in another; Change key rebinds it. Open Conflicts from the status bar.
Views
A layer page shows its bindings three ways: List (a column per moment), Keyboard (bindings on their keys; click one to edit it), and Hints (the grid the HUD uses).
From plugins and apps
The layer menu’s Add from plugin… fills a layer with a plugin’s commands, and Add from app… with commands from an app paired with Vimputer, such as a web app through the browser extension. Either way they arrive as ordinary bindings. See Plugins.