This commit is contained in:
cuqmbr 2025-01-30 22:05:13 +02:00
parent e36911cc24
commit 34b6950629
Signed by: cuqmbr
GPG Key ID: 0AA446880C766199
6 changed files with 31 additions and 226 deletions

View File

@ -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")

View File

@ -1,67 +0,0 @@
local opts = { noremap = true, silent = true }
-- Shorten function name
local keymap = vim.keymap.set
--Remap space as leader key
keymap("", "<Space>", "<Nop>", 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", "<C-h>", "<C-w>h", opts)
keymap("n", "<C-j>", "<C-w>j", opts)
keymap("n", "<C-k>", "<C-w>k", opts)
keymap("n", "<C-l>", "<C-w>l", opts)
-- Resize with arrows
keymap("n", "<C-Up>", ":resize +2<CR>", opts)
keymap("n", "<C-Down>", ":resize -2<CR>", opts)
keymap("n", "<C-Left>", ":vertical resize +2<CR>", opts)
keymap("n", "<C-Right>", ":vertical resize -2<CR>", opts)
-- Navigate buffers
keymap("n", "<A-l>", ":bnext<CR>", opts)
keymap("n", "<A-h>", ":bprevious<CR>", opts)
-- Move text up and down
keymap("n", "<A-j>", ":m .+1<CR>==", opts)
keymap("n", "<A-k>", ":m .-2<CR>==", opts)
-- Insert --
-- Press jk fast to exit insert mode
keymap("i", "jk", "<ESC>", opts)
keymap("i", "kj", "<ESC>", opts)
-- Visual --
-- Stay in indent mode
keymap("v", "<", "<gv^", opts)
keymap("v", ">", ">gv^", opts)
-- Move text up and down
keymap("v", "<A-j>", ":m '>+1<CR>gv=gv", opts)
keymap("v", "<A-k>", ":m '<-2<CR>gv=gv", opts)
keymap("v", "p", '"_dP', opts)
-- Visual Block --
-- Move text up and down
keymap("x", "J", ":m '>+1<CR>gv=gv", opts)
keymap("x", "K", ":m '<-2<CR>gv=gv", opts)
keymap("x", "<A-j>", ":m '>+1<CR>gv=gv", opts)
keymap("x", "<A-k>", ":m '<-2<CR>gv=gv", opts)
-- Terminal --
-- Better terminal navigation
-- kkeymap("t", "<C-h>", "<C-\\><C-N><C-w>h", term_opts)
-- kkeymap("t", "<C-j>", "<C-\\><C-N><C-w>j", term_opts)
-- keymap("t", "<C-k>", "<C-\\><C-N><C-w>k", term_opts)
-- keymap("t", "<C-l>", "<C-\\><C-N><C-w>l", term_opts)

View File

@ -1,153 +0,0 @@
--[[
<leader>буква(ы) = Space (пробел)
<M-буква> = <A-буква> = Meta (Alt) (также можно исп. <m-буква> вместо <M-буква>)
<C-буква> = Ctrl
<S-буква> или <s-буква> = Shift (русские буквы писать заглавной и без <>)
<T-буква> = Meta eсли Alt
<D-буква> = Super (Win)
--]]
-- Для исп. нескольких символов в комбинации клавиш можно исп. только <leader> (остальные не сработают)
-- Для того, чтобы исп. shift и ещё какой-то модификатор, букву нужно писать заглавной
-- Учтите, что клавишы, назначенные системой, будут главнее => сработает системная комбинация вместо установленной здесь
-- Русские сочетания клавиш добавляются здесь (для сохранения удобной структуры), хотя никто не запрещает создавать их в lua/core/mappings.lua
-- Press jk fast to exit insert mode
vim.keymap.set("i", "ол", "<ESC>")
vim.keymap.set("i", "ло", "<ESC>")
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", "<C-ц>", ":w<CR>") -- Сохранить файл
vim.keymap.set("n", "<C-й>", ":q<CR>") -- Закрыть Neovim
-- Normal mode
vim.keymap.set("i", "оо", "<Esc>")
-- 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", "<leader>ч", ":BufferLineSortByTabs<CR>:BufferLineCloseRight<CR>") -- Закрытие всех буферов
vim.keymap.set("n", "<leader>Ч", ":BufferLinePickClose<CR>") -- Закрытие одного буфера
vim.api.nvim_set_keymap("n", "<M-с>", ":lua _G.close_and_go_right()<CR>", { noremap = true, silent = true }) -- подробнее в lua/core/utils.lua
vim.keymap.set("n", "<C-т>", ":BufferLineMoveNext<CR>") -- переместить вкладку вперед
vim.keymap.set("n", "<C-з>", ":BufferLineMovePrev<CR>") -- переместить вкладку назад
-- Выделение
vim.keymap.set("n", "м", "v")
vim.keymap.set("v", "м", "v")
vim.keymap.set("n", "М", "V")
vim.keymap.set("v", "М", "V")
-- Файловый менеджер
vim.keymap.set("n", "<M-у>", ":Neotree toggle float<CR>") -- Открыть/Закрыть файловое дерево в плавающем режиме
vim.keymap.set("n", "<M-в>", ":Neotree toggle left<CR>") -- -- Открыть/Закрыть файловое дерево слева сбоку
-- vim.keymap.set("n", "<M-т>", ":Neotree toggle<CR>") -- Открыть/Закрыть файловое дерево (используется последний активный режим)
vim.keymap.set("n", "<leader>ы", ":Neotree show reveal<CR>") -- Показать файл в дереве (не работает в плавающем режиме)
-- Навигация
vim.keymap.set("n", "<C-л>", ":wincmd k<CR>") -- Переключиться на верхнее окно
vim.keymap.set("n", "<C-о>", ":wincmd j<CR>") -- Переключиться на нижнее окно
vim.keymap.set("n", "<C-р>", ":wincmd h<CR>") -- Переключиться на левое окно
vim.keymap.set("n", "<C-д>", ":wincmd l<CR>") -- Переключиться на правое окно
-- В начало и конец файла
vim.keymap.set("n", "пп", "gg")
vim.keymap.set("v", "пп", "gg")
vim.keymap.set("n", "П", "G")
vim.keymap.set("v", "П", "G")
vim.keymap.set("n", "<C-в>", "<C-d>")
vim.keymap.set("v", "<C-в>", "<C-d>")
vim.keymap.set("n", "<C-г>", "<C-u>")
vim.keymap.set("v", "<C-г>", "<C-u>")
--[[ Если строка визуально разбита на несколько строк, то курсор перепрыгнет через них, так как считает, что это одна строка
При помощи настройки ниже курсор будет перемещаться по ним будто это разные строки --]]
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", "<M-е>", ":ToggleTerm direction=float<CR>") -- Открыть терминал в плавающем режиме
vim.keymap.set("n", "Е", function() require("trouble").toggle() end) -- Открыть/Закрыть список проблем (расширение <Trouble>)
--[[
Включить/Выключить подсветку Treesitter, то есть исп. подсветку от Treesitter или встроенную от LSP
Подсветка от Treesitter выдаёт более качественную подсветку по сравнению с LSP, но может замедлять работу Neovim в больших файлах
Благодаря этому хоткею можно переключаться между ними в зависимости от потребностей и личных приоритетов
--]]
vim.keymap.set("n", "<M-Е>",
function() if vim.b.ts_highlight then vim.treesitter.stop() else vim.treesitter.start() end end,
{ desc = "Toggle Treesitter Highlight" })
vim.keymap.set("n", "<leader>се", ":ColorizerToggle<CR>") -- Включить/Отключить подсветку цветовых кодов
vim.keymap.set("n", "<M-л>", ":m+1<CR>") -- Переместить строку под курсором на одну строку вниз
vim.keymap.set("n", "<M-о>", ":m-2<CR>") -- Переместить строку под курсором на одну строку вверх

View File

@ -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

View File

@ -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()

View File

@ -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,