NVIM для разработчика
- NVIM для разработчика
Всем известно, что история имеет свойство повторяться.
Vi - консольный редактор, он умеет эмулировать для совместимости команды другого старого консольного редактора ex. Это всё такие археологические древности. Первое издание "Learning the vi" вышло в 1986 году. В современных переизданиях это зачем-то перепечатывается. На дворе 2024 год - а редактор Vim до сих пор жив и популярен среди разработчиков.
Основной идее является - использовать редактор не отрывая рук от клавиатуры.
Утверждается, что скорость взаимодействия с редактором увеличится и в работу привенесутся новые краски - а именно, поиск решения как можно сделать определенное действие быстрее использую сочетание клавиш).
Решил проверить данное утверждение.
Автор начал эту статью совместно с изучением редактора кода.
По мере изучения - статья будет меняться / дополняться.
Данная заметка не претендует на истину, к предоставленной информации прошу относиться скептически =)
Этап 1: Введение и установка
-
Основы Vim
- Изучите базовые команды Vim:
- Ресурсы: Vim Tutor, встроенный Vim Tutor (
vimtutor
).
-
Установка LazyVim
- Установите Neovim (если еще не установлен).
- Скачайте и настройте LazyVim по официальной документации.
- Ресурсы: LazyVim GitHub
Этап 2: Базовая настройка и конфигурация
-
Конфигурационные файлы
- Ознакомьтесь с основными конфигурационными файлами (например,
init.lua
). - Настройка базовых параметров редактора (темы, шрифты, отображение номеров строк).
- Ознакомьтесь с основными конфигурационными файлами (например,
Всю основную информацию можно найти в официальной документации + есть книга в свободном доступе.
Во время изучения сделал для себя alias для быстрого запуска и чистки конфига:
alias clearvim="rm -Rf ~/.cache/nvim; rm -Rf ~/.local/state/nvim; rm -Rf ~/.local/share/nvim;"
alias v="nvim"
Как использовать разные версии редактора
Есть множество версий редакторов на основе vim. Что бы с ними работать паралельно (или для изучения есть желание посмотреть)
git clone https://github.com/NvChad/starter ~/.config/nvim-nvchad
при запуске используйте :
NVIM_APPNAME=nvim-nvim-nvchad nvim
Этап 3: Продвинутые возможности
-
Расширенная конфигурация
Пока печатал данный текст - устал переключать расскладку. Данный плагин позволяет использовать киррилицу для навигации
Важно понимать, что куча разработчиков делают настройки редактора под свои нужны - если полагаете, что возьмете все готовое, хоткеи разберете и будет работать - то это не так. Настройка редактора - это процесс, который занимает много времени и требует понимания того, что вы делаете. Потому, если проект надо сдавать завтра сутра - не тратьте время на изучение редактора !!
И прежде чем начать что-то делать - имейте ввиду - это вызывает зависимость!
Как отключить автоформат кода глобально
vim.g.autoformat = false
Как отключить диагностику для некоторых файлов (.env , .md)
vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
pattern = { "*.md", ".env" },
command = "lua vim.diagnostic.disable()",
nested = false,
})
- Настройка автозавершения и подсветки синтаксиса с помощью
nvim-cmp
иtreesitter
. TODO:// настройка nvim-cmp (как отключить snippet - каторые не используются) TODO:// snippet для console.log
-
Рабочие процессы и макросы
- Изучите, как создавать и использовать макросы для автоматизации рутинных задач.
- Настройка и использование скриптов для ускорения работы.
Этап 4: Практическое применение
-
Практика
- Выполняйте различные задачи по программированию или редактированию текста, используя LazyVim.
- Настройте редактор под свои личные нужды и предпочтения.
-
Реальные проекты
- Примените свои знания на реальных проектах.
- Настройте LazyVim для конкретных языков программирования и задач.
Этап 5: Углубленное изучение и участие в сообществе
-
Углубленное изучение
- Ознакомьтесь с документацией и возможностями более сложных плагинов.
- Экспериментируйте с настройками и конфигурацией.
-
Сообщество и поддержка
- Участвуйте в обсуждениях на форумах и в сообществах пользователей LazyVim.
- Поддерживайте и развивайте проекты на основе LazyVim.
Заметки
- Изменить вывод диагностической информации
- Настройка Lsp под php
- LazyVim настройка под Laravel)
- Перейти в Blade файл c view()
- Grug-far поиск и замена
- Работа с базой данных (плагин DAB) //TODO: обзор и самое главное - как его закрыть быстро //плагин в phpstorm (обзор)
Ресурсы
- Документация LazyVim: LazyVim Documentation
- Учебники и руководства по Vim: Vim Adventures, Vimcasts
- Сообщества и форумы: Reddit (r/vim, r/neovim), Stack Overflow.
Следуя этому плану, вы сможете постепенно освоить LazyVim, начиная с основ и заканчивая продвинутыми настройками и реальными проектами.