2

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

Neovim: Минимализм & Удобство Гайд, Программа, Приложение, Vim, Текстовый редактор, IDE, Блог, Обучение, Развитие, Продуктивность, Скорость, Длиннопост

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.

Neovim: Минимализм & Удобство Гайд, Программа, Приложение, Vim, Текстовый редактор, IDE, Блог, Обучение, Развитие, Продуктивность, Скорость, Длиннопост

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

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

Команды

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

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

NORMAL

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

Перемещение

  • h – влево

  • j – вниз

  • k – вверх

  • l – вправо

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

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

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

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

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

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

Окна

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

Neovim: Минимализм & Удобство Гайд, Программа, Приложение, Vim, Текстовый редактор, IDE, Блог, Обучение, Развитие, Продуктивность, Скорость, Длиннопост

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

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

  • 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/, впишите текст или регулярное выражение которое хотите заменить, потом / и текст на который хотите изменить.

Neovim: Минимализм & Удобство Гайд, Программа, Приложение, Vim, Текстовый редактор, IDE, Блог, Обучение, Развитие, Продуктивность, Скорость, Длиннопост

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

SEARCH

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

Telescope

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

Live Grep

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

Neovim: Минимализм & Удобство Гайд, Программа, Приложение, Vim, Текстовый редактор, IDE, Блог, Обучение, Развитие, Продуктивность, Скорость, Длиннопост

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

Ещё плюшки

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

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

Neovim: Минимализм & Удобство Гайд, Программа, Приложение, Vim, Текстовый редактор, IDE, Блог, Обучение, Развитие, Продуктивность, Скорость, Длиннопост

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

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

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

nvim --clean

GUI версия

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

Как выйти?

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

:wq

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

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

2K поста11.8K подписчиков

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

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

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

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

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

Вы не поверите, но механическая память разная у людей.. Кому то легко и удобно, для кого лютая жесть

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

Кто поумнее — тому легче, а кто поглупее — тому сложнее. Правильно уловил вашу мысль?

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

Как может быть удобным задраивать кучу сочетаний клавиш, причем отличных от большинства других приложений? Про команды вообще молчу... За один только :q создатель этого убогого дерьма должен быть проклят😂

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

Сложно выучить 10 основных клавиш? Да уж, не думал, что это настолько тяжело

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

У меня коллега-джавист на работе на нём сидел года два, в итоге сдался и пересел на идею.

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

Ну для джавы наверно только IDE и подойдет

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

Мышь изобрели лет 30 назад. Её проще освоить чем долбанный вим

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

В начале статьи читщит который можно выучить буквально за 5 минут

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

Оооо, опять эта секта свидетелей вима. Я думал, они уже вымерли.

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

Все ещё живы)

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

Свою клаву отправил?

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

Любой пост о сравнении инструментов разработки говорит о том, у кого-то дофига времени на написание постов, а не написание кода.

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

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

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

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

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

Ну, у кого как

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

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

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

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

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

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

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

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