заголовки + донастроил мутон + cmd line (noice)

This commit is contained in:
СЕМА 2025-03-07 19:23:02 +03:00
parent ad70695803
commit e106e05cae
7 changed files with 80 additions and 43 deletions

View File

@ -1,11 +1,12 @@
# 🔥ObsiVim
# 🔥SexNvim
Nvim как менеджер заметок! Что еще нужно для счастья ? Nvim как менеджер заметок! Что еще нужно для счастья ?
- Рендеринг markdown - Рендеринг markdown
- Дети - Дети
- Меню быстрого перехода - Размытый поиск файлов
- Глобальный поиск по содержимому файлов - Поиск по содержимому файлов
- .ignore - игнорирование вложенных файлов в поиске - .ignore - игнорирование вложенных файлов в поиске
# ⚠️ Требования # ⚠️ Требования
@ -14,7 +15,7 @@ Nvim как менеджер заметок! Что еще нужно для с
- [zoxide](https://github.com/ajeetdsouza/zoxide) - Пакет для быстрого перехода между директориями (необязательно) - [zoxide](https://github.com/ajeetdsouza/zoxide) - Пакет для быстрого перехода между директориями (необязательно)
## ✨ Установленные плагины # ✨ Установленные плагины
## Obsivim ## Obsivim
@ -30,8 +31,10 @@ Nvim как менеджер заметок! Что еще нужно для с
#### Визуал #### Визуал
- [render-markdown.nvim](https://github.com/MeanderingProgrammer/render-markdown.nvim) - Визуализация Markdown (рекомендуется) - [render-markdown.nvim](https://github.com/MeanderingProgrammer/render-markdown.nvim) - Визуализация Markdown (рекомендуется)
- [mutton.vim](https://github.com/gabenespoli/vim-mutton) - ограничение длины строки: отступы слева и справа (рекомендуется)
- [nvim-web-devicons](https://github.com/nvim-tree/nvim-web-devicons) - Иконки (рекомендуется) - [nvim-web-devicons](https://github.com/nvim-tree/nvim-web-devicons) - Иконки (рекомендуется)
- [mini.nvim](https://github.com/echasnovski/mini.nvim) - Набор компактных плагинов (опциональная зависимость) - [mini.nvim](https://github.com/echasnovski/mini.nvim) - Набор компактных плагинов (опциональная зависимость)
## Дополнения ## Дополнения
Данные плагины я установил для себя, чтобы прокачать свой Neovim, но для создания Obsivim необходимы только те, которые представлены выше. Остальные плагины идут по желанию. Данные плагины я установил для себя, чтобы прокачать свой Neovim, но для создания Obsivim необходимы только те, которые представлены выше. Остальные плагины идут по желанию.
@ -53,9 +56,8 @@ Nvim как менеджер заметок! Что еще нужно для с
- [which-key.nvim](https://github.com/folke/which-key.nvim) - Показывает доступные комбинации клавиш - [which-key.nvim](https://github.com/folke/which-key.nvim) - Показывает доступные комбинации клавиш
- [noice.nvim](https://github.com/folke/noice.nvim) - Улучшение командной строки и сообщений - [noice.nvim](https://github.com/folke/noice.nvim) - Улучшение командной строки и сообщений
---
Теперь каждый плагин имеет активную ссылку на его репозиторий GitHub!
# 📖Структура # 📖Структура
@ -107,6 +109,7 @@ Leader - пробел
- Leader + o - поиск недавних файлов (old files) - Leader + o - поиск недавних файлов (old files)
- Leader + g - поиск файлов по содержимому (grep) - Leader + g - поиск файлов по содержимому (grep)
- Leader + z - переход между директориями (zoxide) - Leader + z - переход между директориями (zoxide)
- Leader + r - переход между буферами
@ -126,7 +129,6 @@ Leader - пробел
- Leader + / - сгенерировать/обновить TOC - Leader + / - сгенерировать/обновить TOC
- Leader + s - перечеркнутый текст - Leader + s - перечеркнутый текст
- Leader + ln - обернуть ссылкой - Leader + ln - обернуть ссылкой
- Leader + t - переключить элемент чекбокса
- Leader + , - преобразовать CSV в таблицу (в режиме визуального выделения) - Leader + , - преобразовать CSV в таблицу (в режиме визуального выделения)
- Leader + j - перейти к заголовку - Leader + j - перейти к заголовку
- Leader + I - быстрый TOC - Leader + I - быстрый TOC
@ -148,6 +150,23 @@ Leader - пробел
### Остальное ### Остальное
- Leader + tab - скрыть строку состояния - Leader + tab - скрыть строку состояния
- Leader + n - скрыть нумерацию строк
***Так же для своего хранилища заметок можно настроить файл .ignore***
Например для всех файлов кроме формата .md:
```git {.ignore}
# Игнорировать все файлы
*
# Кроме .md
!*.md
# Разрешить все папки
!*/
```
###### Помогите ###### Помогите
>Бедным детям в Уганде нужна ваша помощь! >Бедным детям в Уганде нужна ваша помощь!

View File

@ -1,6 +1,8 @@
require("config.lazy") require("config.lazy")
require("config.common-settings") require("config.common-settings")
require("config.mason") require("config.mason")
require("config.nvim-tree") require("config.nvim-tree")
require("config.nvim-treesitter") require("config.nvim-treesitter")
@ -11,9 +13,9 @@ require("config.vimtex")
require("config.render-markdown") require("config.render-markdown")
require("config.which-key") require("config.which-key")
require("config.indent-blankline") require("config.indent-blankline")
require("config.fzf") require("config.fzf")
require("config.noice") require("config.noice")
require("config.mkdx") require("config.mkdx")
require("config.mutton")

View File

@ -10,22 +10,22 @@
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lualine.nvim": { "branch": "master", "commit": "f4f791f67e70d378a754d02da068231d2352e5bc" }, "lualine.nvim": { "branch": "master", "commit": "f4f791f67e70d378a754d02da068231d2352e5bc" },
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" }, "mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
"mini.nvim": { "branch": "main", "commit": "581724ebb39f4aa70bdbffb891d57d6141d29035" }, "mini.nvim": { "branch": "main", "commit": "6dcb014319a177ad51774c05323cb833349bdf25" },
"mkdx": { "branch": "master", "commit": "ee667cad506954b706c3fa972fbaaad46b1bf028" }, "mkdx": { "branch": "master", "commit": "ee667cad506954b706c3fa972fbaaad46b1bf028" },
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" }, "noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
"nui.nvim": { "branch": "main", "commit": "8d3bce9764e627b62b07424e0df77f680d47ffdb" }, "nui.nvim": { "branch": "main", "commit": "8d3bce9764e627b62b07424e0df77f680d47ffdb" },
"nvim-cmp": { "branch": "main", "commit": "c27370703e798666486e3064b64d59eaf4bdc6d5" }, "nvim-cmp": { "branch": "main", "commit": "c27370703e798666486e3064b64d59eaf4bdc6d5" },
"nvim-lspconfig": { "branch": "master", "commit": "84e0cd5a3c58e88ef706fdf4a1eed59ded1d3ce2" }, "nvim-lspconfig": { "branch": "master", "commit": "fd26f8626c03b424f7140d454031d1dcb8d23513" },
"nvim-notify": { "branch": "master", "commit": "22f29093eae7785773ee9d543f8750348b1a195c" }, "nvim-notify": { "branch": "master", "commit": "22f29093eae7785773ee9d543f8750348b1a195c" },
"nvim-tree.lua": { "branch": "master", "commit": "c09ff35de503a41fa62465c6b4ae72d96e7a7ce4" }, "nvim-tree.lua": { "branch": "master", "commit": "c09ff35de503a41fa62465c6b4ae72d96e7a7ce4" },
"nvim-treesitter": { "branch": "master", "commit": "794cf2f6309691d4e9d3945ae33943a3d90ddd84" }, "nvim-treesitter": { "branch": "master", "commit": "71ac531a6301b6d5f4dc4d7157ffd8bd8d6d769e" },
"nvim-web-devicons": { "branch": "master", "commit": "ab4cfee554e501f497bce0856788d43cf2eb93d7" }, "nvim-web-devicons": { "branch": "master", "commit": "ab4cfee554e501f497bce0856788d43cf2eb93d7" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"render-markdown.nvim": { "branch": "main", "commit": "b56fa1bc7b513f16a1c361b81438f4944b420a32" }, "render-markdown.nvim": { "branch": "main", "commit": "b56fa1bc7b513f16a1c361b81438f4944b420a32" },
"suda.vim": { "branch": "master", "commit": "9adda7d195222d4e2854efb2a88005a120296c47" }, "suda.vim": { "branch": "master", "commit": "9adda7d195222d4e2854efb2a88005a120296c47" },
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" }, "tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
"vim-mutton": { "branch": "master", "commit": "1601de411cfebcb358ab4ed469190d861901ce70" }, "vim-mutton": { "branch": "master", "commit": "1601de411cfebcb358ab4ed469190d861901ce70" },
"vim-nightfly-colors": { "branch": "master", "commit": "5de76d0f53fd7084027c9bfe75e2bb8e93757087" }, "vim-nightfly-colors": { "branch": "master", "commit": "caf619ea508afae2137c71807939ded866591d1f" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }, "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" },
"zoxide.vim": { "branch": "master", "commit": "b1e70b6fc1682a83929aee63680d2b43456fe9a5" } "zoxide.vim": { "branch": "master", "commit": "b1e70b6fc1682a83929aee63680d2b43456fe9a5" }
} }

View File

@ -24,7 +24,6 @@ vim.keymap.set('v', ';', 'l', { noremap = true, silent = true })
-- Настройка выхода из режима ввода через Atl+i -- Настройка выхода из режима ввода через Atl+i
vim.api.nvim_set_keymap('i', '<A-i>', '<Esc>', { noremap = true, silent = true }) 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 })
vim.api.nvim_set_keymap('t', '<A-i>', '<C-\\><C-n>', { noremap = true, silent = true }) vim.api.nvim_set_keymap('t', '<A-i>', '<C-\\><C-n>', { noremap = true, silent = true })
@ -109,32 +108,6 @@ vim.keymap.set('n', '<Leader><Tab>', function()
vim.opt.laststatus = laststatus_values[current_index] vim.opt.laststatus = laststatus_values[current_index]
end, { noremap = true, silent = true }) end, { noremap = true, silent = true })
-- Для Mutton
local normal_bg = vim.fn.synIDattr(vim.fn.hlID("Normal"), "bg")
vim.api.nvim_set_hl(0, "EndOfBuffer", { fg = normal_bg} ) -- overrides `~` character at the end of buffer
vim.api.nvim_set_hl(0, "VertSplit", { fg = normal_bg} ) -- overrides `~` character at the end of buffer
vim.api.nvim_set_hl(0, "WinSeparator", { fg = normal_bg })
local function run_once_on_md()
local executed = false -- Флаг для отслеживания выполнения
vim.api.nvim_create_autocmd("BufEnter", {
pattern = "*.md",
callback = function()
if not executed then
vim.defer_fn(function()
vim.cmd("MuttonToggle") -- Выполнение команды через 200 мс
end, 1)
executed = true -- Установить флаг после выполнения
end
end,
})
end
run_once_on_md()

28
lua/config/mutton.lua Normal file
View File

@ -0,0 +1,28 @@
-- Для Mutton
local normal_bg = vim.fn.synIDattr(vim.fn.hlID("Normal"), "bg")
vim.api.nvim_set_hl(0, "EndOfBuffer", { fg = normal_bg} ) -- overrides `~` character at the end of buffer
vim.api.nvim_set_hl(0, "VertSplit", { fg = normal_bg} ) -- overrides `~` character at the end of buffer
vim.api.nvim_set_hl(0, "WinSeparator", { fg = normal_bg })
local mutton = false
local function on_buf_read()
vim.defer_fn(function()
local buf_name = vim.api.nvim_buf_get_name(0) -- Получаем имя файла
if buf_name:match("%.md$") and mutton == false then -- Проверяем, заканчивается ли имя на ".md"
mutton = true
vim.cmd("MuttonToggle")
elseif buf_name:match("NvimTree_1$") then
elseif buf_name:match("%[%[Mutton%]%]$") then
elseif mutton == true and not buf_name:match("%.md$") then
mutton = false
vim.cmd("MuttonToggle")
end
end, 100)
end
vim.api.nvim_create_autocmd("BufEnter", { callback = on_buf_read })

View File

@ -1,4 +1,17 @@
require("noice").setup({ require("noice").setup({
views = {
cmdline_popup = {
position = {
row = "50%", -- Центрируем по вертикали
col = "50%", -- Центрируем по горизонтали
},
},
},
presets = {
bottom_search = true, -- Перемещение поиска вниз
command_palette = true, -- Палитра команд
long_message_to_split = true, -- Длинные сообщения в отдельное окно
},
lsp = { lsp = {
-- override markdown rendering so that **cmp** and other plugins use **Treesitter** -- override markdown rendering so that **cmp** and other plugins use **Treesitter**
override = { override = {

View File

@ -2,10 +2,12 @@ require('render-markdown').setup({
--для vim wiki --для vim wiki
heading = { heading = {
width = 'block', width = 'block',
left_pad = 2, left_pad = 2,
right_pad = 4, right_pad = 2,
border = true, border = {true,true,true,true,false,false},
border_virtual = false, border_virtual = true,
position = 'inline',
min_width = {50,40,30,20,10,5},
}, },
sign = { enabled = false }, sign = { enabled = false },
}) })