From 34b6950629bede1144737b9e53381de90befd965 Mon Sep 17 00:00:00 2001 From: cuqmbr Date: Thu, 30 Jan 2025 22:05:13 +0200 Subject: [PATCH] update --- init.lua | 6 +- lua/core/mappings.lua | 67 ---------------- lua/core/ru_mappings.lua | 153 ------------------------------------- lua/plugins/dap.lua | 21 +++++ lua/plugins/lsp.lua | 6 +- lua/plugins/treesitter.lua | 4 +- 6 files changed, 31 insertions(+), 226 deletions(-) delete mode 100644 lua/core/mappings.lua delete mode 100644 lua/core/ru_mappings.lua diff --git a/init.lua b/init.lua index 01699ea..67ddda7 100644 --- a/init.lua +++ b/init.lua @@ -1,11 +1,11 @@ --- Базовая настройка require("core.plugins") require("core.color") require("core.config") require("core.autocmds") require("core.utils") -require("core.ru_mappings") -require("core.mappings") + +require("core.mappings.qwerty_en_mappings") +require("core.mappings.йцукен_ru_mappings") require("plugins.dashboard") require("plugins.neotree") diff --git a/lua/core/mappings.lua b/lua/core/mappings.lua deleted file mode 100644 index 35b97b2..0000000 --- a/lua/core/mappings.lua +++ /dev/null @@ -1,67 +0,0 @@ -local opts = { noremap = true, silent = true } - --- Shorten function name -local keymap = vim.keymap.set - ---Remap space as leader key -keymap("", "", "", opts) -vim.g.mapleader = " " -vim.g.maplocalleader = " " - --- Modes --- normal_mode = "n", --- insert_mode = "i", --- visual_mode = "v", --- visual_block_mode = "x", --- term_mode = "t", --- command_mode = "c", - --- Normal -- --- Better window navigation -keymap("n", "", "h", opts) -keymap("n", "", "j", opts) -keymap("n", "", "k", opts) -keymap("n", "", "l", opts) - --- Resize with arrows -keymap("n", "", ":resize +2", opts) -keymap("n", "", ":resize -2", opts) -keymap("n", "", ":vertical resize +2", opts) -keymap("n", "", ":vertical resize -2", opts) - --- Navigate buffers -keymap("n", "", ":bnext", opts) -keymap("n", "", ":bprevious", opts) - --- Move text up and down -keymap("n", "", ":m .+1==", opts) -keymap("n", "", ":m .-2==", opts) - --- Insert -- --- Press jk fast to exit insert mode -keymap("i", "jk", "", opts) -keymap("i", "kj", "", opts) - --- Visual -- --- Stay in indent mode -keymap("v", "<", "", ">gv^", opts) - --- Move text up and down -keymap("v", "", ":m '>+1gv=gv", opts) -keymap("v", "", ":m '<-2gv=gv", opts) -keymap("v", "p", '"_dP', opts) - --- Visual Block -- --- Move text up and down -keymap("x", "J", ":m '>+1gv=gv", opts) -keymap("x", "K", ":m '<-2gv=gv", opts) -keymap("x", "", ":m '>+1gv=gv", opts) -keymap("x", "", ":m '<-2gv=gv", opts) - --- Terminal -- --- Better terminal navigation --- kkeymap("t", "", "h", term_opts) --- kkeymap("t", "", "j", term_opts) --- keymap("t", "", "k", term_opts) --- keymap("t", "", "l", term_opts) diff --git a/lua/core/ru_mappings.lua b/lua/core/ru_mappings.lua deleted file mode 100644 index e7887cf..0000000 --- a/lua/core/ru_mappings.lua +++ /dev/null @@ -1,153 +0,0 @@ ---[[ -буква(ы) = Space (пробел) - = = Meta (Alt) (также можно исп. вместо ) - = Ctrl - или = Shift (русские буквы писать заглавной и без <>) - = Meta eсли ≠ Alt - = Super (Win) ---]] - --- Для исп. нескольких символов в комбинации клавиш можно исп. только (остальные не сработают) --- Для того, чтобы исп. shift и ещё какой-то модификатор, букву нужно писать заглавной --- Учтите, что клавишы, назначенные системой, будут главнее => сработает системная комбинация вместо установленной здесь --- Русские сочетания клавиш добавляются здесь (для сохранения удобной структуры), хотя никто не запрещает создавать их в lua/core/mappings.lua - --- Press jk fast to exit insert mode -vim.keymap.set("i", "ол", "") -vim.keymap.set("i", "ло", "") - -vim.keymap.set("v", "у", "e") -vim.keymap.set("v", "ц", "w") -vim.keymap.set("v", "и", "b") - -vim.keymap.set("n", "у", "e") -vim.keymap.set("n", "ц", "w") -vim.keymap.set("n", "и", "b") - -vim.keymap.set("n", "", ":w") -- Сохранить файл -vim.keymap.set("n", "", ":q") -- Закрыть Neovim - --- Normal mode -vim.keymap.set("i", "оо", "") - --- Command mode -vim.keymap.set("n", "Ж", ":") - --- Insert mode -vim.keymap.set("n", "ф", "a") -vim.keymap.set("n", "Ф", "A") -vim.keymap.set("n", "щ", "o") -vim.keymap.set("n", "Щ", "O") -vim.keymap.set("n", "ш", "i") -vim.keymap.set("n", "Ш", "I") -vim.keymap.set("n", "з", "p") -vim.keymap.set("n", "З", "P") -vim.keymap.set("v", "с", "c") - --- Перемещение влево -vim.keymap.set("n", "р", "h") -vim.keymap.set("v", "р", "h") - --- Перемещение вниз -vim.keymap.set("n", "о", "j") -vim.keymap.set("v", "о", "j") - --- Перемещение вверх -vim.keymap.set("n", "л", "k") -vim.keymap.set("v", "л", "k") - --- Перемещение вправо -vim.keymap.set("n", "д", "l") -vim.keymap.set("v", "д", "l") - --- Удаление -vim.keymap.set("n", "в", "d") -vim.keymap.set("v", "в", "d") -vim.keymap.set("n", "вв", "dd") -vim.keymap.set("n", "ч", "x") -vim.keymap.set("v", "ч", "x") - --- Вставка -vim.keymap.set("n", "з", "p") -vim.keymap.set("n", "З", "P") -vim.keymap.set("v", "з", "p") -vim.keymap.set("v", "З", "P") - --- Отмена действия -vim.keymap.set("n", "г", "u") - --- Копирование -vim.keymap.set("n", "нн", "yy") -vim.keymap.set("n", "н", "y") -vim.keymap.set("v", "н", "yy") - --- Замена replace -vim.keymap.set("n", "к", "r") - --- Заменить change -vim.keymap.set("n", "с", "c") - --- Работа с вкладками (буферами) -vim.keymap.set("n", "ч", ":BufferLineSortByTabs:BufferLineCloseRight") -- Закрытие всех буферов -vim.keymap.set("n", "Ч", ":BufferLinePickClose") -- Закрытие одного буфера -vim.api.nvim_set_keymap("n", "", ":lua _G.close_and_go_right()", { noremap = true, silent = true }) -- подробнее в lua/core/utils.lua -vim.keymap.set("n", "", ":BufferLineMoveNext") -- переместить вкладку вперед -vim.keymap.set("n", "", ":BufferLineMovePrev") -- переместить вкладку назад - --- Выделение -vim.keymap.set("n", "м", "v") -vim.keymap.set("v", "м", "v") -vim.keymap.set("n", "М", "V") -vim.keymap.set("v", "М", "V") - --- Файловый менеджер -vim.keymap.set("n", "", ":Neotree toggle float") -- Открыть/Закрыть файловое дерево в плавающем режиме -vim.keymap.set("n", "", ":Neotree toggle left") -- -- Открыть/Закрыть файловое дерево слева сбоку --- vim.keymap.set("n", "", ":Neotree toggle") -- Открыть/Закрыть файловое дерево (используется последний активный режим) -vim.keymap.set("n", "ы", ":Neotree show reveal") -- Показать файл в дереве (не работает в плавающем режиме) - --- Навигация -vim.keymap.set("n", "", ":wincmd k") -- Переключиться на верхнее окно -vim.keymap.set("n", "", ":wincmd j") -- Переключиться на нижнее окно -vim.keymap.set("n", "", ":wincmd h") -- Переключиться на левое окно -vim.keymap.set("n", "", ":wincmd l") -- Переключиться на правое окно - --- В начало и конец файла -vim.keymap.set("n", "пп", "gg") -vim.keymap.set("v", "пп", "gg") -vim.keymap.set("n", "П", "G") -vim.keymap.set("v", "П", "G") -vim.keymap.set("n", "", "") -vim.keymap.set("v", "", "") -vim.keymap.set("n", "", "") -vim.keymap.set("v", "", "") - ---[[ Если строка визуально разбита на несколько строк, то курсор перепрыгнет через них, так как считает, что это одна строка -При помощи настройки ниже курсор будет перемещаться по ним будто это разные строки --]] -vim.keymap.set('n', 'о', "v:count == 0 ? 'gj' : 'j'", { - expr = true, -}) -vim.keymap.set('n', 'л', "v:count == 0 ? 'gk' : 'k'", { - expr = true, -}) - - --- Терминал -vim.keymap.set("n", "", ":ToggleTerm direction=float") -- Открыть терминал в плавающем режиме - -vim.keymap.set("n", "Е", function() require("trouble").toggle() end) -- Открыть/Закрыть список проблем (расширение ) - ---[[ -Включить/Выключить подсветку Treesitter, то есть исп. подсветку от Treesitter или встроенную от LSP -Подсветка от Treesitter выдаёт более качественную подсветку по сравнению с LSP, но может замедлять работу Neovim в больших файлах -Благодаря этому хоткею можно переключаться между ними в зависимости от потребностей и личных приоритетов ---]] -vim.keymap.set("n", "", - function() if vim.b.ts_highlight then vim.treesitter.stop() else vim.treesitter.start() end end, - { desc = "Toggle Treesitter Highlight" }) - - -vim.keymap.set("n", "се", ":ColorizerToggle") -- Включить/Отключить подсветку цветовых кодов - -vim.keymap.set("n", "", ":m+1") -- Переместить строку под курсором на одну строку вниз -vim.keymap.set("n", "", ":m-2") -- Переместить строку под курсором на одну строку вверх diff --git a/lua/plugins/dap.lua b/lua/plugins/dap.lua index 8b6df58..3584fc4 100644 --- a/lua/plugins/dap.lua +++ b/lua/plugins/dap.lua @@ -21,7 +21,28 @@ dap.configurations.cs = { -- Java +dap.configurations.java = { + { + -- You need to extend the classPath to list your dependencies. + -- `nvim-jdtls` would automatically add the `classPaths` property if it is missing + classPaths = {}, + -- If using multi-module projects, remove otherwise. + -- projectName = "yourProjectName", + + javaExec = "/usr/bin/java", + mainClass = function() + return vim.fn.input("your.package.name.MainClassName: ", vim.fn.getcwd(), "file") + end, + + -- If using the JDK9+ module system, this needs to be extended + -- `nvim-jdtls` would automatically populate this property + modulePaths = {}, + name = "Launch YourClassName", + request = "launch", + type = "java" + }, +} -- DapUI diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index 7fddf60..3a6d68c 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -18,8 +18,6 @@ lspconfig.bashls.setup {} lspconfig.html.setup {} -lspconfig.emmet_ls.setup {} - lspconfig.tsserver.setup {} lspconfig.cssls.setup {} @@ -36,6 +34,10 @@ lspconfig.docker_compose_language_service.setup {} lspconfig.dockerls.setup {} +lspconfig.clangd.setup {} + +lspconfig.awk_ls.setup {} + -- lua_ls LSP setup via Neodev extension which provides additional functionality require("neodev").setup() diff --git a/lua/plugins/treesitter.lua b/lua/plugins/treesitter.lua index edeaa03..3742c6a 100644 --- a/lua/plugins/treesitter.lua +++ b/lua/plugins/treesitter.lua @@ -10,11 +10,13 @@ require("nvim-treesitter.configs").setup { auto_install = false, -- List of parsers to ignore installing (or "all") - -- ignore_install = { "javascript" }, + ignore_install = { }, ---- If you need to change the installation directory of the parsers (see -> Advanced Setup) -- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")! + modules = {}, + highlight = { enable = true,