Привёл nvim к достаточному состоянию

This commit is contained in:
Alexander Neonxp Kiryukhin 2025-04-21 15:15:42 +03:00
parent 020ed86034
commit 4d3bb0270a
Signed by: NeonXP
SSH key fingerprint: SHA256:SVt7TjxbVc87m1QYaQziOJ0N3OCFURv2g76gD/UTTXI
27 changed files with 279 additions and 148 deletions

View file

@ -1,55 +1,60 @@
local map = vim.api.nvim_set_keymap
local kmap = vim.keymap.set
local opts = {noremap = true, silent = true}
local opts = { noremap = true, silent = true }
map("n", "<Space>", "<Nop>", opts)
map("n", "<Home>", "^", opts)
map("n", "<End>", "$", opts)
map("v", "<Home>", "^", opts)
map("v", "<End>", "$", opts)
map("i", "<Home>", "<C-o>^", opts)
map("i", "<End>", "<C-o>$", opts)
map('n', '<Space>', '<Nop>', opts)
map('n', '<Home>', '^', opts)
map('n', '<End>', '$', opts)
map('v', '<Home>', '^', opts)
map('v', '<End>', '$', opts)
map('i', '<Home>', '<C-o>^', opts)
map('i', '<End>', '<C-o>$', opts)
map('v', 'i', '<S-i>', opts)
map('v', 'a', '<S-a>', opts)
map("v", "i", "<S-i>", opts)
map("v", "a", "<S-a>", opts)
-- Перемещение между буферами
kmap('n', '<leader>bn', ':bnext<CR>', { noremap = true, silent = true }) -- Следующий буфер
kmap('n', '<leader>bp', ':bprevious<CR>', { noremap = true, silent = true }) -- Предыдущий буфер
kmap('n', '<leader>bd', ':bdelete<CR>', { noremap = true, silent = true }) -- Закрыть текущий буфер
map("n", "<leader>bn", "<cmd>bnext<CR>", opts) -- Следующий буфер
map("n", "<leader>bp", "<cmd>bprevious<CR>", opts) -- Предыдущий буфер
map("n", "<leader>bd", "<cmd>bdelete<CR>", opts) -- Закрыть текущий буфер
map("n", "<leader>w", "<cmd>wa<CR>", opts)
-- Tree
map('n', '<C-t>', ':NvimTreeToggle<CR>', opts)
map("n", "<F3>", ":NvimTreeToggle<CR>", opts)
-- Telescope
map('n', '<leader>ff', '<cmd>Telescope find_files<CR>', opts)
map('n', '<leader>fg', '<cmd>Telescope live_grep<CR>', opts)
map('n', '<leader>fb', '<cmd>Telescope buffers<CR>', opts)
map("n", "<leader>ff", "<cmd>Telescope find_files<CR>", opts)
map("n", "<leader>fg", "<cmd>Telescope live_grep<CR>", opts)
map("n", "<leader>fb", "<cmd>Telescope buffers<CR>", opts)
-- LSP
kmap('n', '<leader>e', vim.diagnostic.open_float, opts)
kmap('n', '[d', vim.diagnostic.goto_prev, opts)
kmap('n', ']d', vim.diagnostic.goto_next, opts)
kmap('n', '<leader>q', vim.diagnostic.setloclist, opts)
kmap("n", "<leader>e", vim.diagnostic.open_float, opts)
kmap("n", "[d", vim.diagnostic.goto_prev, opts)
kmap("n", "]d", vim.diagnostic.goto_next, opts)
kmap("n", "<leader>q", vim.diagnostic.setloclist, opts)
-- стандартные горячие клавиши для LSP, больше в документации
-- https://github.com/neovim/nvim-lspconfig
kmap('n', 'gD', vim.lsp.buf.declaration, opts)
kmap('n', 'gd', vim.lsp.buf.definition, opts)
kmap('n', 'K', vim.lsp.buf.hover, opts)
kmap('n', 'gi', vim.lsp.buf.implementation, opts)
kmap('n', '<C-k>', vim.lsp.buf.signature_help, opts)
kmap('n', '<leader>wa', vim.lsp.buf.add_workspace_folder, opts)
kmap('n', '<leader>wr', vim.lsp.buf.remove_workspace_folder, opts)
kmap('n', '<leader>wl', function()
kmap("n", "gD", vim.lsp.buf.declaration, opts)
kmap("n", "gd", vim.lsp.buf.definition, opts)
kmap("n", "K", vim.lsp.buf.hover, opts)
kmap("n", "gi", vim.lsp.buf.implementation, opts)
kmap("n", "<C-k>", vim.lsp.buf.signature_help, opts)
kmap("n", "<leader>wa", vim.lsp.buf.add_workspace_folder, opts)
kmap("n", "<leader>wr", vim.lsp.buf.remove_workspace_folder, opts)
kmap("n", "<leader>wl", function()
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
end, opts)
kmap('n', '<leader>D', vim.lsp.buf.type_definition, opts)
kmap('n', '<leader>rn', vim.lsp.buf.rename, opts)
kmap('n', '<leader>ca', vim.lsp.buf.code_action, opts)
kmap('n', 'gr', vim.lsp.buf.references, opts)
kmap("n", "<leader>D", vim.lsp.buf.type_definition, opts)
kmap("n", "<leader>rn", vim.lsp.buf.rename, opts)
kmap("n", "<leader>ca", vim.lsp.buf.code_action, opts)
kmap("n", "gr", vim.lsp.buf.references, opts)
-- kmap('n', '<leader>f', vim.lsp.buf.formatting, opts)
kmap("n", "<leader>bb", "<cmd>lua require'dap'.toggle_breakpoint()<CR>", opts)
kmap("n", "<F9>", "<cmd>lua require'dap'.continue()<CR>", opts)
kmap("n", "<F8>", "<cmd>lua require'dap'.step_over()<CR>", opts)
kmap("n", "<F7>", "<cmd>lua require'dap'.step_into()<CR>", opts)
kmap("n", "<F2>", "<cmd>lua require'dapui'.toggle()<CR>", opts)
local function change_root_to_global_cwd()
local api = require("nvim-tree.api")
@ -57,5 +62,4 @@ local function change_root_to_global_cwd()
api.tree.change_root(global_cwd)
end
kmap('n', '<C-c>', change_root_to_global_cwd, {})
kmap("n", "<C-c>", change_root_to_global_cwd, opts)