- random colorscheme (common-settings)
- заменить Enter на Tab в cmp-path - Теперь nvim tree стал более userfriendly: Enter открывает директорию как корневую, чтобы посмотреть просто ее содержимое Tab, так же Enter заменяет s(открытие файлов типа docx,pdf и тд. во внешнем приложении) так же удалены некоторые лишние на мой взгляд плагины: wichkey vimtex(возможно в будущем верну)
This commit is contained in:
@ -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)
|
||||
|
||||
@ -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(),
|
||||
|
||||
@ -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 })
|
||||
|
||||
@ -1 +0,0 @@
|
||||
vim.g.vimtex_view_method = "zathura" -- Настройте просмотрщик PDF (например, Zathura)
|
||||
@ -1 +0,0 @@
|
||||
require("which-key").setup()
|
||||
204
lua/plugins.lua
204
lua/plugins.lua
@ -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'},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user