2025-02-28 01:39:45 +03:00
|
|
|
|
|
2025-03-17 01:09:45 +03:00
|
|
|
|
--------------------------------------------------------------------------[[FUNC]]-------------------------------
|
2025-02-28 01:39:45 +03:00
|
|
|
|
|
|
|
|
|
-- Установка клавиши Leader на пробел
|
|
|
|
|
vim.g.mapleader = " "
|
|
|
|
|
|
2025-03-05 16:57:55 +03:00
|
|
|
|
vim.cmd([[autocmd BufRead,BufNewFile config_zero setfiletype i3config]])
|
2025-02-28 01:39:45 +03:00
|
|
|
|
-- CUSTOM MOVE
|
|
|
|
|
-- NORMAL
|
|
|
|
|
vim.keymap.set('n', 'h', '<nop>', { noremap = true, silent = true })
|
|
|
|
|
vim.keymap.set('n', 'j', 'h', { noremap = true, silent = true })
|
|
|
|
|
vim.keymap.set('n', 'k', 'j', { noremap = true, silent = true })
|
|
|
|
|
vim.keymap.set('n', 'l', 'k', { noremap = true, silent = true })
|
|
|
|
|
vim.keymap.set('n', ';', 'l', { noremap = true, silent = true })
|
|
|
|
|
-- VISUAL
|
|
|
|
|
vim.keymap.set('v', 'h', '<nop>', { noremap = true, silent = true })
|
|
|
|
|
vim.keymap.set('v', 'j', 'h', { noremap = true, silent = true })
|
|
|
|
|
vim.keymap.set('v', 'k', 'j', { noremap = true, silent = true })
|
|
|
|
|
vim.keymap.set('v', 'l', 'k', { noremap = true, silent = true })
|
|
|
|
|
vim.keymap.set('v', ';', 'l', { noremap = true, silent = true })
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- Настройка выхода из режима ввода через Atl+i
|
|
|
|
|
vim.api.nvim_set_keymap('i', '<A-i>', '<Esc>', { noremap = true, silent = true })
|
|
|
|
|
-- Настройка терминала
|
2025-03-05 15:11:34 +03:00
|
|
|
|
vim.api.nvim_set_keymap('t', '<A-i>', '<C-\\><C-n>', { noremap = true, silent = true })
|
2025-02-28 01:39:45 +03:00
|
|
|
|
|
2025-02-28 17:33:49 +03:00
|
|
|
|
|
2025-02-28 01:39:45 +03:00
|
|
|
|
-- установить время ожидания в 200 миллисекунд
|
|
|
|
|
vim.o.timeoutlen = 300
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- СИСТЕМНЫЙ БУФЕР
|
|
|
|
|
-- Копирование в системный буфер
|
|
|
|
|
vim.api.nvim_set_keymap('v', 'y', '"+y', { noremap = true, silent = true })
|
|
|
|
|
-- Вставка из системного буфера
|
|
|
|
|
vim.api.nvim_set_keymap('n', 'p', '"+p', { noremap = true, silent = true })
|
|
|
|
|
-- Вырезание в системный буфер
|
|
|
|
|
vim.api.nvim_set_keymap('v', 'x', '"+x', { noremap = true, silent = true })
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- Включаем поддержку undo
|
|
|
|
|
vim.opt.undofile = true
|
|
|
|
|
-- Указываем директорию для хранения файлов undo
|
|
|
|
|
vim.opt.undodir = "/tmp/nvim-changes/"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- Функции для табуляции выделенной области
|
|
|
|
|
local function tab_selected()
|
|
|
|
|
vim.cmd('normal! >gv') -- Сдвиг вправо и возврат к выделению
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local function shift_tab_selected()
|
|
|
|
|
vim.cmd('normal! <gv') -- Сдвиг влево и возврат к выделению
|
|
|
|
|
end
|
|
|
|
|
vim.opt.tabstop = 4
|
|
|
|
|
vim.opt.softtabstop = 4
|
|
|
|
|
vim.opt.shiftwidth = 4
|
|
|
|
|
|
|
|
|
|
-- Привязка клавиш
|
|
|
|
|
vim.keymap.set('v', '<Tab>', tab_selected, { noremap = true, silent = true })
|
|
|
|
|
vim.keymap.set('v', '<S-Tab>', shift_tab_selected, { noremap = true, silent = true })
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--[[ Поиск ]]--
|
|
|
|
|
-- Игнорировать регистр при поиске
|
|
|
|
|
vim.opt.ignorecase = true
|
|
|
|
|
|
|
|
|
|
-- Не игнорировать регистр, если есть символы в верхнем регистре
|
|
|
|
|
vim.opt.smartcase = true
|
|
|
|
|
|
|
|
|
|
-- Подсвечивать найденные текстовые объекты
|
|
|
|
|
vim.opt.showmatch = true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-02-28 16:37:30 +03:00
|
|
|
|
|
2025-03-07 19:23:02 +03:00
|
|
|
|
--------------------------------------------------------------------------[[VISUAL]]--------------------------------------------------------------------------
|
2025-02-28 17:33:49 +03:00
|
|
|
|
vim.o.laststatus = 0 -- Отключает строку состояния
|
2025-02-28 01:39:45 +03:00
|
|
|
|
|
2025-03-09 07:44:48 +03:00
|
|
|
|
|
|
|
|
|
-- init.lua
|
|
|
|
|
|
|
|
|
|
-- Функция для случайного выбора цветовой темы
|
2025-03-17 01:09:45 +03:00
|
|
|
|
--
|
|
|
|
|
-- local function set_random_colorscheme()
|
|
|
|
|
-- -- Список доступных цветовых тем
|
|
|
|
|
-- local colorschemes = {
|
|
|
|
|
-- "tokyonight-night",
|
|
|
|
|
-- "gruvbox",
|
|
|
|
|
-- "kanagawa",
|
|
|
|
|
-- "kanagawa-wave",
|
|
|
|
|
-- "kanagawa-dragon",
|
|
|
|
|
-- "nightfly",
|
|
|
|
|
-- "randomhue",
|
|
|
|
|
-- "darkblue",
|
|
|
|
|
-- "habamax",
|
|
|
|
|
-- "minischeme",
|
|
|
|
|
-- "retrobox",
|
|
|
|
|
-- "slate",
|
|
|
|
|
-- "zaibatsu",
|
|
|
|
|
-- }
|
|
|
|
|
-- math.randomseed(os.time())
|
|
|
|
|
-- local random_index = math.random(1, #colorschemes)
|
|
|
|
|
-- vim.cmd("colorscheme " .. colorschemes[random_index])
|
|
|
|
|
-- end
|
|
|
|
|
-- set_random_colorscheme()
|
|
|
|
|
-- vim.api.nvim_create_user_command("RandomColorscheme", set_random_colorscheme, {})
|
2025-03-09 07:44:48 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-03-13 23:13:32 +03:00
|
|
|
|
--vim.cmd("colorscheme tokyonight-night")
|
|
|
|
|
--vim.cmd("colorscheme gruvbox")
|
|
|
|
|
--vim.cmd("colorscheme astra") -- Применение темы
|
|
|
|
|
--vim.cmd("colorscheme kanagawa") -- Основная схема
|
|
|
|
|
--vim.cmd("colorscheme kanagawa-wave") -- Более светлая версия
|
|
|
|
|
--vim.cmd("colorscheme kanagawa-dragon")-- Более тёмная версия
|
|
|
|
|
--vim.cmd("colorscheme kanagawa-lotus") -- Альтернативная палитра
|
|
|
|
|
--vim.cmd("colorscheme nightfly")
|
|
|
|
|
--vim.cmd("colorscheme randomhue")
|
|
|
|
|
--vim.cmd("colorscheme kanagawa")
|
2025-03-16 19:00:46 +03:00
|
|
|
|
vim.cmd("colorscheme tokyonight-night")
|
2025-03-09 07:44:48 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-02-28 17:33:49 +03:00
|
|
|
|
|
2025-03-07 19:23:02 +03:00
|
|
|
|
--status line disabling
|
2025-02-28 17:33:49 +03:00
|
|
|
|
vim.defer_fn(function() vim.opt.laststatus = 0 end, 35)
|
|
|
|
|
|
|
|
|
|
local laststatus_values = {0, 3}
|
|
|
|
|
local current_index = 1
|
|
|
|
|
vim.keymap.set('n', '<Leader><Tab>', function()
|
|
|
|
|
current_index = current_index % #laststatus_values + 1
|
|
|
|
|
vim.opt.laststatus = laststatus_values[current_index]
|
|
|
|
|
end, { noremap = true, silent = true })
|
2025-02-28 01:39:45 +03:00
|
|
|
|
|
2025-03-06 13:09:29 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--vim.opt.number = true -- Включить абсолютную нумерацию слева
|
|
|
|
|
--vim.opt.relativenumber = true -- Включить относительную нумерацию справа
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-02-28 01:39:45 +03:00
|
|
|
|
|
2025-03-06 13:09:29 +03:00
|
|
|
|
vim.api.nvim_set_hl(0, "SignColumn", { bg = "None", fg = "#abb2bf" }) -- прозрачный фон
|
2025-02-28 17:33:49 +03:00
|
|
|
|
-- Определение функции для переключения number и relativenumber
|
|
|
|
|
local function toggle_number_and_relativenumber()
|
|
|
|
|
local number = vim.opt.number:get()
|
|
|
|
|
local relativenumber = vim.opt.relativenumber:get()
|
|
|
|
|
|
|
|
|
|
if number and relativenumber then
|
|
|
|
|
-- Если обе включены, выключаем их
|
|
|
|
|
vim.opt.number = false
|
|
|
|
|
vim.opt.relativenumber = false
|
|
|
|
|
else
|
|
|
|
|
-- Если обе выключены, включаем их
|
|
|
|
|
vim.opt.number = true
|
|
|
|
|
vim.opt.relativenumber = true
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- Привязка функции к <Leader>n
|
|
|
|
|
vim.keymap.set('n', '<Leader>n', toggle_number_and_relativenumber, { desc = 'Toggle number and relativenumber' })
|
2025-02-28 01:39:45 +03:00
|
|
|
|
|
|
|
|
|
vim.cmd [[
|
|
|
|
|
autocmd TermOpen * setlocal nonumber norelativenumber
|
|
|
|
|
]]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vim.opt.cmdheight = 0
|
|
|
|
|
|
|
|
|
|
-- disable netrw at the very start of your init.lua
|
|
|
|
|
vim.g.loaded_netrw = 1
|
|
|
|
|
vim.g.loaded_netrwPlugin = 1
|
|
|
|
|
|
|
|
|
|
-- Включаем поддержку цветовой схемы
|
|
|
|
|
vim.opt.termguicolors = true
|
|
|
|
|
|
|
|
|
|
|
2025-03-07 19:23:02 +03:00
|
|
|
|
-- перенос строк по словам
|
|
|
|
|
vim.opt.linebreak = true
|
2025-02-28 01:39:45 +03:00
|
|
|
|
|
|
|
|
|
|