Перейти к содержанию

Neovim

Neovim — современная реализация редактора vi, созданного Биллом Джоем ещё в 1976 году. Это модальный редактор, где режим вставки и командный режим разделены, и это своего рода суперсила, как только вы выучите хотя бы часть невероятно глубокого набора клавишных команд. Но кривая обучения тоже немалая!

Если вы полностью новичок в редактировании в стиле vim, рекомендую посмотреть серию ThePrimeagen's Vim As Your Editor на YouTube. Она научит основам. Просто знайте, что в отличие от более похожих массовых редакторов, вам потребуется больше времени, чтобы достичь базовой уверенности в vim. Но как только вы это сделаете, отдача тоже больше.

Neovim по сути бесконечно настраиваем. Если действительно хотите сойти с ума, можно создать собственную конфигурацию Neovim с нуля. Есть отличный курс от Typecraft по настройке Neovim с нуля. И у ThePrimeagen тоже есть.

Но OmarOS поставляется с полной настройкой Neovim — пакетом omaros-nvim, — который с любовью настроен, чтобы продемонстрировать лучшее из возможного из коробки. Без необходимости писать ни одной строки конфигурации! Он построен на LazyVim, дистрибутиве плагинов и конфигураций Neovim. Это потрясающе.

Основы LazyVim

Как упоминалось, я не буду учить вас vim в этом коротком введении, но могу показать несколько основ LazyVim и как в нём ориентироваться.

Во-первых, у Neovim есть понятие клавиши-лидера. Это по сути шлюз ко всем командам. LazyVim установил её в Space. Просто нажмите её, подождите секунду, и вы увидите множество опций, объяснённых прямо на месте, вот так:

Вот несколько базовых команд, которые я использую всё время:

  • Space Space - Нечёткий поиск любого файла в текущем каталоге.
  • Space S G - Поиск по всем файлам с помощью grep с предпросмотром.
  • Space E - Переключить дерево файлов вкл/выкл.
  • Ctrl + W W - Перепрыгнуть от дерева файлов к редактору и обратно.
  • Shift + H - Перейти влево между открытыми вкладками (vim называет их буферами).
  • Shift + L - Перейти вправо между открытыми вкладками.
  • Space B D - Закрыть вкладку.
  • Space B O - Закрыть все остальные вкладки, кроме текущей.
  • Space G G - Запустить LazyGit в плавающей панели из текущего каталога.
  • Space U W - Переключить мягкий перенос.

Пока вы находитесь в дереве файлов (Space E, чтобы показать, Ctrl + W W, чтобы перейти туда), можно добавить новый файл через a или новый каталог через A. Нажмите ?, находясь в дереве, чтобы увидеть все команды.

Если хотите освоить базовый язык vim, я писал о трёхчастном синтаксисе и о том, как выполнять эти крутые комбо-движения!

Все возможные команды можно увидеть на странице LazyVim Keymaps.

Запуск Neovim

Запустить Neovim можно через Super + Shift + N (привязка запускает ваш редактор по умолчанию, которым из коробки является Neovim), но обычно легче управлять им из терминала, перейдя в каталог, в котором хотите работать, и набрав n. n — псевдоним для nvim, который по умолчанию откроет текущий каталог. Один файл можно открыть через n myfile.txt.

Использование Neovim для редактирования с sudo

Если нужно редактировать файлы, которые можно менять только как суперпользователь, можно использовать neovim со всеми настроенными плагинами, выполнив sudoedit /etc/sudoers.d/00-sudo-only-file.