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
|
||||
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
|
||||
keymap.set("n", "<leader><leader>x", ":!chmod +x %:p<CR>", opts("make current file executable"))
|
||||
|
||||
|
||||
@@ -1,268 +1,292 @@
|
||||
return {
|
||||
-- Git
|
||||
{
|
||||
"<leader><leader>gl",
|
||||
function()
|
||||
Snacks.lazygit()
|
||||
end,
|
||||
desc = "Open LazyGit",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader><leader>gb",
|
||||
function()
|
||||
Snacks.git.blame_line()
|
||||
end,
|
||||
desc = "Open Git Blame for this line",
|
||||
mode = "n",
|
||||
},
|
||||
-- Colours
|
||||
{
|
||||
"<leader>fcs",
|
||||
function()
|
||||
Snacks.picker.colorschemes()
|
||||
end,
|
||||
desc = "Show color schemes",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fco",
|
||||
function()
|
||||
Snacks.picker.highlights({ pattern = "hl_group:^Snacks" })
|
||||
end,
|
||||
desc = "Show Snacks highlights",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fca",
|
||||
function()
|
||||
Snacks.picker.highlights()
|
||||
end,
|
||||
desc = "Show highlight groups",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fci",
|
||||
function()
|
||||
Snacks.picker.icons()
|
||||
end,
|
||||
desc = "Show icons",
|
||||
mode = "n",
|
||||
},
|
||||
-- Terminal
|
||||
{
|
||||
"<leader>t",
|
||||
function()
|
||||
Snacks.terminal()
|
||||
end,
|
||||
desc = "Open terminal",
|
||||
},
|
||||
-- Tree
|
||||
{
|
||||
"<leader>E",
|
||||
function()
|
||||
Snacks.explorer()
|
||||
end,
|
||||
desc = "Open File Tree",
|
||||
mode = "n",
|
||||
},
|
||||
-- Pickers
|
||||
{
|
||||
"<leader>ff",
|
||||
function()
|
||||
Snacks.picker.files()
|
||||
end,
|
||||
desc = "Find file",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fg",
|
||||
function()
|
||||
Snacks.picker.grep()
|
||||
end,
|
||||
desc = "Find file content using grep",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fb",
|
||||
function()
|
||||
Snacks.picker.buffers()
|
||||
end,
|
||||
desc = "Show all buffers",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fch",
|
||||
function()
|
||||
Snacks.picker.command_history()
|
||||
end,
|
||||
desc = "Show command history",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fd",
|
||||
function()
|
||||
Snacks.picker.diagnostics()
|
||||
end,
|
||||
desc = "Show diagnostics",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fm",
|
||||
function()
|
||||
Snacks.picker.git_diff()
|
||||
end,
|
||||
desc = "Show uncommitted diffs",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fh",
|
||||
function()
|
||||
Snacks.picker.help()
|
||||
end,
|
||||
desc = "Show nvim help pages",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fj",
|
||||
function()
|
||||
Snacks.picker.jumps()
|
||||
end,
|
||||
desc = "Show available jumps",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fk",
|
||||
function()
|
||||
Snacks.picker.keymaps()
|
||||
end,
|
||||
desc = "Show keymaps",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>flc",
|
||||
function()
|
||||
Snacks.picker.lsp_config()
|
||||
end,
|
||||
desc = "Show LSP configs",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"gd",
|
||||
function()
|
||||
Snacks.picker.lsp_definitions()
|
||||
end,
|
||||
desc = "Goto definitions",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"gi",
|
||||
function()
|
||||
Snacks.picker.lsp_implementations()
|
||||
end,
|
||||
desc = "Goto implementations",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"gR",
|
||||
function()
|
||||
Snacks.picker.lsp_references()
|
||||
end,
|
||||
desc = "Goto references",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"gD",
|
||||
function()
|
||||
Snacks.picker.lsp_declarations()
|
||||
end,
|
||||
desc = "Goto declaration",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"gy",
|
||||
function()
|
||||
Snacks.picker.lsp_type_definitions()
|
||||
end,
|
||||
desc = "Goto T[y]pe Definition",
|
||||
},
|
||||
{
|
||||
"gai",
|
||||
function()
|
||||
Snacks.picker.lsp_incoming_calls()
|
||||
end,
|
||||
desc = "C[a]lls Incoming",
|
||||
},
|
||||
{
|
||||
"gao",
|
||||
function()
|
||||
Snacks.picker.lsp_outgoing_calls()
|
||||
end,
|
||||
desc = "C[a]lls Outgoing",
|
||||
},
|
||||
{
|
||||
"gs",
|
||||
function()
|
||||
Snacks.picker.lsp_symbols()
|
||||
end,
|
||||
desc = "Show LSP symbols",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fn",
|
||||
function()
|
||||
Snacks.picker.noice()
|
||||
end,
|
||||
desc = "Show notifications",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fp",
|
||||
function()
|
||||
Snacks.picker.projects()
|
||||
end,
|
||||
desc = "Show recent projects",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fr",
|
||||
function()
|
||||
Snacks.picker.recent()
|
||||
end,
|
||||
desc = "Show recent files",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fs",
|
||||
function()
|
||||
Snacks.picker.spelling()
|
||||
end,
|
||||
desc = "Show spelling suggestions",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"z=",
|
||||
function()
|
||||
Snacks.picker.spelling()
|
||||
end,
|
||||
desc = "Show spelling suggestions",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fo",
|
||||
function()
|
||||
Snacks.picker.treesitter()
|
||||
end,
|
||||
desc = "Show treesitter details",
|
||||
mode = "n",
|
||||
},
|
||||
-- Close buffer
|
||||
{
|
||||
"<C-x>",
|
||||
function()
|
||||
Snacks.bufdelete()
|
||||
end,
|
||||
desc = "Close buffer",
|
||||
mode = "n",
|
||||
},
|
||||
-- Git
|
||||
{
|
||||
"<leader><leader>gl",
|
||||
function()
|
||||
Snacks.lazygit()
|
||||
end,
|
||||
desc = "Open LazyGit",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader><leader>gb",
|
||||
function()
|
||||
Snacks.git.blame_line()
|
||||
end,
|
||||
desc = "Open Git Blame for this line",
|
||||
mode = "n",
|
||||
},
|
||||
-- Colours
|
||||
{
|
||||
"<leader>fcs",
|
||||
function()
|
||||
Snacks.picker.colorschemes()
|
||||
end,
|
||||
desc = "Show color schemes",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fco",
|
||||
function()
|
||||
Snacks.picker.highlights({ pattern = "hl_group:^Snacks" })
|
||||
end,
|
||||
desc = "Show Snacks highlights",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fca",
|
||||
function()
|
||||
Snacks.picker.highlights()
|
||||
end,
|
||||
desc = "Show highlight groups",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fci",
|
||||
function()
|
||||
Snacks.picker.icons()
|
||||
end,
|
||||
desc = "Show icons",
|
||||
mode = "n",
|
||||
},
|
||||
-- Terminal
|
||||
{
|
||||
"<leader>t",
|
||||
function()
|
||||
Snacks.terminal()
|
||||
end,
|
||||
desc = "Open terminal",
|
||||
},
|
||||
-- Tree
|
||||
{
|
||||
"<leader>e",
|
||||
function()
|
||||
Snacks.explorer({ layout = { preset = "select", layout = { max_height = 200 } } })
|
||||
end,
|
||||
desc = "Open File Tree",
|
||||
mode = "n",
|
||||
},
|
||||
-- Pickers
|
||||
{
|
||||
"<leader>ff",
|
||||
function()
|
||||
Snacks.picker.smart()
|
||||
end,
|
||||
desc = "Find files (smart)",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fF",
|
||||
function()
|
||||
Snacks.picker.files()
|
||||
end,
|
||||
desc = "Find files (default)",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fg",
|
||||
function()
|
||||
Snacks.picker.grep()
|
||||
end,
|
||||
desc = "Find file content using grep",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fb",
|
||||
function()
|
||||
Snacks.picker.buffers()
|
||||
end,
|
||||
desc = "Show all buffers",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fch",
|
||||
function()
|
||||
Snacks.picker.command_history()
|
||||
end,
|
||||
desc = "Show command history",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fd",
|
||||
function()
|
||||
Snacks.picker.diagnostics()
|
||||
end,
|
||||
desc = "Show diagnostics",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fm",
|
||||
function()
|
||||
Snacks.picker.git_diff()
|
||||
end,
|
||||
desc = "Show uncommitted diffs",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fh",
|
||||
function()
|
||||
Snacks.picker.help()
|
||||
end,
|
||||
desc = "Show nvim help pages",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fj",
|
||||
function()
|
||||
Snacks.picker.jumps()
|
||||
end,
|
||||
desc = "Show available jumps",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fk",
|
||||
function()
|
||||
Snacks.picker.keymaps()
|
||||
end,
|
||||
desc = "Show keymaps",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>flc",
|
||||
function()
|
||||
Snacks.picker.lsp_config()
|
||||
end,
|
||||
desc = "Show LSP configs",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"gd",
|
||||
function()
|
||||
Snacks.picker.lsp_definitions()
|
||||
end,
|
||||
desc = "Goto definitions",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"gi",
|
||||
function()
|
||||
Snacks.picker.lsp_implementations()
|
||||
end,
|
||||
desc = "Goto implementations",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"gr",
|
||||
function()
|
||||
Snacks.picker.lsp_references()
|
||||
end,
|
||||
desc = "Goto references",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"gD",
|
||||
function()
|
||||
Snacks.picker.lsp_declarations()
|
||||
end,
|
||||
desc = "Goto declaration",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"gy",
|
||||
function()
|
||||
Snacks.picker.lsp_type_definitions()
|
||||
end,
|
||||
desc = "Goto T[y]pe Definition",
|
||||
},
|
||||
{
|
||||
"gai",
|
||||
function()
|
||||
Snacks.picker.lsp_incoming_calls()
|
||||
end,
|
||||
desc = "C[a]lls Incoming",
|
||||
},
|
||||
{
|
||||
"gao",
|
||||
function()
|
||||
Snacks.picker.lsp_outgoing_calls()
|
||||
end,
|
||||
desc = "C[a]lls Outgoing",
|
||||
},
|
||||
{
|
||||
"gs",
|
||||
function()
|
||||
Snacks.picker.lsp_symbols()
|
||||
end,
|
||||
desc = "Show LSP symbols",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fn",
|
||||
function()
|
||||
Snacks.picker.noice()
|
||||
end,
|
||||
desc = "Show notifications",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fp",
|
||||
function()
|
||||
Snacks.picker.projects()
|
||||
end,
|
||||
desc = "Show recent projects",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fr",
|
||||
function()
|
||||
Snacks.picker.recent()
|
||||
end,
|
||||
desc = "Show recent files",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fs",
|
||||
function()
|
||||
Snacks.picker.spelling()
|
||||
end,
|
||||
desc = "Show spelling suggestions",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"z=",
|
||||
function()
|
||||
Snacks.picker.spelling()
|
||||
end,
|
||||
desc = "Show spelling suggestions",
|
||||
mode = "n",
|
||||
},
|
||||
{
|
||||
"<leader>fo",
|
||||
function()
|
||||
Snacks.picker.treesitter()
|
||||
end,
|
||||
desc = "Show treesitter details",
|
||||
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 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 height = math.ceil(math.min(35, vim.o.lines * 0.8))
|
||||
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()
|
||||
vim.api.nvim_command(":packadd nvim.undotree")
|
||||
vim.api.nvim_command(":Undotree")
|
||||
end, opts("Open file browser"))
|
||||
end, opts("Open undotree"))
|
||||
|
||||
Reference in New Issue
Block a user