- random colorscheme (common-settings)

- заменить Enter на Tab в cmp-path
- Теперь nvim tree стал более userfriendly: Enter открывает директорию как корневую, чтобы посмотреть просто ее содержимое Tab, так же Enter заменяет s(открытие файлов типа docx,pdf и тд. во внешнем приложении) так же удалены некоторые лишние на мой взгляд плагины: wichkey vimtex(возможно в будущем верну)
This commit is contained in:
СЕМА 2025-03-09 07:44:48 +03:00
parent 3ffda93c33
commit 6f9fcff8fa
8 changed files with 205 additions and 110 deletions

View File

@ -9,13 +9,11 @@ require("config.nvim-treesitter")
require("config.lualine")
require("config.nvim-cmp")
require("config.nvim-lspconfig")
require("config.vimtex")
require("config.render-markdown")
require("config.which-key")
require("config.indent-blankline")
require("config.fzf")
require("config.noice")
--require("config.noice")
require("config.mkdx")
require("config.mutton")

View File

@ -3,7 +3,7 @@
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"fzf-lua": { "branch": "main", "commit": "da9a0898541b34b95361e4223df17a7f680be070" },
"fzf-lua": { "branch": "main", "commit": "33e704a07d1f79e55e26becf60992971266719fa" },
"gruvbox": { "branch": "master", "commit": "f1ecde848f0cdba877acb0c740320568252cc482" },
"indent-blankline.nvim": { "branch": "master", "commit": "e10626f7fcd51ccd56d7ffc00883ba7e0aa28f78" },
"kanagawa.nvim": { "branch": "master", "commit": "cfd67b0e1eeaa04302b8c7eb072253d24bf22d84" },
@ -18,14 +18,12 @@
"nvim-lspconfig": { "branch": "master", "commit": "fd26f8626c03b424f7140d454031d1dcb8d23513" },
"nvim-notify": { "branch": "master", "commit": "22f29093eae7785773ee9d543f8750348b1a195c" },
"nvim-tree.lua": { "branch": "master", "commit": "c09ff35de503a41fa62465c6b4ae72d96e7a7ce4" },
"nvim-treesitter": { "branch": "master", "commit": "71ac531a6301b6d5f4dc4d7157ffd8bd8d6d769e" },
"nvim-treesitter": { "branch": "master", "commit": "ffd284c4706d91c0d94916995f584b22ce89afcb" },
"nvim-web-devicons": { "branch": "master", "commit": "ab4cfee554e501f497bce0856788d43cf2eb93d7" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"render-markdown.nvim": { "branch": "main", "commit": "b56fa1bc7b513f16a1c361b81438f4944b420a32" },
"suda.vim": { "branch": "master", "commit": "9adda7d195222d4e2854efb2a88005a120296c47" },
"render-markdown.nvim": { "branch": "main", "commit": "81374ffd26f9a9d5f44274a9e7e60547b5fd106f" },
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
"vim-mutton": { "branch": "master", "commit": "1601de411cfebcb358ab4ed469190d861901ce70" },
"vim-nightfly-colors": { "branch": "master", "commit": "caf619ea508afae2137c71807939ded866591d1f" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" },
"vim-nightfly-colors": { "branch": "master", "commit": "43cd633951ea75cad622a881953b02094fdd4b46" },
"zoxide.vim": { "branch": "master", "commit": "b1e70b6fc1682a83929aee63680d2b43456fe9a5" }
}

View File

@ -88,7 +88,7 @@ vim.opt.showmatch = true
--------------------------------------------------------------------------[[VISUAL]]--------------------------------------------------------------------------
vim.o.laststatus = 0 -- Отключает строку состояния
vim.cmd("colorscheme tokyonight-night")
--vim.cmd("colorscheme tokyonight-night")
--vim.cmd("colorscheme gruvbox")
--vim.cmd("colorscheme astra") -- Применение темы
--vim.cmd("colorscheme kanagawa") -- Основная схема
@ -97,6 +97,58 @@ vim.cmd("colorscheme tokyonight-night")
--vim.cmd("colorscheme kanagawa-lotus") -- Альтернативная палитра
--vim.cmd("colorscheme nightfly")
--vim.cmd("colorscheme randomhue")
--vim.cmd("colorscheme kanagawa")
-- init.lua
-- Функция для случайного выбора цветовой темы
local function set_random_colorscheme()
-- Список доступных цветовых тем
local colorschemes = {
"tokyonight-night",
"gruvbox",
"kanagawa",
"kanagawa-wave",
"kanagawa-dragon",
"kanagawa-lotus",
"nightfly",
"randomhue",
"darkblue",
"habamax",
"minischeme",
"retrobox",
"slate",
"zaibatsu",
}
-- Инициализация генератора случайных чисел
math.randomseed(os.time())
-- Генерация случайного индекса для списка colorschemes
local random_index = math.random(1, #colorschemes)
-- Применение случайной цветовой схемы
vim.cmd("colorscheme " .. colorschemes[random_index])
end
-- Запускаем функцию при старте Neovim
set_random_colorscheme()
-- (Опционально) Добавляем команду для ручного вызова функции
vim.api.nvim_create_user_command("RandomColorscheme", set_random_colorscheme, {})
--status line disabling
vim.defer_fn(function() vim.opt.laststatus = 0 end, 35)

View File

@ -10,7 +10,7 @@ cmp.setup({
['<A-l>'] = cmp.mapping.select_prev_item(),
['<A-k>'] = cmp.mapping.select_next_item(),
['<C-;>'] = cmp.mapping.confirm({ select = true }),
['<CR>'] = cmp.mapping.confirm({ select = true }),
['<Tab>'] = cmp.mapping.confirm({ select = true }),
['<C-Space>'] = cmp.mapping.complete(),
['<C-j>'] = cmp.mapping.close(),
['<C-e>'] = cmp.mapping.close(),

View File

@ -4,7 +4,7 @@ require("nvim-tree").setup({
sorter = "case_sensitive",
},
view = {
width = 30,
width = 50,
},
renderer = {
group_empty = true,
@ -17,6 +17,43 @@ require("nvim-tree").setup({
quit_on_open = true, -- закрывать дерево при открытии файла
},
},
on_attach = function(bufnr)
local api = require("nvim-tree.api")
-- Apply default mappings
api.config.mappings.default_on_attach(bufnr)
-- Remove default C-] mapping
vim.keymap.del("n", "<C-]>", { buffer = bufnr })
-- Define file extensions to handle with system open
local special_extensions = {
".pdf", ".png", ".jpeg", ".jpg", ".doc", ".docx"
}
-- Helper function to check file extension
local function has_special_extension(node)
for _, ext in ipairs(special_extensions) do
if node.name:match("%.?[^.]+$") == ext then
return true
end
end
return false
end
-- Create combined CR mapping
vim.keymap.set("n", "<CR>", function()
local node = api.tree.get_node_under_cursor()
if node and has_special_extension(node) then
api.node.run.system() -- Open file in system
else
api.node.open.edit() -- Default open file behavior
api.tree.change_root_to_node() -- Change root to node
end
end, { buffer = bufnr })
end,
})
-- Глобальные бинды для nvim-tree
vim.keymap.set("n", "<Leader>e", ":NvimTreeToggle<CR>", { noremap = true, silent = true })
vim.keymap.set("n", "<Leader>q", ":NvimTreeFindFile<CR>", { noremap = true, silent = true })

View File

@ -1 +0,0 @@
vim.g.vimtex_view_method = "zathura" -- Настройте просмотрщик PDF (например, Zathura)

View File

@ -1 +0,0 @@
require("which-key").setup()

View File

@ -1,5 +1,112 @@
return {
-- Список плагинов
-- ==============================
-- Визуальные плагины
-- ==============================
-- Темы оформления
{
"bluz71/vim-nightfly-colors", -- Nightfly тема
},
{
"folke/tokyonight.nvim", -- TokyoNight тема
},
{
"morhetz/gruvbox", -- Gruvbox тема
},
{
"rebelot/kanagawa.nvim", -- Kanagawa тема
},
-- Иконки
{
"nvim-tree/nvim-web-devicons", -- Провайдер иконок для других плагинов
},
-- Интерфейс и UI
{
"MeanderingProgrammer/render-markdown.nvim", -- Рендеринг Markdown
dependencies = { "echasnovski/mini.nvim", opt = true },
config = function()
require("config.render-markdown")
end,
},
{
"nvim-lualine/lualine.nvim", -- Статусная строка
dependencies = { "kyazdani42/nvim-web-devicons", optional = true },
},
{
"lukas-reineke/indent-blankline.nvim", -- Визуализация отступов
config = function()
require("config.indent-blankline")
end,
},
{
"folke/noice.nvim",
event = "VeryLazy",
opts = {
-- add any options here
},
dependencies = {
-- if you lazy-load any plugin below, make sure to add proper `module="..."` entries
"MunifTanjim/nui.nvim",
-- OPTIONAL:
-- `nvim-notify` is only needed, if you want to use the notification view.
-- If not available, we use `mini` as the fallback
"rcarriga/nvim-notify",
}
},
-- ==============================
-- Функциональные плагины
-- ==============================
-- LSP и автодополнение
{
"hrsh7th/cmp-nvim-lsp", -- Интеграция nvim-cmp с LSP
},
{
"hrsh7th/cmp-nvim-lsp-signature-help", -- Поддержка сигнатур LSP в автодополнении
},
{
"hrsh7th/cmp-path", -- Автодополнение путей
},
{
"hrsh7th/nvim-cmp", -- Основной плагин автодополнения
},
{
"neovim/nvim-lspconfig", -- Конфигурация LSP
},
{
"williamboman/mason.nvim", -- Управление LSP серверами
},
-- Поиск и навигация
{
"ibhagwan/fzf-lua", -- FZF для быстрого поиска
dependencies = { "nvim-tree/nvim-web-devicons" },
opts = {},
},
{
"nvim-lua/plenary.nvim", -- Библиотека для других плагинов
},
-- Другие функциональные плагины
{
"antoinemadec/FixCursorHold.nvim", -- Исправление CursorHold событий
},
{
"gabenespoli/vim-mutton", -- Дополнительные возможности для работы с текстом
},
{
"kyazdani42/nvim-tree.lua", -- Файловый менеджер
dependencies = { "nvim-tree/nvim-web-devicons" },
},
{
"nanotee/zoxide.vim", -- Интеграция с zoxide для быстрой навигации
},
{
"SidOfc/mkdx", -- Улучшения для работы с Markdown
},
-- Treesitter для синтаксического анализа
{
@ -9,99 +116,4 @@ return {
require("config.nvim-treesitter")
end,
},
-- Icon provider plugins
{ "antoinemadec/FixCursorHold.nvim" },
{ "nvim-tree/nvim-web-devicons" },
-- Render Markdown
{
"MeanderingProgrammer/render-markdown.nvim",
dependencies = { "echasnovski/mini.nvim", opt = true },
config = function()
require("config.render-markdown")
end,
},
-- Показывает доступные комбинации клавиш
{
"folke/which-key.nvim",
config = function()
require("config.which-key")
end,
},
-- Визуализация отступов
{
"lukas-reineke/indent-blankline.nvim",
config = function()
require("config.indent-blankline")
end,
},
-- Канагава theme
{
"rebelot/kanagawa.nvim",
lazy = false, -- Убедитесь, что плагин загружается при запуске
priority = 1000, -- Высокий приоритет для применения цветовой схемы
config = function()
vim.cmd("colorscheme kanagawa")
end
},
--nigthfly theme
{
"bluz71/vim-nightfly-colors",
lazy = false,
priority = 1000,
config = function()
end,
},
{
"folke/noice.nvim", -- Плагин для улучшения командной строки и сообщений
event = "VeryLazy", -- Загружается при старте NeoVim
dependencies = {
-- Требуется для UI-компонентов
"MunifTanjim/nui.nvim",
-- Опционально: для замены стандартных уведомлений NeoVim
"rcarriga/nvim-notify",
},
},
{"hrsh7th/nvim-cmp"},
{"hrsh7th/cmp-nvim-lsp" },
{"hrsh7th/cmp-nvim-lsp-signature-help" },
{'hrsh7th/cmp-path'},
{
"ibhagwan/fzf-lua",
-- optional for icon support
dependencies = { "nvim-tree/nvim-web-devicons" },
-- or if using mini.icons/mini.nvim
-- dependencies = { "echasnovski/mini.icons" },
opts = {}
},
{
'SidOfc/mkdx'
},
{
'lambdalisue/suda.vim'
},
{
'nanotee/zoxide.vim'
},
{"nvim-lualine/lualine.nvim", dependencies = { "kyazdani42/nvim-web-devicons", optional = true } },
{ "morhetz/gruvbox" },
{ "folke/tokyonight.nvim" },
{ "neovim/nvim-lspconfig" },
{ "kyazdani42/nvim-tree.lua", dependencies = { "nvim-tree/nvim-web-devicons" } },
--{ "akinsho/bufferline.nvim", version = "*", dependencies = "nvim-tree/nvim-web-devicons" },
{ "williamboman/mason.nvim" },
{ "nvim-lua/plenary.nvim", lazy = true },
{'gabenespoli/vim-mutton'},
}