flake/nixos/nvim/keymaps.nix

143 lines
2.8 KiB
Nix
Raw Permalink Normal View History

2025-02-02 18:53:01 -06:00
{
programs.nixvim = {
2025-02-04 08:26:49 -06:00
globals = {
mapleader = " ";
maplocalleader = " ";
};
2025-02-02 18:53:01 -06:00
keymaps = [
{
2025-02-06 23:23:02 -06:00
mode = [
"n"
"s"
"x"
"v"
];
2025-02-02 18:53:01 -06:00
key = "<Space>";
action = "<Nop>";
options.silent = true;
}
2025-02-04 08:26:49 -06:00
{
mode = "n";
key = "<A-Left>";
action = "<C-w>h";
options = {
desc = "Move Left";
silent = true;
};
}
{
mode = "n";
key = "<A-Down>";
action = "<C-w>j";
options = {
desc = "Move Down";
silent = true;
};
}
{
mode = "n";
key = "<A-Up>";
action = "<C-w>k";
options = {
desc = "Move Up";
silent = true;
};
}
{
mode = "n";
key = "<A-Right>";
action = "<C-w>l";
options = {
desc = "Move Right";
silent = true;
};
}
2025-02-02 18:53:01 -06:00
{
mode = "n";
key = "<Tab>";
2025-02-06 23:23:02 -06:00
action = "<CMD>bnext<CR>";
2025-02-02 18:53:01 -06:00
options = {
desc = "Next Buffer";
silent = true;
};
}
{
mode = "n";
key = "<S-Tab>";
2025-02-06 23:23:02 -06:00
action = "<CMD>bprevious<CR>";
2025-02-02 18:53:01 -06:00
options = {
desc = "Previous Buffer";
silent = true;
};
}
2025-02-06 23:23:02 -06:00
{
mode = "n";
key = "<leader>c";
action = "<CMD>%y+<CR>";
options = {
desc = "Copy Buffer to Clipboard";
silent = true;
};
}
{
mode = [
"v"
"x"
"s"
];
key = "<leader>c";
action = "<CMD>\"+y<CR>";
options = {
desc = "Copy Selection to Clipboard";
silent = true;
};
}
2025-02-02 18:53:01 -06:00
{
mode = "n";
key = "<leader>w";
2025-02-06 23:23:02 -06:00
action = "<CMD>w<CR>";
2025-02-02 18:53:01 -06:00
options = {
desc = "Save Buffer to File";
2025-02-04 08:26:49 -06:00
silent = false;
2025-02-02 18:53:01 -06:00
};
}
{
mode = "n";
key = "<leader>q";
2025-02-06 23:23:02 -06:00
action = "<CMD>bd<CR>";
2025-02-04 08:26:49 -06:00
options = {
desc = "Close Buffer";
silent = false;
};
}
{
mode = "n";
key = "<leader>Q";
2025-02-06 23:23:02 -06:00
action = "<CMD>bd!<CR>";
2025-02-04 08:26:49 -06:00
options = {
desc = "Force Close Buffer";
silent = false;
};
}
{
mode = "n";
key = "<leader>`";
2025-02-06 23:23:02 -06:00
action = "<CMD>qa<CR>";
2025-02-02 18:53:01 -06:00
options = {
desc = "Quit All";
silent = false;
};
}
2025-02-04 08:26:49 -06:00
{
mode = "t";
key = "<C-Esc>";
action = "<C-\\><C-n>";
options = {
desc = "Exit Terminal Mode"; # why does Neovim not have this by default??? wtf???
silent = true;
};
}
2025-02-02 18:53:01 -06:00
];
};
}