174 lines
3.6 KiB
Nix
174 lines
3.6 KiB
Nix
{
|
|
programs.nvf.settings.vim = {
|
|
globals.mapleader = " ";
|
|
binds = {
|
|
whichKey = {
|
|
enable = true;
|
|
# TODO: registers
|
|
register = {};
|
|
};
|
|
};
|
|
keymaps = [
|
|
# General Mappings
|
|
{
|
|
key = "s";
|
|
mode = "n";
|
|
silent = true;
|
|
action = "<cmd>lua require('flash').jump()<cr>";
|
|
desc = "Flash";
|
|
}
|
|
{
|
|
key = "K";
|
|
mode = "n";
|
|
silent = true;
|
|
action = "<cmd>lua vim.lsp.buf.hover()<cr>";
|
|
desc = "LSP Hover";
|
|
}
|
|
{
|
|
key = "<C-tab>";
|
|
mode = "n";
|
|
silent = true;
|
|
action = "<cmd>bnext<cr>";
|
|
desc = "Next Buffer";
|
|
}
|
|
|
|
# Kitty navigator
|
|
{
|
|
key = "<C-h>";
|
|
mode = "n";
|
|
silent = true;
|
|
action = "<cmd>KittyNavigateLeft<cr>";
|
|
}
|
|
{
|
|
key = "<C-j>";
|
|
mode = "n";
|
|
silent = true;
|
|
action = "<cmd>KittyNavigateDown<cr>";
|
|
}
|
|
{
|
|
key = "<C-k>";
|
|
mode = "n";
|
|
silent = true;
|
|
action = "<cmd>KittyNavigateUp<cr>";
|
|
}
|
|
{
|
|
key = "<C-l>";
|
|
mode = "n";
|
|
silent = true;
|
|
action = "<cmd>KittyNavigateRight<cr>";
|
|
}
|
|
|
|
# Disable Arrow Keys in Normal Mode
|
|
{
|
|
key = "<Up>";
|
|
mode = "n";
|
|
silent = true;
|
|
action = "<Nop>";
|
|
desc = "Disable Up Arrow";
|
|
}
|
|
{
|
|
key = "<Down>";
|
|
mode = "n";
|
|
silent = true;
|
|
action = "<Nop>";
|
|
desc = "Disable Down Arrow";
|
|
}
|
|
{
|
|
key = "<Left>";
|
|
mode = "n";
|
|
silent = true;
|
|
action = "<Nop>";
|
|
desc = "Disable Left Arrow";
|
|
}
|
|
{
|
|
key = "<Right>";
|
|
mode = "n";
|
|
silent = true;
|
|
action = "<Nop>";
|
|
desc = "Disable Right Arrow";
|
|
}
|
|
|
|
# UI
|
|
{
|
|
key = "<leader>uw";
|
|
mode = "n";
|
|
silent = true;
|
|
action = "<cmd>set wrap!<cr>";
|
|
desc = "Toggle word wrapping";
|
|
}
|
|
{
|
|
key = "<leader>ul";
|
|
mode = "n";
|
|
silent = true;
|
|
action = "<cmd>set linebreak!<cr>";
|
|
desc = "Toggle linebreak";
|
|
}
|
|
{
|
|
key = "<leader>us";
|
|
mode = "n";
|
|
silent = true;
|
|
action = "<cmd>set spell!<cr>";
|
|
desc = "Toggle spellLazyGitcheck";
|
|
}
|
|
{
|
|
key = "<leader>uc";
|
|
mode = "n";
|
|
silent = true;
|
|
action = "<cmd>set cursorline!<cr>";
|
|
desc = "Toggle cursorline";
|
|
}
|
|
{
|
|
key = "<leader>un";
|
|
mode = "n";
|
|
silent = true;
|
|
action = "<cmd>set number!<cr>";
|
|
desc = "Toggle line numbers";
|
|
}
|
|
{
|
|
key = "<leader>ur";
|
|
mode = "n";
|
|
silent = true;
|
|
action = "<cmd>set relativenumber!<cr>";
|
|
desc = "Toggle relative line numbers";
|
|
}
|
|
{
|
|
key = "<leader>ut";
|
|
mode = "n";
|
|
silent = true;
|
|
action = "<cmd>set showtabline=2<cr>";
|
|
desc = "Show tabline";
|
|
}
|
|
{
|
|
key = "<leader>uT";
|
|
mode = "n";
|
|
silent = true;
|
|
action = "<cmd>set showtabline=0<cr>";
|
|
desc = "Hide tabline";
|
|
}
|
|
|
|
# Windows
|
|
{
|
|
key = "<leader>ws";
|
|
mode = "n";
|
|
silent = true;
|
|
action = "<cmd>split<cr>";
|
|
desc = "Split";
|
|
}
|
|
{
|
|
key = "<leader>wv";
|
|
mode = "n";
|
|
silent = true;
|
|
action = "<cmd>vsplit<cr>";
|
|
desc = "VSplit";
|
|
}
|
|
{
|
|
key = "<leader>wd";
|
|
mode = "n";
|
|
silent = true;
|
|
action = "<cmd>close<cr>";
|
|
desc = "Close";
|
|
}
|
|
];
|
|
};
|
|
}
|