Selecting Keymaps

After you have created a keymap or installed a keymap plug-in, you need to configure Harlequin to use that keymap.

Replacing the Default Keymap

If you create a keymap with the Keys App, or if you install a plug-in that defines a complete keymap, then you should specify only that keymap when you start Harlequin. You can select a keymap using the --keymap-name CLI option (or in your config file, see below):

$ harlequin --keymap-name "my-complete-keymap"

Extending a Keymap

Alternatively, you can create a partial keymap that only specifies a subset of bindings. Harlequin can load multiple keymaps and merge them by unioning the bindings found in all the configured keymaps (this may cause some conflicts and undesired behavior). To extend a keymap, specify multiple keymaps by repeating the command-line option. For example, to extend the default vscode keymap with the more_arrows keymap example from the previous page:

$ harlequin --keymap-name "vscode" --keymap-name "more_arrows"

Using Config Files and Profiles

You can also use a Profile to define the keymaps loaded by Harlequin, instead of repeating the CLI option every time. See config file for more information. An example of a config file with two profiles, equivalent to the options above:

default_profile = "my-first-profile"

[profiles.my-first-profile]
keymap_name = ["my-complete-keymap"]

[profiles.my-second-profile]
keymap_name = ["vscode", "more_arrows"]