129 lines
2.6 KiB
Nix
129 lines
2.6 KiB
Nix
{
|
|
plugins.which-key = {
|
|
enable = true;
|
|
icons.mappings = false;
|
|
};
|
|
|
|
keymaps = [
|
|
# Open
|
|
{
|
|
mode = [ "n" ];
|
|
key = "<leader>od";
|
|
action = "<cmd>vsplit | lua vim.lsp.buf.definition()<cr>";
|
|
options.desc = "Go to definition in other window";
|
|
}
|
|
|
|
# Buffer
|
|
{
|
|
mode = [ "n" ];
|
|
key = "<leader>bn";
|
|
action = "<cmd>bn<cr>";
|
|
options.desc = "Move to next buffer";
|
|
}
|
|
{
|
|
mode = [ "n" ];
|
|
key = "<leader>bp";
|
|
action = "<cmd>bp<cr>";
|
|
options.desc = "Move to previous buffer";
|
|
}
|
|
{
|
|
mode = [ "n" ];
|
|
key = "<leader>bk";
|
|
action = "<cmd>bn<cr>";
|
|
options.desc = "Kill buffer and window";
|
|
}
|
|
|
|
# File
|
|
{
|
|
mode = [ "n" ];
|
|
key = "<leader>fn";
|
|
action = "<cmd>enew<cr>";
|
|
options.desc = "Create a new file";
|
|
}
|
|
{
|
|
mode = [ "n" ];
|
|
key = "<leader>fs";
|
|
action = "<cmd>w<cr>";
|
|
options.desc = "Save currently opened file";
|
|
}
|
|
|
|
# Quit
|
|
{
|
|
mode = [ "n" ];
|
|
key = "<leader>qq";
|
|
action = "<cmd>qa!<cr>";
|
|
options.desc = "Leave neovim";
|
|
}
|
|
|
|
# Window
|
|
{
|
|
mode = [ "n" ];
|
|
key = "<leader>w+";
|
|
action = ":vertical resize +4<cr>";
|
|
options.desc = "Increase window size";
|
|
}
|
|
{
|
|
mode = [ "n" ];
|
|
key = "<leader>w-";
|
|
action = ":vertical resize -4<cr>";
|
|
options.desc = "Decrease window size";
|
|
}
|
|
{
|
|
mode = [ "n" ];
|
|
key = "<leader>wx";
|
|
action = ":bd<cr>";
|
|
options.desc = "Kill active window and buffer";
|
|
}
|
|
{
|
|
mode = [ "n" ];
|
|
key = "<leader>wh";
|
|
action = "<C-W>h";
|
|
options.desc = "Move to window on left";
|
|
}
|
|
{
|
|
mode = [ "n" ];
|
|
key = "<leader>wj";
|
|
action = "<C-W>j";
|
|
options.desc = "Move to window on bottom";
|
|
}
|
|
{
|
|
mode = [ "n" ];
|
|
key = "<leader>wk";
|
|
action = "<C-W>k";
|
|
options.desc = "Move to window on top";
|
|
}
|
|
{
|
|
mode = [ "n" ];
|
|
key = "<leader>wl";
|
|
action = "<C-W>l";
|
|
options.desc = "Move to window on right";
|
|
}
|
|
{
|
|
mode = [ "n" ];
|
|
key = "<leader>ws";
|
|
action = "<cmd>sp<cr>";
|
|
options.desc = "Split windows horizontally";
|
|
}
|
|
{
|
|
mode = [ "n" ];
|
|
key = "<leader>wv";
|
|
action = "<cmd>vsp<cr>";
|
|
options.desc = "Split windows vertically";
|
|
}
|
|
{
|
|
mode = [ "n" ];
|
|
key = "<leader>wd";
|
|
action = "<cmd>close<cr>";
|
|
options.desc = "Delete window only";
|
|
}
|
|
{
|
|
mode = [
|
|
"n"
|
|
"x"
|
|
"o"
|
|
];
|
|
key = "<CR>";
|
|
action.__raw = /* lua */ ''function() require("flash").jump() end'';
|
|
}
|
|
];
|
|
}
|