Vim против Neovim: что лучше и что вам использовать?

Независимо от того, работаете ли вы с кодом, пишете скрипты или просто управляете конфигурационными файлами, ваш выбор редактора может значительно повлиять как на вашу продуктивность, так и на удовольствие от работы. Прелесть Linux заключается в том, что у вас есть несколько вариантов текстовых редакторов на выбор, включая Vim и его улучшенную версию, Neovim. Дебаты между Vim и Neovim продолжают развиваться среди пользователей Linux, с сильными мнениями с обеих сторон. В этом руководстве мы рассмотрим Vim, Neovim, их возможности и ключевые различия между ними.
Что такое Vim?
Vim, или Vi IMproved, является более продвинутой и функционально насыщенной версией старого текстового редактора под названием vi, который был основным инструментом в операционных системах UNIX. Он работает на нескольких платформах, включая Unix-системы, Windows, macOS и другие. Если вы используете macOS или любую дистрибуцию Linux, есть большая вероятность, что Vim уже установлен и готов к использованию на вашей системе.
Если он не установлен, вы можете легко установить его с помощью вашего менеджера пакетов по умолчанию. Например, на Ubuntu вы можете использовать:
sudo apt install vimПосле установки просто введите vim в терминале, чтобы запустить его.

Vim предлагает модальную среду редактирования, которая позволяет вам перемещаться по файлам, вносить изменения, сохранять свою работу и выполнять множество других действий – все это без необходимости использовать мышь. Кроме того, вы можете настроить практически каждый аспект его поведения и внешнего вида, чтобы идеально соответствовать вашему рабочему процессу через файл конфигурации. Единственная проблема заключается в том, что новичку может быть сложно использовать его, и некоторые даже имеют проблемы с выходом из Vim.
Что такое Neovim?
Neovim строится на наследии vi и Vim. Он возник как ответвление от Vim в 2014 году, стремясь устранить предполагаемые ограничения в архитектуре Vim, сохраняя при этом модальную философию редактирования, которую многие пользователи любят. Neovim служит заменой Vim, что означает, что вы можете продолжать использовать свой существующий файл конфигурации “.vimrc”.
Для базового использования Neovim ощущается почти идентично Vim. Что отличает Neovim, так это его поддержка современных функций, таких как асинхронная обработка, которая позволяет операциям выполняться в фоновом режиме без зависания интерфейса. Другие функции включают встроенную эмуляцию терминала, позволяя пользователям выполнять команды оболочки, не покидая редактор.
В отличие от Vim, Neovim не предустановлен. Однако установка Neovim проста. Например, на Ubuntu выполните:
sudo apt install neovim
После установки запустите Neovim с помощью команды nvim.

Neovim включает встроенный учебник, чтобы помочь вам начать. Запустите Neovim и введите :Tutor, чтобы изучить основы (включая то, как выйти из программы).
Ключевые различия между Vim и Neovim
Хотя Vim и Neovim функционируют аналогично, Neovim предлагает более утонченный опыт в целом.
Одно из основных улучшений в Neovim заключается в его архитектуре. Он разработан так, чтобы быть более поддерживаемым и модульным, что снижает барьер для вкладов и позволяет ему развиваться быстрее. Этот архитектурный сдвиг также приводит к лучшей производительности и надежности. Хотя Vim остается надежным редактором, дизайн Neovim делает его более устойчивым к будущему и удобным для разработчиков.

