Go to file
2025-04-10 22:48:33 +03:00
lua hx 2025-04-10 22:48:33 +03:00
.gitignore gitignore 2025-03-16 19:00:46 +03:00
init.lua hx 2025-04-10 22:48:33 +03:00
README.md render markdown only line render 2025-04-03 15:18:04 +03:00

SexNvim

Nvim как менеджер заметок! Что еще нужно для счастья ?

  • Рендеринг markdown
  • Дети
  • Размытый поиск файлов
  • Поиск по содержимому файлов
  • .ignore - игнорирование вложенных файлов в поиске

Требования

  • fzf - Пакет для fuzzy поиска (необходим)
  • chafa - Предпросмотр фото прямо в терминале (необязательно)
  • zoxide - Пакет для быстрого перехода между директориями (необязательно)
  • Также желательно настроить xdg-open/open на открытие файлов типа .docx, pdf и тд. для полной функциональности (nvim-tree позволит запускать файлы в системных приложениях из nvim)

Установленные плагины

Менеджер заметок

Функционал

  • nvim-treesitter - Обработка синтаксиса
  • nvim-cmp - Система автодополнения
  • fzf-lua - Fuzzy finder
  • cmp-nvim-lsp - Источник данных для nvim-cmp
  • nvim-tree.lua - Проводник файлов
  • plenary.nvim - Библиотека Lua функций
  • mkdx - Утилита для работы с Markdown

Визуал

  • render-markdown.nvim - Визуализация Markdown (рекомендуется)
  • mutton.vim - ограничение длины строки: отступы слева и справа (рекомендуется)
  • nvim-web-devicons - Иконки (рекомендуется)
  • mini.nvim - Набор компактных плагинов (опциональная зависимость)

Дополнения

Данные плагины я установил для себя, чтобы прокачать свой Neovim, но для создания Obsivim необходимы только те, которые представлены выше. Остальные плагины идут по желанию.

Функционал

  • FixCursorHold.nvim - Исправление проблемы CursorHold
  • lualine.nvim - Статусная строка
  • mason.nvim - Менеджер пакетов LSP
  • nvim-lspconfig - Конфигурация LSP серверов
  • cmp-nvim-lsp-signature-help - Подсказки для сигнатур функций
  • suda.vim - Редактирование файлов с правами sudo
  • zoxide.vim - Интеграция zoxide для быстрого перехода между директориями

Визуал

Структура

.
├── init.lua
├── lazy-lock.json
├── lua
│   ├── config
│   │   ├── bufferline.lua
│   │   ├── cmp-nvim-lsp.lua
│   │   ├── common-settings.lua
│   │   ├── fzf.lua
│   │   ├── indent-blankline.lua
│   │   ├── lazy.lua
│   │   ├── lualine.lua
│   │   ├── mason.lua
│   │   ├── mkdx.lua
│   │   ├── noice.lua
│   │   ├── nvim-cmp.lua
│   │   ├── nvim-lspconfig.lua
│   │   ├── nvim-tree.lua
│   │   ├── nvim-treesitter.lua
│   │   ├── render-markdown.lua
│   │   ├── telescope.lua
│   │   ├── vimtex.lua
│   │   └── which-key.lua
│   └── plugins.lua
└── README.md

3 directories, 22 files

Установка

linux

mv ~/.config/nvim ~/.config/bkp_nvim
git clone ssh://git@root-kit.ru:17458/sam/Obsivim.git nvim
nvim .

также не забудьте установить пакеты fzf и chafa(если нужно)

Сочетания клавиш

Leader - пробел

Поиск (fzf.lua)

  • Leader + f - поиск файлов в текущей директории (files)
  • Leader + o - поиск недавних файлов (old files)
  • Leader + g - поиск файлов по содержимому (grep)
  • Leader + z - переход между директориями (zoxide)
  • Leader + r - переход между буферами

Markdown-форматирование(mkdx)

  • Leader + i - курсивный текст
  • Leader + b - жирный текст
  • Leader + = - следующее состояние чекбокса
  • Leader + - - предыдущее состояние чекбокса
  • Leader + ] - повышение заголовка
  • Leader + [ - понижение заголовка
  • Leader + ' - переключить цитату
  • Leader + ` - обернуть инлайн кодом
  • Leader + k - переключить горячие клавиши
  • Leader + ll - переключить элемент списка
  • Leader + lc - переключить элемент чеклиста
  • Leader + / - сгенерировать/обновить TOC
  • Leader + s - перечеркнутый текст
  • Leader + ln - обернуть ссылкой
  • Leader + , - преобразовать CSV в таблицу (в режиме визуального выделения)
  • Leader + j - перейти к заголовку
  • Leader + I - быстрый TOC
  • Leader + L - быстрая проверка мертвых фрагментов ссылок
  • Leader + gf - перейти к файлу
  • Leader + gx - открыть внешний файл
  • Leader + gl - открыть ссылку
  • Tab - отступ нумерованного элемента списка
  • Shift + Tab - уменьшение отступа нумерованного элемента списка
  • ]] - переход к следующему заголовку
  • [[ - переход к предыдущему заголовку

Дополнительные команды для режима вставки:

  • <tab - вставить горячие клавиши
  • enter - обработчик enter
  • shift+enter - обработчик shift+enter
  • ctrl+n - обработчик автодополнения ctrl+n
  • ctrl+p - обработчик автодополнения ctrl+p

Остальное

  • Leader + tab - скрыть строку состояния
  • Leader + n - скрыть нумерацию строк

Так же для своего хранилища заметок можно настроить файл .ignore Например для всех файлов кроме формата .md:

# Игнорировать все файлы
*

# Кроме .md
!*.md

# Разрешить все папки
!*/
Помогите

Бедным детям в Уганде нужна ваша помощь!

Наберите :help iccf для дополнительной информации