/
alkis
/
nvim
Обзор
Документация
Войти
/
alkis
/
nvim
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
lua/config/keymaps.lua
112 строк
4 KB
avkis
Last changes
30 июн 2025, 06:49
30 июн 2025, 06:49
dce13aa
Код
Авторство
О чём код?
vim.keymap.set("n", "-", "<cmd>Oil --float<CR>", { desc = "Open Parent Directory in Oil" }) vim.keymap.set("n", "di", function() vim.diagnostic.open_float() end, { desc = "Open Diagnostics in Float" }) vim.keymap.set("n", "<leader>cf", function() require("conform").format({ lsp_format = "falback" }) end, { desc = "Format current file" }) vim.keymap.set("n", "<leader>fp", function() require("project-fzf").projects() end, { desc = "Find projects" }) -- set system clipboard -- vim.keymap.set("n", "y", '"+y') -- vim.keymap.set("n", "yy", '"+yy') -- vim.keymap.set("n", "Y", '"+Y') -- vim.keymap.set("x", "y", '"+y') -- vim.keymap.set("x", "Y", '"+Y') -- -- local opts = { noremap = true, silent = true } -- -- local map = vim.keymap.set -- -- -- Keep cursor centered when scrolling -- vim.keymap.set("n", "<C-d>", "<C-d>zz", opts) -- vim.keymap.set("n", "<C-u>", "<C-u>zz", opts) -- -- -- Move selected line / block of text in visual mode -- vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv", opts) -- vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv", opts) -- -- -- Fast saving -- -- vim.keymap.set("n", "<leader>w", ":write!<CR>", { silent = true, desc = "Save file" }) -- -- vim.keymap.set("n", "<leader>q", ":q!<CR>", opts) -- -- -- Remap for dealing with visual line wraps -- vim.keymap.set("n", "k", "v:count == 0 ? 'gk' : 'k'", { expr = true }) -- vim.keymap.set("n", "j", "v:count == 0 ? 'gj' : 'j'", { expr = true }) -- -- -- better indenting -- vim.keymap.set("v", "<", "<gv") -- vim.keymap.set("v", ">", ">gv") -- -- -- paste over currently selected text without yanking it -- vim.keymap.set("v", "p", '"_dp') -- vim.keymap.set("v", "P", '"_dP') -- -- -- copy everything between { and } including the brackets -- -- p puts text after the cursor, -- -- P puts text before the cursor. -- vim.keymap.set("n", "YY", "va{Vy", opts) -- -- -- Move line on the screen rather than by line in the file -- vim.keymap.set("n", "j", "gj", opts) -- vim.keymap.set("n", "k", "gk", opts) -- -- -- Exit on jj and jk -- vim.keymap.set("i", "jj", "<ESC>", opts) -- vim.keymap.set("i", "jk", "<ESC>", opts) -- -- -- Move to start/end of line -- vim.keymap.set({ "n", "x", "o" }, "H", "^", opts) -- vim.keymap.set({ "n", "x", "o" }, "L", "g_", opts) -- -- -- Navigate buffers -- vim.keymap.set("n", "<Right>", ":bnext<CR>", opts) -- vim.keymap.set("n", "<Left>", ":bprevious<CR>", opts) -- -- -- Panes resizing -- vim.keymap.set("n", "+", ":vertical resize +5<CR>") -- vim.keymap.set("n", "_", ":vertical resize -5<CR>") -- vim.keymap.set("n", "=", ":resize +5<CR>") -- -- vim.keymap.set("n", "-", ":resize -5<CR>") -- -- -- Map enter to ciw in normal mode -- vim.keymap.set("n", "<CR>", "ciw", opts) -- vim.keymap.set("n", "<BS>", "ci", opts) -- -- vim.keymap.set("n", "n", "nzzv", opts) -- vim.keymap.set("n", "N", "Nzzv", opts) -- vim.keymap.set("n", "*", "*zzv", opts) -- vim.keymap.set("n", "#", "#zzv", opts) -- vim.keymap.set("n", "g*", "g*zz", opts) -- vim.keymap.set("n", "g#", "g#zz", opts) -- -- -- map ; to resume last search -- -- map("n", ";", "<cmd>Telescope resume<cr>", opts) -- -- -- search current buffer -- vim.keymap.set("n", "<C-s>", ":Telescope current_buffer_fuzzy_find<CR>", opts) -- -- -- Split line with X -- vim.keymap.set("n", "X", ":keeppatterns substitute/\\s*\\%#\\s*/\\r/e <bar> normal! ==^<cr>", { silent = true }) -- -- -- ctrl + x to cut full line -- vim.keymap.set("n", "<C-x>", "dd", opts) -- -- -- Select all -- vim.keymap.set("n", "<C-a>", "ggVG", opts) -- -- -- write file in current directory -- -- :w %:h/<new-file-name> -- vim.keymap.set("n", "<C-n>", ":w %:h/", opts) -- -- -- delete forward -- -- w{number}dw -- -- delete backward -- -- w{number}db -- -- vim.keymap.set("n", "<C-P>", ':lua require("config.utils").toggle_go_test()<CR>', opts) -- -- vim.keymap.set("n", "<Esc>", ":nohlsearch<CR>", opts)