SexNvim/lua/config/common-settings.lua

135 lines
4.6 KiB
Lua
Raw Normal View History

2025-02-28 01:39:45 +03:00
--------------------------------------------------------------------------[[ФУНКЦИОНАЛ]]--------------------------------------------------------------------------
-- Установка клавиши Leader на пробел
vim.g.mapleader = " "
-- 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 })
-- Настройка сохранения на Ctrl+S
vim.api.nvim_set_keymap('n', '<C-s>', ':w<CR>', { noremap = true, silent = true })
vim.api.nvim_set_keymap('i', '<C-s>', '<Esc>:w<CR>a', { noremap = true, silent = true })
-- Выход из сессии
vim.api.nvim_set_keymap('n', '<C-q>', ':q!<CR>', { noremap = true, silent = true })
vim.api.nvim_set_keymap('i', '<C-q>', '<Esc>:q!<CR>', { noremap = true, silent = true })
-- Настройка выхода из режима ввода через Atl+i
vim.api.nvim_set_keymap('i', '<A-i>', '<Esc>', { noremap = true, silent = true })
-- Настройка терминала
vim.api.nvim_set_keymap('n', '<Space>t', ':terminal<CR>', { noremap = true, silent = true })
-- установить время ожидания в 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-02-28 01:39:45 +03:00
--------------------------------------------------------------------------[[ВИЗУАЛ]]--------------------------------------------------------------------------
--vim.cmd("colorscheme tokyonight")
--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") -- Альтернативная палитра
2025-02-28 15:54:04 +03:00
--vim.cmd("colorscheme nightfly")
vim.cmd("colorscheme randomhue")
2025-02-28 01:39:45 +03:00
-- Включение относительной нумерации строк
vim.opt.number = true -- Включить абсолютную нумерацию строк
vim.opt.relativenumber = true -- Включить относительную нумерацию строк
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
vim.opt.textwidth = 100