mutton + cmdline + headings + new name of nvim
This commit is contained in:
parent
ad70695803
commit
3ffda93c33
35
README.md
35
README.md
@ -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
|
||||
|
||||
# Разрешить все папки
|
||||
!*/
|
||||
```
|
||||
|
||||
|
||||
|
||||
###### Помогите
|
||||
>Бедным детям в Уганде нужна ваша помощь!
|
||||
|
4
init.lua
4
init.lua
@ -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")
|
||||
|
@ -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" }
|
||||
}
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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
30
lua/config/mutton.lua
Normal 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 })
|
||||
|
@ -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 = {
|
||||
|
@ -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 },
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user