- 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

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