190 lines
8.7 KiB
Markdown
190 lines
8.7 KiB
Markdown
|
||
# SexNvim
|
||
|
||
Nvim как менеджер заметок! Что еще нужно для счастья ?
|
||
|
||
- Рендеринг markdown
|
||
- Дети
|
||
- Размытый поиск файлов
|
||
- Поиск по содержимому файлов
|
||
- .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)
|
||
|
||
|
||
# Установленные плагины
|
||
|
||
## Менеджер заметок
|
||
|
||
#### Функционал
|
||
- [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) - Обработка синтаксиса
|
||
- [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) - Система автодополнения
|
||
- [fzf-lua](https://github.com/ibhagwan/fzf-lua) - Fuzzy finder
|
||
- [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 функций
|
||
- [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
|
||
- [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) - Конфигурация LSP серверов
|
||
- [cmp-nvim-lsp-signature-help](https://github.com/hrsh7th/cmp-nvim-lsp-signature-help) - Подсказки для сигнатур функций
|
||
- [suda.vim](https://github.com/lambdalisue/suda.vim) - Редактирование файлов с правами sudo
|
||
- [zoxide.vim](https://github.com/nanotee/zoxide.vim) - Интеграция zoxide для быстрого перехода между директориями
|
||
|
||
#### Визуал
|
||
- [indent-blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim) - Визуализация отступов
|
||
- [tokyonight.nvim](https://github.com/folke/tokyonight.nvim) - Цветовая схема Tokyo Night
|
||
- [gruvbox](https://github.com/morhetz/gruvbox) - Цветовая схема Gruvbox
|
||
- [vim-nightfly-colors](https://github.com/bluz71/vim-nightfly-colors) - Цветовая схема Nightfly
|
||
- [kanagawa.nvim](https://github.com/rebelot/kanagawa.nvim) - Цветовая схема Kanagawa
|
||
- [which-key.nvim](https://github.com/folke/which-key.nvim) - Показывает доступные комбинации клавиш
|
||
- [noice.nvim](https://github.com/folke/noice.nvim) - Улучшение командной строки и сообщений
|
||
|
||
|
||
|
||
# Структура
|
||
|
||
```bash
|
||
.
|
||
├── 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
|
||
```bash
|
||
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:
|
||
|
||
```git {.ignore}
|
||
# Игнорировать все файлы
|
||
*
|
||
|
||
# Кроме .md
|
||
!*.md
|
||
|
||
# Разрешить все папки
|
||
!*/
|
||
```
|
||
|
||
|
||
|
||
###### Помогите
|
||
|
||
>Бедным детям в Уганде нужна ваша помощь!
|
||
>
|
||
>Наберите :help iccf<Enter> для дополнительной информации
|
||
|
||
|
||
|