mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-23 09:18:38 +02:00
plugins/tmux-navigator: add keymaps option
Enable users to more easily create keymaps for tmux-navigator's directional motions.
This commit is contained in:
parent
4634c3781b
commit
94a452074f
2 changed files with 96 additions and 29 deletions
|
@ -121,38 +121,72 @@ helpers.vim-plugin.mkVimPlugin config {
|
|||
'';
|
||||
|
||||
no_mappings = helpers.defaultNullOpts.mkBool false ''
|
||||
By default `<C-h>`, `<C-j>`, `<C-k>`, `<C-l>`, & `<C-\\>` are mapped to navigating left, down, up, right, & previous, respectively.
|
||||
By default `<C-h>`, `<C-j>`, `<C-k>`, `<C-l>`, & `<C-\\>`
|
||||
are mapped to navigating left, down, up, right, & previous, respectively.
|
||||
|
||||
This option disables those default mappings being created.
|
||||
|
||||
You can use the plugin's five commands to define your own custom mappings:
|
||||
|
||||
```nix
|
||||
keymaps = [
|
||||
{
|
||||
key = "<C-w>h";
|
||||
action = "<cmd>TmuxNavigateLeft<cr>";
|
||||
}
|
||||
{
|
||||
key = "<C-w>j";
|
||||
action = "<cmd>TmuxNavigateDown<cr>";
|
||||
}
|
||||
{
|
||||
key = "<C-w>k";
|
||||
action = "<cmd>TmuxNavigateUp<cr>";
|
||||
}
|
||||
{
|
||||
key = "<C-w>l";
|
||||
action = "<cmd>TmuxNavigateRight<cr>";
|
||||
}
|
||||
{
|
||||
key = "<C-w>\\";
|
||||
action = "<cmd>TmuxNavigatePrevious<cr>";
|
||||
}
|
||||
];
|
||||
```
|
||||
|
||||
You will also need to update your tmux bindings to match.
|
||||
You can use `plugins.tmux-navigator.keymaps` to define your own custom mappings.
|
||||
You will also need to **update your tmux bindings** separately,
|
||||
if you want them to match.
|
||||
'';
|
||||
};
|
||||
|
||||
extraOptions = {
|
||||
keymaps = mkOption {
|
||||
description = ''
|
||||
Keymaps for the `:TmuxNavigate*` commands.
|
||||
|
||||
Note: by default, tmux-navigator adds its own keymaps.
|
||||
If you wish to disable that behaviour, use `settings.no_mappings`.
|
||||
|
||||
You will also need to **update your tmux bindings** separately,
|
||||
if you want them to match.
|
||||
'';
|
||||
example = [
|
||||
{
|
||||
key = "<C-w>h";
|
||||
action = "left";
|
||||
}
|
||||
{
|
||||
key = "<C-w>j";
|
||||
action = "down";
|
||||
}
|
||||
{
|
||||
key = "<C-w>k";
|
||||
action = "up";
|
||||
}
|
||||
{
|
||||
key = "<C-w>l";
|
||||
action = "right";
|
||||
}
|
||||
{
|
||||
key = "<C-w>\\";
|
||||
action = "previous";
|
||||
}
|
||||
];
|
||||
default = [ ];
|
||||
type = types.listOf (
|
||||
helpers.keymaps.mkMapOptionSubmodule {
|
||||
action = {
|
||||
description = "The direction in which to navigate.";
|
||||
type = types.enum [
|
||||
"left"
|
||||
"down"
|
||||
"up"
|
||||
"right"
|
||||
"previous"
|
||||
];
|
||||
example = "left";
|
||||
};
|
||||
}
|
||||
);
|
||||
};
|
||||
};
|
||||
|
||||
extraConfig = cfg: {
|
||||
keymaps = map (
|
||||
mapping: mapping // { action = "<cmd>TmuxNavigate${helpers.upperFirstChar mapping.action}<cr>"; }
|
||||
) cfg.keymaps;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
plugins.tmux-navigator = {
|
||||
enable = true;
|
||||
|
||||
keymaps = [ ];
|
||||
|
||||
settings = {
|
||||
save_on_switch = 2;
|
||||
disable_when_zoomed = true;
|
||||
|
@ -18,4 +20,35 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
with-keymap = {
|
||||
plugins.tmux-navigator = {
|
||||
enable = true;
|
||||
|
||||
keymaps = [
|
||||
{
|
||||
key = "<C-w>h";
|
||||
action = "left";
|
||||
}
|
||||
{
|
||||
key = "<C-w>j";
|
||||
action = "down";
|
||||
}
|
||||
{
|
||||
key = "<C-w>k";
|
||||
action = "up";
|
||||
}
|
||||
{
|
||||
key = "<C-w>l";
|
||||
action = "right";
|
||||
}
|
||||
{
|
||||
key = "<C-w>\\";
|
||||
action = "previous";
|
||||
}
|
||||
];
|
||||
|
||||
settings.no_mappings = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue