2

Neovim: Минимализм & Удобство

Серия Программирование
Neovim <3

Neovim <3

Расскажу о том, почему я использую Neovim как основной текстовый редактор, а также о том, как я им пользуюсь.

Почему Neovim?

По сравнению с VS Code и другими IDE, Neovim очень минималистичный и простой. Единственное, что нужно знать – это то, какие клавиши за что отвечают.

После того как вы привыкаете к способу управления, появляется второе преимущество – удобство. После этого вам будет не хватать vim-раскладки в обычных редакторах.

Вопрос не в скорости

Хоть vim-раскладка увеличивает скорость печати, это не главное, так как при 10 часах дебага она вам не поможет. Дело тут именно в удобстве.

Читщит для ленивых

Команда Действие

  • Esc – перейти в NORMAL режим

  • hjkl – перемещение

  • Ctrl-d/u – пол страницы вверх/вниз

  • gg/G – вверх/низ файла

  • yy/p – скопировать/вставить строчку

  • o/O – вставить пустую строчку снизу/сверху

  • I/A – переход в начало/конец строки

  • :w(q) – сохранить (и выйти)

  • :q! – выйти без сохранения

Настройка

По настройке Neovim очень много статей, инструкций и т.д. Я опишу только свою конфигурацию.

Как я уже сказал, я люблю минимализм.

Из плагинов использую Telescope для навигации по проекту, Treesitter для подсветки синтаксиса и LSP для автодополнения и аннотаций. В качестве темы использую Gruvbox.

Моя конфигурация

Моя конфигурация

GitHub с конфигурацией если вам интересно.

Команды

Единственная сложность при знакомстве с Neovim – vim-раскладка.

В Neovim есть 5 режимов. Каждый из них нужен для выполнения какой-то отдельной задачи.

NORMAL

Основной режим. Для перехода в него нажмите либо Esc, либо Ctrl-c.

Перемещение

  • h – влево

  • j – вниз

  • k – вверх

  • l – вправо

  • Ctrl-d – пол страницы вниз

  • Ctrl-u – пол страницы вверх

  • I – в начало строки

  • A – в конце строки

  • gg – в начало файла

  • G – в низ файла

Окна

Экран можно разделить на несколько частей. Для того чтобы разделить экран вертикально, напишите :vs, а для горизонтального разделения – :sp.

Разделение экрана

Разделение экрана

Для перемещения между окнами у меня настроены эти клавиши.

  • wh – перейти в окно слева

  • wj – перейти в окно снизу

  • wk – перейти в окно сверху

  • wl – перейти в окно справа

Вставка & удаление

  • o – вставить пустую линию под текущей

  • O – вставить пустую линию над текущей

  • dd – удалить линию

Копирование

  • yy – скопировать линию в буфер обмена

  • p – вставить скопированное

При удалении чего-либо, удаленный текст копируется в буфер обмена.

VISUAL

Позволяет выделять текст и манипулировать им.

Для того чтобы выделить текст, нажмите v в режиме NORMAL. Также, можно выделить всю линию, для этого нажмите V.

После выделения можно приступить к его редактированию.

  • d – удалить

  • u – перевести в нижний регистр

  • U – перевести в верхний регистр

  • y – скопировать в буфер обмена

  • p – вставить текст из буфера вместо выделенного текста.

INSERT

Обычный режим для набора текста. Тоже что и в других редакторах.

Чтобы вернутся в NORMAL, нужно нажать Esc.

COMMAND

Перейти в него можно нажав : в NORMAL режиме. После каждой команды для выполнения нужно нажимать Enter.

  • :w – сохранить файл

  • :wq – сохранить и выйти

  • :q! – выйти без сохранения

Замена текста

Находясь в VISUAL режиме, напечатайте :s/, впишите текст или регулярное выражение которое хотите заменить, потом / и текст на который хотите изменить.

Замена текста в выделенной области

Замена текста в выделенной области

SEARCH

Нажмите / и впишите то, что хотите найти. После этого нажмите Enter и перемещайтесь по найденным результатам с помощью n.

Telescope

Помогает искать файлы по названию. Я долгое время использовал Nvimtree, но после того как установил Telescope нужда в нём пропала.

Live Grep

Live Grep – плагин, дополняющий Telescope, который помогает искать код по всей кодовой базе с молниеносной скоростью.

Поиск по кодовой базе

Поиск по кодовой базе

Ещё плюшки

Встроенный терминал

Для вызова напишите :te. В этом же окне откроется терминал, с возможностью использования vim-раскладки.

Встроенный терминал в отдельном окне

Встроенный терминал в отдельном окне

Открытие больших файлов

При открытии больших файлов редактор можно запускать в чистом виде без плагинов, затормаживающих открытие и редактирование.

nvim --clean

GUI версия

Иногда использую GUI версию Neovim под названием Neovide. Люблю его из-за очень красивой анимации перемещения курсора и того что он написан на Rust.

Как выйти?

Если вам нужно выйти из редактора, просто наберите :q!.

:wq

Надеюсь статья была полезной. Больше статей в моём блоге.

Лига программистов

2.1K постов11.9K подписчика

Правила сообщества

- Будьте взаимовежливы, аргументируйте критику

- Приветствуются любые посты по тематике программирования

- Если ваш пост содержит ссылки на внешние ресурсы - он должен быть самодостаточным. Вариации на тему "далее читайте в моей телеге" будут удаляться из сообщества

Вы смотрите срез комментариев. Показать все
0
Автор поста оценил этот комментарий

Проще чем что? Чем листок бумаги, чем кодинг в мыслях, чем кодинг во сне ?
Это кстати не я спрашиваю, это всякий раз на хабре спрашивают когда туда приходит секта свидетелей Vim/Emacs

раскрыть ветку (5)
3
Автор поста оценил этот комментарий

Я откровенно не понимаю, нахуя вообще нужна какая-то "простота" при программировании, если набор текста занимает от силы процентов 10 времени, а всё остальное - это "думать".

раскрыть ветку (3)
Автор поста оценил этот комментарий

Вы читали статью? Я прямым текстом говорю, что не из-за быстроты, а из-за удобства

раскрыть ветку (2)
2
Автор поста оценил этот комментарий

Удобства тоже как-то не заметил.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Ну, у кого как

Автор поста оценил этот комментарий

Чем мышкой двигать. Да, мы такие

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества