nixvim: treesitter, oil and adjust keys
This commit is contained in:
parent
fbcb58a26b
commit
ea68950497
2 changed files with 110 additions and 23 deletions
2
.rgignore
Normal file
2
.rgignore
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
lib/words.txt
|
||||
flake.lock
|
||||
131
lib/nixvim.nix
131
lib/nixvim.nix
|
|
@ -5,17 +5,26 @@
|
|||
opts = {
|
||||
number = true;
|
||||
relativenumber = true;
|
||||
tabstop = 2;
|
||||
tabstop = 4;
|
||||
shiftwidth = 2;
|
||||
expandtab = true;
|
||||
smartindent = true;
|
||||
scrolloff = 4;
|
||||
|
||||
undofile = true;
|
||||
undodir.__raw = ''vim.fn.expand("$HOME/.local/share/nvim/undo")'';
|
||||
|
||||
list = true;
|
||||
listchars = builtins.concatStringsSep "," [
|
||||
"tab: >"
|
||||
"leadmultispace: |"
|
||||
"trail:."
|
||||
"extends:>"
|
||||
"precedes:<"
|
||||
];
|
||||
};
|
||||
extraPlugins = [(pkgs.vimPlugins.actions-preview-nvim)];
|
||||
extraConfigLua = ''
|
||||
vim.o.undodir = vim.fn.expand("$HOME/.local/share/nvim/undo")
|
||||
require("actions-preview").setup {
|
||||
highlight_command = {
|
||||
require("actions-preview.highlight").delta("${pkgs.delta}/bin/delta --no-gitconfig --side-by-side"),
|
||||
|
|
@ -49,6 +58,14 @@
|
|||
require("actions-preview").code_actions
|
||||
'';
|
||||
}
|
||||
{
|
||||
key = "<C-n>";
|
||||
action = "<CMD>tabnext<CR>";
|
||||
}
|
||||
{
|
||||
key = "<C-p>";
|
||||
action = "<CMD>tabprev<CR>";
|
||||
}
|
||||
{
|
||||
key = "gl";
|
||||
action = "g$";
|
||||
|
|
@ -57,30 +74,84 @@
|
|||
key = "gh";
|
||||
action = "g0";
|
||||
}
|
||||
{
|
||||
mode = "v";
|
||||
key = ">";
|
||||
action = ">gv";
|
||||
options.desc = "indent";
|
||||
options.silent = true;
|
||||
}
|
||||
{
|
||||
mode = "v";
|
||||
key = "<";
|
||||
action = "<gv";
|
||||
options.desc = "deindent";
|
||||
options.silent = true;
|
||||
}
|
||||
{
|
||||
key = "<leader>q";
|
||||
action = ":bd<CR>";
|
||||
action = "<CMD>bd<CR>";
|
||||
options.desc = "close buffer";
|
||||
}
|
||||
{
|
||||
key = "<leader>g";
|
||||
action = "";
|
||||
options.desc = "Gitsigns";
|
||||
}
|
||||
{
|
||||
key = "<leader>gs";
|
||||
action = ":Gitsigns stage_hunk<CR>";
|
||||
action = "<CMD>Gitsigns stage_hunk<CR>";
|
||||
options.desc = "git stage hunk";
|
||||
}
|
||||
{
|
||||
key = "<leader>gn";
|
||||
action = "<CMD>Gitsigns next_hunk<CR>zz";
|
||||
options.desc = "next git hunk";
|
||||
}
|
||||
{
|
||||
key = "<leader>gd";
|
||||
action = "<CMD>Gitsigns preview_hunk_inline<CR>";
|
||||
options.desc = "git diff hunk";
|
||||
}
|
||||
{
|
||||
key = "<leader>gD";
|
||||
action = "<CMD>Gitsigns diffthis<CR>";
|
||||
options.desc = "git diff buffer";
|
||||
}
|
||||
{
|
||||
key = "<leader>gr";
|
||||
action = ":Gitsigns reset_hunk<CR>";
|
||||
action = "<CMD>Gitsigns reset_hunk<CR>";
|
||||
options.desc = "git restore hunk";
|
||||
}
|
||||
{
|
||||
key = "<leader>gb";
|
||||
action = ":Gitsigns blame<CR>";
|
||||
action = "<CMD>Gitsigns blame<CR>";
|
||||
options.desc = "show git blame";
|
||||
}
|
||||
{
|
||||
key = "<leader>gg";
|
||||
action = ":LazyGit<CR>";
|
||||
options.desc = "open lazy git";
|
||||
action = "<CMD>LazyGit<CR>";
|
||||
options.desc = "open lazygit";
|
||||
}
|
||||
{
|
||||
key = "<leader>-";
|
||||
action = "<CMD>Oil<CR>";
|
||||
options.desc = "open dir in Oil";
|
||||
}
|
||||
{
|
||||
key = "<leader>f";
|
||||
action = "";
|
||||
options.desc = "Telescope";
|
||||
}
|
||||
{
|
||||
key = "<leader>c";
|
||||
action = "";
|
||||
options.desc = "LSP";
|
||||
}
|
||||
{
|
||||
key = "<leader>h";
|
||||
action = "";
|
||||
options.desc = "Harpoon";
|
||||
}
|
||||
];
|
||||
|
||||
|
|
@ -94,6 +165,11 @@
|
|||
|
||||
telescope = {
|
||||
enable = true;
|
||||
settings = {
|
||||
defaults = {
|
||||
file_ignore_patterns = [".*lock.*"];
|
||||
};
|
||||
};
|
||||
keymaps = {
|
||||
"<leader>fg" = "live_grep";
|
||||
"<leader>/" = "live_grep";
|
||||
|
|
@ -101,6 +177,9 @@
|
|||
"<leader>fb" = "buffers";
|
||||
"<leader>fh" = "help_tags";
|
||||
"<leader>:" = "commands";
|
||||
"<leader>ft" = "treesitter";
|
||||
"<leader>fr" = "lsp_references";
|
||||
"<leader>cr" = "lsp_definition";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -114,17 +193,6 @@
|
|||
lspBuf = {
|
||||
"<leader>ck" = "hover";
|
||||
"K" = "hover";
|
||||
|
||||
# using actions-preview instead
|
||||
# "<leader>ca" = "code_action";
|
||||
# "<C-.>" = "code_action";
|
||||
|
||||
"<leader>cd" = "definition";
|
||||
"gd" = "definition";
|
||||
|
||||
"<leader>cf" = "references";
|
||||
"gr" = "references";
|
||||
|
||||
"<leader>cr" = "rename";
|
||||
"<F2>" = "rename";
|
||||
};
|
||||
|
|
@ -148,10 +216,6 @@
|
|||
lazygit.enable = true;
|
||||
which-key.enable = true;
|
||||
|
||||
dap = {
|
||||
enable = true;
|
||||
extensions.dap-ui.enable = true;
|
||||
};
|
||||
harpoon = {
|
||||
enable = true;
|
||||
keymaps = {
|
||||
|
|
@ -162,6 +226,27 @@
|
|||
};
|
||||
|
||||
vim-css-color.enable = true;
|
||||
|
||||
treesitter = {
|
||||
enable = true;
|
||||
folding = true;
|
||||
};
|
||||
treesitter-textobjects = {
|
||||
enable = true;
|
||||
select = {
|
||||
enable = true;
|
||||
lookahead = true;
|
||||
keymaps = {
|
||||
"af" = { query = "@function.outer"; desc = "Function Outer"; };
|
||||
"ac" = { query = "@comment.outer"; desc = "Comment Outer"; };
|
||||
"if" = { query = "@function.inner"; desc = "Function Inner"; };
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
oil.enable = true;
|
||||
autoclose.enable = true;
|
||||
guess-indent.enable = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue