mutton + cmdline + headings + new name of nvim

This commit is contained in:
СЕМА 2025-03-07 19:23:02 +03:00
parent ad70695803
commit 3ffda93c33
8 changed files with 88 additions and 88 deletions

View File

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

View File

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

View File

@ -10,22 +10,22 @@
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lualine.nvim": { "branch": "master", "commit": "f4f791f67e70d378a754d02da068231d2352e5bc" },
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
"mini.nvim": { "branch": "main", "commit": "581724ebb39f4aa70bdbffb891d57d6141d29035" },
"mini.nvim": { "branch": "main", "commit": "f6fe169821506a59b2407e3c7a3327562600e0e3" },
"mkdx": { "branch": "master", "commit": "ee667cad506954b706c3fa972fbaaad46b1bf028" },
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
"nui.nvim": { "branch": "main", "commit": "8d3bce9764e627b62b07424e0df77f680d47ffdb" },
"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-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" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"render-markdown.nvim": { "branch": "main", "commit": "b56fa1bc7b513f16a1c361b81438f4944b420a32" },
"suda.vim": { "branch": "master", "commit": "9adda7d195222d4e2854efb2a88005a120296c47" },
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
"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" },
"zoxide.vim": { "branch": "master", "commit": "b1e70b6fc1682a83929aee63680d2b43456fe9a5" }
}

View File

@ -1,5 +1,5 @@
--------------------------------------------------------------------------[[ФУНКЦИОНАЛ]]--------------------------------------------------------------------------
--------------------------------------------------------------------------[[FUNC]]--------------------------------------------------------------------------
-- Установка клавиши Leader на пробел
vim.g.mapleader = " "
@ -24,7 +24,6 @@ vim.keymap.set('v', ';', 'l', { 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 })
vim.api.nvim_set_keymap('t', '<A-i>', '<C-\\><C-n>', { noremap = true, silent = true })
@ -86,7 +85,7 @@ vim.opt.showmatch = true
--------------------------------------------------------------------------[[ВИЗУАЛ]]--------------------------------------------------------------------------
--------------------------------------------------------------------------[[VISUAL]]--------------------------------------------------------------------------
vim.o.laststatus = 0 -- Отключает строку состояния
vim.cmd("colorscheme tokyonight-night")
@ -99,7 +98,7 @@ vim.cmd("colorscheme tokyonight-night")
--vim.cmd("colorscheme nightfly")
--vim.cmd("colorscheme randomhue")
--status line disabling
vim.defer_fn(function() vim.opt.laststatus = 0 end, 35)
local laststatus_values = {0, 3}
@ -109,32 +108,6 @@ vim.keymap.set('n', '<Leader><Tab>', function()
vim.opt.laststatus = laststatus_values[current_index]
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()
@ -184,9 +157,7 @@ vim.g.loaded_netrwPlugin = 1
vim.opt.termguicolors = true
vim.opt.textwidth = 100
-- перенос строк по словам
vim.opt.linebreak = true

View File

@ -1,37 +0,0 @@
require("image").setup({
backend = "ueberzug",
processor = "magick_cli", -- or "magick_cli"
integrations = {
markdown = {
enabled = true,
clear_in_insert_mode = false,
download_remote_images = true,
only_render_image_at_cursor = true,
floating_windows = false, -- if true, images will be rendered in floating markdown windows
filetypes = { "markdown", "vimwiki" }, -- markdown extensions (ie. quarto) can go here
},
neorg = {
enabled = true,
filetypes = { "norg" },
},
typst = {
enabled = true,
filetypes = { "typst" },
},
html = {
enabled = false,
},
css = {
enabled = false,
},
},
max_width = nil,
max_height = nil,
max_width_window_percentage = nil,
max_height_window_percentage = 50,
window_overlap_clear_enabled = true, -- toggles images when windows are overlapped
window_overlap_clear_ft_ignore = { "cmp_menu", "cmp_docs", "snacks_notif", "scrollview", "scrollview_sign" },
editor_only_render_when_focused = false, -- auto show/hide images when the editor gains/looses focus
tmux_show_only_in_active_window = false, -- auto show/hide images in the correct Tmux window (needs visual-activity off)
hijack_file_patterns = { "*.png", "*.jpg", "*.jpeg", "*.gif", "*.webp", "*.avif" }, -- render image files as images when opened
})

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

@ -0,0 +1,30 @@
-- Для 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 buf_name:match("/usr/bin/sh$") 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({
views = {
cmdline_popup = {
position = {
row = "50%", -- Центрируем по вертикали
col = "50%", -- Центрируем по горизонтали
},
},
},
presets = {
bottom_search = true, -- Перемещение поиска вниз
command_palette = true, -- Палитра команд
long_message_to_split = true, -- Длинные сообщения в отдельное окно
},
lsp = {
-- override markdown rendering so that **cmp** and other plugins use **Treesitter**
override = {

View File

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