From 8bb513a86e8bea07fdb8cea71d254d46ffc7806b Mon Sep 17 00:00:00 2001 From: Polesznyák Márk Date: Sat, 4 Apr 2026 03:16:27 +0200 Subject: feat!: migrate to vim.pack --- plugin/10-remap.lua | 162 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 plugin/10-remap.lua (limited to 'plugin/10-remap.lua') diff --git a/plugin/10-remap.lua b/plugin/10-remap.lua new file mode 100644 index 0000000..a30d6a8 --- /dev/null +++ b/plugin/10-remap.lua @@ -0,0 +1,162 @@ +vim.g.mapleader = " " +vim.keymap.set("n", "e", "Oil --float") +vim.keymap.set("n", "n", "set nu!") +vim.keymap.set("n", "rn", "set rnu!") +vim.keymap.set("n", "", "nohl") +vim.keymap.set("n", "x", "bw") +vim.keymap.set("n", "n", "bn") +vim.keymap.set("n", "p", "bp") +vim.keymap.set("n", "fb", "=ap") +vim.keymap.set("n", "m", "make") +vim.keymap.set("n", "", "!chmod 755 %", { silent = true }) +vim.keymap.set("n", "", ":m .+1==") +vim.keymap.set("n", "", ":m .-2==") +vim.keymap.set("v", "J", ":m '>+1gv=gv") +vim.keymap.set("v", "K", ":m '<-2gv=gv") +vim.keymap.set("n", "", "") +vim.keymap.set("n", "", "") +vim.keymap.set("v", ">", ">gv") +vim.keymap.set("v", "<", "sl", "exec \"normal i\".nr2char(getchar()).\"\\e\"") +vim.keymap.set("n", "sc", "exec \"normal a\".nr2char(getchar()).\"\\e\"") + +-- u/soer9459 +vim.keymap.set("n", ",", + function() + local cursor = vim.api.nvim_win_get_cursor(0) + vim.cmd("norm A;") + vim.api.nvim_win_set_cursor(0, cursor) + end, + { noremap = true, silent = true }) + +-- Switch between windows +vim.keymap.set("n", "", "h") +vim.keymap.set("n", "", "l") +vim.keymap.set("n", "", "j") +vim.keymap.set("n", "", "k") +vim.keymap.set("n", "v", ":vsp") +vim.keymap.set("n", "-", ":sp") + +-- Switch between panes +vim.keymap.set("n", "", "TmuxNavigateLeft") +vim.keymap.set("n", "", "TmuxNavigateRight") +vim.keymap.set("n", "", "TmuxNavigateDown") +vim.keymap.set("n", "", "TmuxNavigateUp") + +-- Color picker +vim.keymap.set("n", "cc", "CccPick") + +-- VimTex +vim.keymap.set("n", "ll", "VimtexCompile") +vim.keymap.set("n", "vl", "VimtexView") + +-- Screenkey +vim.keymap.set("n", "sk", "Screenkey") + +-- Undotree +vim.cmd("packadd nvim.undotree") +vim.keymap.set("n", "u", require("undotree").open) + +-- Telescope +local lazy_telescope = function() + vim.pack.add({ + "https://github.com/nvim-lua/plenary.nvim", + { + src = "https://github.com/nvim-telescope/telescope.nvim", + version = "v0.2.2" + }, + }) + + require("telescope").setup({ + pickers = { + find_files = { + hidden = true, + find_command = { "rg", "--files", "--hidden", "--glob", "!**/.git/**" }, + }, + }, + }) +end + +vim.keymap.set("n", "ff", function() + lazy_telescope() + vim.cmd("Telescope find_files") +end, {}) +vim.keymap.set("n", "fw", function() + lazy_telescope() + vim.cmd("Telescope live_grep") +end, {}) +vim.keymap.set("n", "fo", function() + lazy_telescope() + vim.cmd("Telescope buffers") +end, {}) +vim.keymap.set("n", "fh", function() + lazy_telescope() + vim.cmd("Telescope help_tags") +end, {}) +vim.keymap.set("n", "fz", function() + lazy_telescope() + vim.cmd("Telescope current_buffer_fuzzy_find") +end, {}) +vim.keymap.set("n", "fg", function() + lazy_telescope() + vim.cmd("Telescope git_files") +end, {}) +vim.keymap.set("n", "fd", function() + lazy_telescope() + vim.cmd("Telescope diagnostics") +end, {}) +vim.keymap.set("n", "ft", function() + lazy_telescope() + local telescope = require("telescope.builtin") + local handle = io.popen("rg 'TODO'") + if handle == nil then return end + local result = handle:read("*a") + handle:close() + + if result:match("[^\r\n]+") == nil then + local todo_files = {} + + local files_handle = io.popen("rg --files -g 'TODO.{md,txt}'") + if files_handle == nil then return end + local files_result = files_handle:read("*a") + files_handle:close() + + for file in files_result:gmatch("[^\r\n]+") do + table.insert(todo_files, file) + end + + if #todo_files > 0 then + telescope.find_files({ + prompt_title = "Choose TODO file", + cwd = vim.fn.getcwd(), + search_dirs = todo_files + }) + else + vim.api.nvim_echo({ { "Failed to find any to-dos", "WarningMsg" } }, true, {}) + end + else + telescope.grep_string({ search = "TODO" }) + end +end, { noremap = true, silent = true }) + +-- Diagnostics, LSP +vim.keymap.set("n", "gl", "lua vim.diagnostic.open_float()") +vim.keymap.set("n", "gp", "lua vim.diagnostic.jump({ count = -1 })") +vim.keymap.set("n", "gn", "lua vim.diagnostic.jump({ count = 1 })") + +vim.api.nvim_create_autocmd("LspAttach", { + desc = "LSP actions", + callback = function(event) + local opts = { buffer = event.buf } + + vim.keymap.set("n", "gd", "lua vim.lsp.buf.definition()", opts) + vim.keymap.set("n", "gD", "lua vim.lsp.buf.declaration()", opts) + vim.keymap.set("n", "go", "lua vim.lsp.buf.type_definition()", opts) + vim.keymap.set("n", "gs", "lua vim.lsp.buf.signature_help()", opts) + vim.keymap.set({ "n", "x" }, "", "lua vim.lsp.buf.format({async = true})", opts) + -- u/Blan_11 + vim.keymap.set("n", "lh", function() + vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) + end, { silent = true, buffer = event.buf }) + end +}) -- cgit v1.2.3