Кроме того, благодаря асинхронной архитектуре Neovim задачи могут выполняться в фоновом режиме без блокировки редактора. Вы можете получать предложения автозаполнения, запускать линтеры или загружать большие проекты, и Neovim продолжает работать плавно.
Neovim не только поддерживает плагины Vim – он улучшает их. Система плагинов Vim сильно зависит от Vimscript, что может быть ограничительным и сложным в работе. Neovim расширяет это, поддерживая Lua, современный и легковесный язык сценариев. Инструменты, такие как telescope.nvim и nvim-treesitter, предлагают значительно лучшие возможности поиска и подсветки синтаксиса, чем те, что предоставляет Vim.
Neovim также обрабатывает файлы конфигурации более стандартизированным образом. В то время как Vim хранит конфигурации и плагины в жестко закодированном каталоге “~/.vim”, Neovim следует Спецификации базового каталога XDG, помещая файлы в “~/.config/nvim”. Эта структура поддерживает более чистую и гибкую организацию файлов. Несмотря на это различие, Neovim остается совместимым с файлами конфигурации Vim.
Как и Vim, Neovim предлагает терминальный интерфейс, но добавляет удобство встроенного терминального эмулятора. Кроме терминала, Neovim поддерживает современные графические пользовательские интерфейсы, такие как Oni, Goneovim и VimR.
Плюсы и минусы Vim и Neovim
Давайте обсудим плюсы и минусы каждого редактора, чтобы вы могли лучше решить, какой из них соответствует вашим потребностям.
Плюсы Vim:
- Предустановлен на подавляющем большинстве систем на базе Linux
- Исключительная стабильность с зрелой, хорошо протестированной кодовой базой
- Широкое распространение и поддержка сообщества
- Хорошо работает на системах с ограниченными ресурсами или пропускной способностью
Минусы Vim:
- Начальная кривая обучения может быть довольно крутой
- Управление плагинами может быть более сложным
- Интеграция определенных современных функций более сложна
- Отсутствует встроенная поддержка Протокола серверов языков (LSP)
Плюсы Neovim:
- Предлагает улучшенную производительность и более отзывчивый пользовательский опыт
- Встроенная поддержка Протокола серверов языков
- Скриптование на Lua предоставляет более эффективный способ разработки и настройки плагинов
- Управление плагинами, как правило, проще и более упорядочено
- Имеет более разумные и удобные настройки по умолчанию
- Включает встроенный терминальный эмулятор
Минусы Neovim:
- Не установлен по умолчанию на большинстве систем
- Некоторые плагины Vim, которые зависят от специфических функций Vim, могут потребовать корректировок
- Старые плагины Vim могут не работать идеально без модификаций
- Использует немного больше ресурсов, чем Vim
- Переход на Lua для конфигурации требует изучения нового языка
Какой из них вам использовать: Neovim или Vim?
Выбор между Vim и Neovim зависит от вашего рабочего процесса, уровня комфорта и того, что вам нужно от редактора. Выбирайте Vim, если вы часто работаете на разных системах, где не можете установить новое программное обеспечение – он доступен почти повсюду. Он также отлично подходит, если вы хотите стабильный, легковесный редактор, который редко меняется и хорошо работает в условиях ограниченных ресурсов. Также оставайтесь с ним, если вы уже потратили годы на настройку своего окружения Vim.
С другой стороны, выбирайте Neovim, если вы хотите современный опыт редактирования. У него лучшие настройки по умолчанию, активная поддержка сообщества и такие функции, как встроенный LSP и скриптование на Lua. Он идеален, если вы разработчик, который хочет функции, похожие на IDE, без избыточности. И если вы новичок в модальном редактировании, более умные настройки Neovim облегчают кривую обучения.
Заключительные мысли
Хотя и Vim, и Neovim служат одной и той же основной цели, Neovim предлагает более современный и способный опыт редактирования. Он строится на основе Vim с улучшенной производительностью, более легкой разработкой плагинов, интеграцией LSP и улучшенной поддержкой пользовательского интерфейса. Эти улучшения делают Neovim сильной альтернативой для разработчиков, ищущих более мощный и расширяемый редактор.
Многие разработчики используют оба – Neovim для локальной разработки и Vim для быстрых правок на удаленных серверах. Лично я пробовал оба и остановился на Vim из-за его надежности и доступности на нескольких дистрибутивах Linux.
В конечном итоге они имеют большинство одинаковых навыков и сочетаний клавиш, поэтому изучение одного почти делает вас свободным в другом. Это не просто два редактора – что делает Linux особенным, так это широкий выбор вариантов редакторов, доступных для удовлетворения предпочтений каждого пользователя.