- Связал nvim-tree и переход по директориям (zoxide и fzf lua )

- quotes headings md render
This commit is contained in:
СЕМА 2025-03-13 23:13:32 +03:00
parent 6f9fcff8fa
commit e7d4e1c5c0
8 changed files with 86 additions and 73 deletions

View File

@ -10,14 +10,16 @@ Nvim как менеджер заметок! Что еще нужно для с
- .ignore - игнорирование вложенных файлов в поиске
# ⚠️ Требования
- [fzf](https://github.com/junegunn/fzf?tab=readme-ov-file#installation) - Пакет для fuzzy поиска (необходим)
- [chafa](https://github.com/hpjansson/chafa) - Предпросмотр фото прямо в терминале (необязательно)
- [zoxide](https://github.com/ajeetdsouza/zoxide) - Пакет для быстрого перехода между директориями (необязательно)
- Также желательно настроить xdg-open/open на открытие файлов типа .docx, pdf и тд. для полной функциональности (nvim-tree позволит запускать файлы в системных приложениях из nvim)
# ✨ Установленные плагины
## Obsivim
## Менеджер заметок
#### Функционал
- [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) - Обработка синтаксиса
@ -26,19 +28,21 @@ Nvim как менеджер заметок! Что еще нужно для с
- [cmp-nvim-lsp](https://github.com/hrsh7th/cmp-nvim-lsp) - Источник данных для nvim-cmp
- [nvim-tree.lua](https://github.com/kyazdani42/nvim-tree.lua) - Проводник файлов
- [plenary.nvim](https://github.com/nvim-lua/plenary.nvim) - Библиотека Lua функций
- [bufferline.nvim](https://github.com/akinsho/bufferline.nvim) - Менеджер буферов
- [mkdx](https://github.com/SidOfc/mkdx) - Утилита для работы с 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) - Иконки (рекомендуется)
- [mini.nvim](https://github.com/echasnovski/mini.nvim) - Набор компактных плагинов (опциональная зависимость)
## Дополнения
Данные плагины я установил для себя, чтобы прокачать свой Neovim, но для создания Obsivim необходимы только те, которые представлены выше. Остальные плагины идут по желанию.
#### Функционал
- [FixCursorHold.nvim](https://github.com/antoinemadec/FixCursorHold.nvim) - Исправление проблемы CursorHold
- [lualine.nvim](https://github.com/nvim-lualine/lualine.nvim) - Статусная строка
- [mason.nvim](https://github.com/williamboman/mason.nvim) - Менеджер пакетов LSP
@ -91,20 +95,27 @@ Nvim как менеджер заметок! Что еще нужно для с
3 directories, 22 files
```
# ⬇️ Установка
### linux
```bash
mv ~/.config/nvim ~/.config/bkp_nvim
git clone ssh://git@root-kit.ru:17458/sam/Obsivim.git nvim
nvim .
```
*также не забудьте установить пакеты fzf и chafa*
*также не забудьте установить пакеты fzf и chafa(если нужно)*
# ⌨️ Сочетания клавиш
Leader - пробел
### Поиск (fzf.lua)
- Leader + f - поиск файлов в текущей директории (files)
- Leader + o - поиск недавних файлов (old files)
- Leader + g - поиск файлов по содержимому (grep)
@ -149,6 +160,7 @@ Leader - пробел
- ctrl+p - обработчик автодополнения ctrl+p
### Остальное
- Leader + tab - скрыть строку состояния
- Leader + n - скрыть нумерацию строк
@ -169,6 +181,7 @@ Leader - пробел
###### Помогите
>Бедным детям в Уганде нужна ваша помощь!
>
>Наберите :help iccf<Enter> для дополнительной информации

View File

@ -13,7 +13,6 @@ require("config.render-markdown")
require("config.indent-blankline")
require("config.fzf")
--require("config.noice")
require("config.mkdx")
require("config.mutton")

View File

@ -3,25 +3,25 @@
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"fzf-lua": { "branch": "main", "commit": "33e704a07d1f79e55e26becf60992971266719fa" },
"fzf-lua": { "branch": "main", "commit": "15d5cd9a74da7f8739030a5c411c046c70f66a60" },
"gruvbox": { "branch": "master", "commit": "f1ecde848f0cdba877acb0c740320568252cc482" },
"indent-blankline.nvim": { "branch": "master", "commit": "e10626f7fcd51ccd56d7ffc00883ba7e0aa28f78" },
"kanagawa.nvim": { "branch": "master", "commit": "cfd67b0e1eeaa04302b8c7eb072253d24bf22d84" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lualine.nvim": { "branch": "master", "commit": "f4f791f67e70d378a754d02da068231d2352e5bc" },
"lualine.nvim": { "branch": "master", "commit": "02d61f515e7d88e1b02366ca972aecf2768d53df" },
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
"mini.nvim": { "branch": "main", "commit": "f6fe169821506a59b2407e3c7a3327562600e0e3" },
"mini.nvim": { "branch": "main", "commit": "b21cd5b1b330844e4c4b93d65e99ecb7c79a63c9" },
"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": "fd26f8626c03b424f7140d454031d1dcb8d23513" },
"nvim-lspconfig": { "branch": "master", "commit": "8a1529e46eef5efc86c34c8d9bdd313abc2ecba0" },
"nvim-notify": { "branch": "master", "commit": "22f29093eae7785773ee9d543f8750348b1a195c" },
"nvim-tree.lua": { "branch": "master", "commit": "c09ff35de503a41fa62465c6b4ae72d96e7a7ce4" },
"nvim-treesitter": { "branch": "master", "commit": "ffd284c4706d91c0d94916995f584b22ce89afcb" },
"nvim-treesitter": { "branch": "master", "commit": "683816f14718b257666b29f792a8d330936cf5c1" },
"nvim-web-devicons": { "branch": "master", "commit": "ab4cfee554e501f497bce0856788d43cf2eb93d7" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"render-markdown.nvim": { "branch": "main", "commit": "81374ffd26f9a9d5f44274a9e7e60547b5fd106f" },
"render-markdown.nvim": { "branch": "main", "commit": "c065031d030955e1d071a7fcdd8c59e0fd2f0343" },
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
"vim-mutton": { "branch": "master", "commit": "1601de411cfebcb358ab4ed469190d861901ce70" },
"vim-nightfly-colors": { "branch": "master", "commit": "43cd633951ea75cad622a881953b02094fdd4b46" },

View File

@ -88,16 +88,6 @@ vim.opt.showmatch = true
--------------------------------------------------------------------------[[VISUAL]]--------------------------------------------------------------------------
vim.o.laststatus = 0 -- Отключает строку состояния
--vim.cmd("colorscheme tokyonight-night")
--vim.cmd("colorscheme gruvbox")
--vim.cmd("colorscheme astra") -- Применение темы
--vim.cmd("colorscheme kanagawa") -- Основная схема
--vim.cmd("colorscheme kanagawa-wave") -- Более светлая версия
--vim.cmd("colorscheme kanagawa-dragon")-- Более тёмная версия
--vim.cmd("colorscheme kanagawa-lotus") -- Альтернативная палитра
--vim.cmd("colorscheme nightfly")
--vim.cmd("colorscheme randomhue")
--vim.cmd("colorscheme kanagawa")
-- init.lua
@ -110,7 +100,6 @@ local function set_random_colorscheme()
"kanagawa",
"kanagawa-wave",
"kanagawa-dragon",
"kanagawa-lotus",
"nightfly",
"randomhue",
"darkblue",
@ -120,26 +109,26 @@ local function set_random_colorscheme()
"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, {})
--vim.cmd("colorscheme tokyonight-night")
--vim.cmd("colorscheme gruvbox")
--vim.cmd("colorscheme astra") -- Применение темы
--vim.cmd("colorscheme kanagawa") -- Основная схема
--vim.cmd("colorscheme kanagawa-wave") -- Более светлая версия
--vim.cmd("colorscheme kanagawa-dragon")-- Более тёмная версия
--vim.cmd("colorscheme kanagawa-lotus") -- Альтернативная палитра
--vim.cmd("colorscheme nightfly")
--vim.cmd("colorscheme randomhue")
--vim.cmd("colorscheme kanagawa")
vim.cmd("colorscheme slate")

View File

@ -1,3 +1,4 @@
local actions = require("fzf-lua.actions")
require("fzf-lua").setup({
@ -49,4 +50,3 @@ vim.api.nvim_set_keymap('n', '<leader>z', ':FzfLua zoxide<CR>', { noremap = true
vim.api.nvim_set_keymap('n', '<leader>o', ':FzfLua oldfiles<CR>', { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<leader>r', ':FzfLua buffers<CR>', { noremap = true, silent = true })

View File

@ -1,31 +0,0 @@
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 = {
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
["vim.lsp.util.stylize_markdown"] = true,
["cmp.entry.get_documentation"] = true, -- requires hrsh7th/nvim-cmp
},
},
-- you can enable a preset for easier configuration
presets = {
bottom_search = true, -- use a classic bottom cmdline for search
command_palette = true, -- position the cmdline and popupmenu together
long_message_to_split = true, -- long messages will be sent to a split
inc_rename = false, -- enables an input dialog for inc-rename.nvim
lsp_doc_border = false, -- add a border to hover docs and signature help
},
})

View File

@ -4,7 +4,7 @@ require("nvim-tree").setup({
sorter = "case_sensitive",
},
view = {
width = 50,
width = 40,
},
renderer = {
group_empty = true,
@ -28,7 +28,7 @@ require("nvim-tree").setup({
-- Define file extensions to handle with system open
local special_extensions = {
".pdf", ".png", ".jpeg", ".jpg", ".doc", ".docx"
".pdf", ".png", ".jpeg", ".jpg", ".doc", ".docx", ".epub", ".fb2"
}
-- Helper function to check file extension
@ -57,3 +57,12 @@ require("nvim-tree").setup({
-- Глобальные бинды для 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 })
vim.api.nvim_create_autocmd("DirChanged", {
callback = function()
local new_dir = vim.fn.getcwd() -- Получаем текущую рабочую директорию
require("nvim-tree.api").tree.change_root(new_dir)
-- Здесь можно добавить любые действия, например, логирование или обновление плагинов
end,
})

View File

@ -1,18 +1,51 @@
require('render-markdown').setup({
--для vim wiki
heading = {
width = 'block',
left_pad = 2,
right_pad = 2,
border = {true,true,true,true,false,false},
border_virtual = true,
icons = { '' },
position = 'inline',
min_width = {50,40,30,20,10,5},
backgrounds = {
},
},
dash = { icon = '------ ' },
sign = { enabled = false },
quote = { repeat_linebreak = true },
link = {
enabled = true,
render_modes = false,
footnote = {
superscript = false,
prefix = '',
suffix = '',
},
image = '󰥶 ',
email = '󰀓 ',
hyperlink = '',
highlight = 'RenderMarkdownLink',
wiki = {
icon = '󱗖 ',
body = function()
return nil
end,
highlight = 'RenderMarkdownWikiLink',
},
custom = {
web = { pattern = '^http', icon = '󰖟 ' },
discord = { pattern = 'discord%.com', icon = '󰙯 ' },
github = { pattern = 'github%.com', icon = '󰊤 ' },
gitlab = { pattern = 'gitlab%.com', icon = '󰮠 ' },
google = { pattern = 'google%.com', icon = '󰊭 ' },
neovim = { pattern = 'neovim%.io', icon = '' },
reddit = { pattern = 'reddit%.com', icon = '󰑍 ' },
stackoverflow = { pattern = 'stackoverflow%.com', icon = '󰓌 ' },
wikipedia = { pattern = 'wikipedia%.org', icon = '󰖬 ' },
youtube = { pattern = 'youtube%.com', icon = '󰗃 ' },
},
},
})
-- переход по ссылкам
vim.keymap.set('n', 'gl', function() FindHttpOrWwwInLine() end, { silent = true })
function FindHttpOrWwwInLine()
@ -27,3 +60,4 @@ function FindHttpOrWwwInLine()
end
end