feat: improve keybinds for snacks
This commit is contained in:
@@ -60,10 +60,6 @@ keymap.set("n", "<leader><leader>e", ":vertical resize 40<CR>", opts("Reset sizi
|
|||||||
-- nohlsearch
|
-- nohlsearch
|
||||||
keymap.set("n", "<leader>h", ":nohlsearch<CR>", opts("remove search highlighting"))
|
keymap.set("n", "<leader>h", ":nohlsearch<CR>", opts("remove search highlighting"))
|
||||||
|
|
||||||
-- run file
|
|
||||||
keymap.set("n", "<leader>r", ":!%:p<CR>", opts("run current file"))
|
|
||||||
keymap.set("n", "<leader><leader>r", ":!%:p", opts("run current file with arguments"))
|
|
||||||
|
|
||||||
-- chmod +x
|
-- chmod +x
|
||||||
keymap.set("n", "<leader><leader>x", ":!chmod +x %:p<CR>", opts("make current file executable"))
|
keymap.set("n", "<leader><leader>x", ":!chmod +x %:p<CR>", opts("make current file executable"))
|
||||||
|
|
||||||
|
|||||||
@@ -1,268 +1,292 @@
|
|||||||
return {
|
return {
|
||||||
-- Git
|
-- Git
|
||||||
{
|
{
|
||||||
"<leader><leader>gl",
|
"<leader><leader>gl",
|
||||||
function()
|
function()
|
||||||
Snacks.lazygit()
|
Snacks.lazygit()
|
||||||
end,
|
end,
|
||||||
desc = "Open LazyGit",
|
desc = "Open LazyGit",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<leader><leader>gb",
|
"<leader><leader>gb",
|
||||||
function()
|
function()
|
||||||
Snacks.git.blame_line()
|
Snacks.git.blame_line()
|
||||||
end,
|
end,
|
||||||
desc = "Open Git Blame for this line",
|
desc = "Open Git Blame for this line",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
-- Colours
|
-- Colours
|
||||||
{
|
{
|
||||||
"<leader>fcs",
|
"<leader>fcs",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.colorschemes()
|
Snacks.picker.colorschemes()
|
||||||
end,
|
end,
|
||||||
desc = "Show color schemes",
|
desc = "Show color schemes",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<leader>fco",
|
"<leader>fco",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.highlights({ pattern = "hl_group:^Snacks" })
|
Snacks.picker.highlights({ pattern = "hl_group:^Snacks" })
|
||||||
end,
|
end,
|
||||||
desc = "Show Snacks highlights",
|
desc = "Show Snacks highlights",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<leader>fca",
|
"<leader>fca",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.highlights()
|
Snacks.picker.highlights()
|
||||||
end,
|
end,
|
||||||
desc = "Show highlight groups",
|
desc = "Show highlight groups",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<leader>fci",
|
"<leader>fci",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.icons()
|
Snacks.picker.icons()
|
||||||
end,
|
end,
|
||||||
desc = "Show icons",
|
desc = "Show icons",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
-- Terminal
|
-- Terminal
|
||||||
{
|
{
|
||||||
"<leader>t",
|
"<leader>t",
|
||||||
function()
|
function()
|
||||||
Snacks.terminal()
|
Snacks.terminal()
|
||||||
end,
|
end,
|
||||||
desc = "Open terminal",
|
desc = "Open terminal",
|
||||||
},
|
},
|
||||||
-- Tree
|
-- Tree
|
||||||
{
|
{
|
||||||
"<leader>E",
|
"<leader>e",
|
||||||
function()
|
function()
|
||||||
Snacks.explorer()
|
Snacks.explorer({ layout = { preset = "select", layout = { max_height = 200 } } })
|
||||||
end,
|
end,
|
||||||
desc = "Open File Tree",
|
desc = "Open File Tree",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
-- Pickers
|
-- Pickers
|
||||||
{
|
{
|
||||||
"<leader>ff",
|
"<leader>ff",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.files()
|
Snacks.picker.smart()
|
||||||
end,
|
end,
|
||||||
desc = "Find file",
|
desc = "Find files (smart)",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<leader>fg",
|
"<leader>fF",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.grep()
|
Snacks.picker.files()
|
||||||
end,
|
end,
|
||||||
desc = "Find file content using grep",
|
desc = "Find files (default)",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<leader>fb",
|
"<leader>fg",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.buffers()
|
Snacks.picker.grep()
|
||||||
end,
|
end,
|
||||||
desc = "Show all buffers",
|
desc = "Find file content using grep",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<leader>fch",
|
"<leader>fb",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.command_history()
|
Snacks.picker.buffers()
|
||||||
end,
|
end,
|
||||||
desc = "Show command history",
|
desc = "Show all buffers",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<leader>fd",
|
"<leader>fch",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.diagnostics()
|
Snacks.picker.command_history()
|
||||||
end,
|
end,
|
||||||
desc = "Show diagnostics",
|
desc = "Show command history",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<leader>fm",
|
"<leader>fd",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.git_diff()
|
Snacks.picker.diagnostics()
|
||||||
end,
|
end,
|
||||||
desc = "Show uncommitted diffs",
|
desc = "Show diagnostics",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<leader>fh",
|
"<leader>fm",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.help()
|
Snacks.picker.git_diff()
|
||||||
end,
|
end,
|
||||||
desc = "Show nvim help pages",
|
desc = "Show uncommitted diffs",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<leader>fj",
|
"<leader>fh",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.jumps()
|
Snacks.picker.help()
|
||||||
end,
|
end,
|
||||||
desc = "Show available jumps",
|
desc = "Show nvim help pages",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<leader>fk",
|
"<leader>fj",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.keymaps()
|
Snacks.picker.jumps()
|
||||||
end,
|
end,
|
||||||
desc = "Show keymaps",
|
desc = "Show available jumps",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<leader>flc",
|
"<leader>fk",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.lsp_config()
|
Snacks.picker.keymaps()
|
||||||
end,
|
end,
|
||||||
desc = "Show LSP configs",
|
desc = "Show keymaps",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"gd",
|
"<leader>flc",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.lsp_definitions()
|
Snacks.picker.lsp_config()
|
||||||
end,
|
end,
|
||||||
desc = "Goto definitions",
|
desc = "Show LSP configs",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"gi",
|
"gd",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.lsp_implementations()
|
Snacks.picker.lsp_definitions()
|
||||||
end,
|
end,
|
||||||
desc = "Goto implementations",
|
desc = "Goto definitions",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"gR",
|
"gi",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.lsp_references()
|
Snacks.picker.lsp_implementations()
|
||||||
end,
|
end,
|
||||||
desc = "Goto references",
|
desc = "Goto implementations",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"gD",
|
"gr",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.lsp_declarations()
|
Snacks.picker.lsp_references()
|
||||||
end,
|
end,
|
||||||
desc = "Goto declaration",
|
desc = "Goto references",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"gy",
|
"gD",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.lsp_type_definitions()
|
Snacks.picker.lsp_declarations()
|
||||||
end,
|
end,
|
||||||
desc = "Goto T[y]pe Definition",
|
desc = "Goto declaration",
|
||||||
},
|
mode = "n",
|
||||||
{
|
},
|
||||||
"gai",
|
{
|
||||||
function()
|
"gy",
|
||||||
Snacks.picker.lsp_incoming_calls()
|
function()
|
||||||
end,
|
Snacks.picker.lsp_type_definitions()
|
||||||
desc = "C[a]lls Incoming",
|
end,
|
||||||
},
|
desc = "Goto T[y]pe Definition",
|
||||||
{
|
},
|
||||||
"gao",
|
{
|
||||||
function()
|
"gai",
|
||||||
Snacks.picker.lsp_outgoing_calls()
|
function()
|
||||||
end,
|
Snacks.picker.lsp_incoming_calls()
|
||||||
desc = "C[a]lls Outgoing",
|
end,
|
||||||
},
|
desc = "C[a]lls Incoming",
|
||||||
{
|
},
|
||||||
"gs",
|
{
|
||||||
function()
|
"gao",
|
||||||
Snacks.picker.lsp_symbols()
|
function()
|
||||||
end,
|
Snacks.picker.lsp_outgoing_calls()
|
||||||
desc = "Show LSP symbols",
|
end,
|
||||||
mode = "n",
|
desc = "C[a]lls Outgoing",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<leader>fn",
|
"gs",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.noice()
|
Snacks.picker.lsp_symbols()
|
||||||
end,
|
end,
|
||||||
desc = "Show notifications",
|
desc = "Show LSP symbols",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<leader>fp",
|
"<leader>fn",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.projects()
|
Snacks.picker.noice()
|
||||||
end,
|
end,
|
||||||
desc = "Show recent projects",
|
desc = "Show notifications",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<leader>fr",
|
"<leader>fp",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.recent()
|
Snacks.picker.projects()
|
||||||
end,
|
end,
|
||||||
desc = "Show recent files",
|
desc = "Show recent projects",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<leader>fs",
|
"<leader>fr",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.spelling()
|
Snacks.picker.recent()
|
||||||
end,
|
end,
|
||||||
desc = "Show spelling suggestions",
|
desc = "Show recent files",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"z=",
|
"<leader>fs",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.spelling()
|
Snacks.picker.spelling()
|
||||||
end,
|
end,
|
||||||
desc = "Show spelling suggestions",
|
desc = "Show spelling suggestions",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<leader>fo",
|
"z=",
|
||||||
function()
|
function()
|
||||||
Snacks.picker.treesitter()
|
Snacks.picker.spelling()
|
||||||
end,
|
end,
|
||||||
desc = "Show treesitter details",
|
desc = "Show spelling suggestions",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
},
|
},
|
||||||
-- Close buffer
|
{
|
||||||
{
|
"<leader>fo",
|
||||||
"<C-x>",
|
function()
|
||||||
function()
|
Snacks.picker.treesitter()
|
||||||
Snacks.bufdelete()
|
end,
|
||||||
end,
|
desc = "Show treesitter details",
|
||||||
desc = "Close buffer",
|
mode = "n",
|
||||||
mode = "n",
|
},
|
||||||
},
|
{
|
||||||
|
"[[",
|
||||||
|
function()
|
||||||
|
Snacks.words.jump(-vim.v.count1)
|
||||||
|
end,
|
||||||
|
desc = "Jump to previous reference",
|
||||||
|
mode = "n",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"]]",
|
||||||
|
function()
|
||||||
|
Snacks.words.jump(vim.v.count1)
|
||||||
|
end,
|
||||||
|
desc = "Jump to next reference",
|
||||||
|
mode = "n",
|
||||||
|
},
|
||||||
|
-- Close buffer
|
||||||
|
{
|
||||||
|
"<C-x>",
|
||||||
|
function()
|
||||||
|
Snacks.bufdelete()
|
||||||
|
end,
|
||||||
|
desc = "Close buffer",
|
||||||
|
mode = "n",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -2,7 +2,7 @@ local utils = require("utils")
|
|||||||
local opts = utils.opts
|
local opts = utils.opts
|
||||||
|
|
||||||
local keymap = vim.keymap
|
local keymap = vim.keymap
|
||||||
keymap.set({ "n" }, "<leader>e", function()
|
keymap.set({ "n" }, "<leader>E", function()
|
||||||
local width = math.ceil(math.min(150, vim.o.columns * 0.8))
|
local width = math.ceil(math.min(150, vim.o.columns * 0.8))
|
||||||
local height = math.ceil(math.min(35, vim.o.lines * 0.8))
|
local height = math.ceil(math.min(35, vim.o.lines * 0.8))
|
||||||
local row = math.ceil(vim.o.lines - height) * 0.5 - 1
|
local row = math.ceil(vim.o.lines - height) * 0.5 - 1
|
||||||
@@ -25,4 +25,4 @@ end, opts("Open file browser"))
|
|||||||
keymap.set({ "n" }, "<leader>u", function()
|
keymap.set({ "n" }, "<leader>u", function()
|
||||||
vim.api.nvim_command(":packadd nvim.undotree")
|
vim.api.nvim_command(":packadd nvim.undotree")
|
||||||
vim.api.nvim_command(":Undotree")
|
vim.api.nvim_command(":Undotree")
|
||||||
end, opts("Open file browser"))
|
end, opts("Open undotree"))
|
||||||
|
|||||||
Reference in New Issue
Block a user