local map = vim.api.nvim_set_keymap local kmap = vim.keymap.set local opts = { noremap = true, silent = true } map("n", "", "", opts) map("n", "", "^", opts) map("n", "", "$", opts) map("v", "", "^", opts) map("v", "", "$", opts) map("i", "", "^", opts) map("i", "", "$", opts) map("v", "i", "", opts) map("v", "a", "", opts) -- Перемещение между буферами map("n", "bn", "bnext", opts) -- Следующий буфер map("n", "bp", "bprevious", opts) -- Предыдущий буфер map("n", "bd", "bdelete", opts) -- Закрыть текущий буфер map("n", "w", "wa", opts) -- Tree map("n", "", ":NvimTreeToggle", opts) -- Telescope map("n", "ff", "Telescope find_files", opts) map("n", "fg", "Telescope live_grep", opts) map("n", "fb", "Telescope buffers", opts) -- LSP kmap("n", "e", vim.diagnostic.open_float, opts) kmap("n", "[d", vim.diagnostic.goto_prev, opts) kmap("n", "]d", vim.diagnostic.goto_next, opts) kmap("n", "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", "", vim.lsp.buf.signature_help, opts) kmap("n", "wa", vim.lsp.buf.add_workspace_folder, opts) kmap("n", "wr", vim.lsp.buf.remove_workspace_folder, opts) kmap("n", "wl", function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end, opts) kmap("n", "D", vim.lsp.buf.type_definition, opts) kmap("n", "rn", vim.lsp.buf.rename, opts) kmap("n", "ca", vim.lsp.buf.code_action, opts) kmap("n", "gr", vim.lsp.buf.references, opts) -- kmap('n', 'f', vim.lsp.buf.formatting, opts) kmap("n", "bb", "lua require'dap'.toggle_breakpoint()", opts) kmap("n", "", "lua require'dap'.continue()", opts) kmap("n", "", "lua require'dap'.step_over()", opts) kmap("n", "", "lua require'dap'.step_into()", opts) kmap("n", "", "lua require'dapui'.toggle()", opts) local function change_root_to_global_cwd() local api = require("nvim-tree.api") local global_cwd = vim.fn.getcwd(-1, -1) api.tree.change_root(global_cwd) end kmap("n", "", change_root_to_global_cwd, opts)