Vim: текстовый редактор для мастеров
easy

Vim: текстовый редактор для мастеров

Очень сложная штука, но мы попытаемся объяснить просто.

Вы могли слышать программистские анекдоты типа «Не могу выйти из Vim». На «Амазоне» продаётся электронная книга о выходе из текстового редактора Vim. Одни программисты искренне не понимают, как можно работать в такой страшной среде. А для других это любимый текстовый редактор — настолько любимый, что они тащат его команды и плагины в другие текстовые редакторы, например, в VSCode. 

Сейчас попробуем разложить по полочкам, что это за зверь и почему вокруг него такой культ.

Что такое Vim

Vim — это специализированный текстовый редактор для программистов. Он предназначен для работы с большими объёмами кода без использования мыши.

Главная особенность Vim — два режима: режим написания текста и режим команд. В первом режиме вы как обычно пишете код, а во втором молниеносно управляете им. Режимы работают параллельно друг другу и меняются по нажатию клавиш. 

Главная сила — в огромном количестве клавиатурных команд, которые помогают быстро редактировать текст. Например: 

dd — удалить строку, на которой вы сейчас стоите;

10dd — удалить сколько-то строк, в этом случае 10;

cw — заменить слово на другое;

w, b — курсор вперёд или назад на одно слово;

A — дописать текст в конец строки;

I — Начать вписывать текст в начало строки;

U — вернуть изменения в строке (например, если случайно стёр);

: 10,25 w temp — сохранить кусок документа в файл temp. Конкретно здесь сохранится кусок с 10-й по 25-ю строку.

И таких команд несколько десятков. Всё построено вокруг того, чтобы делать все текстовые дела молниеносно и принципиально без участия мыши.

Команды Vim, разложенные на клавиатуре
Команды Vim, разложенные на клавиатуре

🤔 Зачем редактировать текст без мыши?

У мыши один курсор, которым нужно целиться в мелкие объекты на экране. А пальцев на руках десять, и ими никуда целиться не надо (при должной сноровке). Если у вас выработана мышечная память и вы знаете горячие клавиши (или команды Vim), вы будете редактировать текст быстрее, чем при использовании мыши.  

Посмотрите, как удаляет строку среднестатистический пользователь:

  1. Он отрывает одну руку от клавиатуры. 
  2. Берётся за мышку. 
  3. Выделяет мышкой ненужную строку. 
  4. Нажимает свободной рукой клавишу удаления. 
  5. Возвращает обе руки в исходное положение на клавиатуру. 

А так это же действие выполнит пользователь Vim: 

  1. Он жмёт «esc», чтобы перейти в режим команд.
  2. C помощью навигационных клавиш j и k находит нужную строку.
  3. Пишет команду dd — удаление строки.
  4. Жмёт i, чтобы вернуться к редактированию текста.

Пользователь Vim убирает руки с клавиатуры, только чтобы поесть или почесать репу. Всё остальное время он короткими командами обрабатывает текст в несколько раз быстрее, чем любой человек с мышью.

После привыкания работа в Vim сравнима с игрой на гитаре: вы управляете текстом, будто он продолжение вашей руки. Фильмы про хакеров видели? Вот такой эффект. 

Кому подходит

Vim считается нестандартным инструментом со множеством недостатков: 

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

Vim однозначно не подходит руководителям и тем разработчикам, которые большую часть времени занимаются организационными задачами и мало кодят —   не получится быстро редактировать код, если постоянно не тренироваться.  

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

Если вас не испугали перечисленные недостатки и ваша работа связана с постоянным кодингом, то Vim может стать вашим незаменимым помощником.

Комментарий типичного вимера
Комментарий типичного вимера. Если узнали себя — однозначно стоит попробовать. Источник

Как установить

Перейдите на сайт vim.org и поставьте подходящую версию Vim на компьютер. Десктопный редактор — это полигон для тренировок. Здесь вы можете запустить тестовый проект или начать писать текстовые заметки. Основная задача: привыкнуть к новому сочетанию клавиш, научиться быстро переключаться между режимами и перестать пользоваться мышкой с трекпадом. 

После установки перейдите в раздел «Справка» и выберите вкладу «Учебник Vim» — это интерактивная обучающая программа и минимум, необходимый для работы с редактором. Учебник состоит из семи уроков, по ходу которых вы познакомитесь с основными командами и сможете медленно обрабатывать код. Чтобы постоянно не возвращаться к учебнику — рекомендуем установить на рабочий стол фирменные обои или распечатать шпаргалку с командами Vim. Когда выучите команды и сможете ими пользоваться без шпаргалок — переходите на следующий этап и попробуйте использовать Vim на реальном проекте.

Стартовая страница учебника Vim
Стартовая страница учебника Vim. Учебник можно вызвать через «Справку» или команду vimtutor. Во время тестов мы скачали несколько версий редактора, и команда vimtutor срабатывала не всегда. Поэтому рекомендуем пользоваться «Справкой» — она надёжней

Добавление Vim в VS Code

Vim поддерживает множество плагинов, которые после установки позволяют превратить старый редактор в аналог современной среды разработки. На наш взгляд, для новичка это не слишком удобно и лучше наоборот — установить Vim в современную среду разработки вроде VS Code. 

Откройте VS Code, в боковой панели нажмите на вкладку «Расширения» и вбейте в поиск «Vim» — вам нужно установить плагин vscodevim.vim. Теперь откройте любой файл и попробуйте что-то напечатать — в VS Code должны работать все команды Vim: вы можете в скоростном режиме создавать и редактировать код. Если что-то не работает — перезагрузите программу и попробуйте ещё раз.

Расширение vscodevim.vim для VS Code
Расширение vscodevim.vim для VS Code

Как стать продвинутым вимером 

1. Изучите русскоязычную документацию и попробуйте команды, которые могут пригодиться в работе. Если что-то не понимаете или считаете какие-то команды лишними — не тратьте на них время. Vim необъятен, и большинство его возможностей вам не понадобятся — они нужны для специфичных задач. 

2. Прочтите список рекомендованной литературы. Во время чтения помните, что лучше всего материал усваивается в том случае, если подкрепить его практикой. 

3. Выберите плагины для индивидуальной настройки редактора. Это для тех, кому десктопная версия Vim понравилась больше плагина в VS Code. 

4. Присмотритесь к эргономичным клавиатурам с настраиваемым расположением клавиш. Возможно, какая-то из них поможет быстрее освоить возможности Vim. 

Текст:

Саша Бабаскин

Корректор:

Ира Михеева

Иллюстратор:

Даня Берковский

Вёрстка:

Маша Дронова

Соцсети:

Олег Вешкурцев

Как выйти из Vim:

:х или :q! и Enter

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
Асимметричное шифрование
Асимметричное шифрование

Сложное, но очень полезное.

medium
Как отправить JSON-данные на сервер
Как отправить JSON-данные на сервер

Первый шаг на пути к облачному хранению данных.

medium
За что все любят Python

И стоит ли вам его учить.

easy
Как русские хакеры взломали Clubhouse
Как русские хакеры взломали Clubhouse

Краткий конспект подкаста

easy
Почему второй язык программирования выучить проще, чем первый?
Почему второй язык программирования выучить проще, чем первый?

Секрет — в знании алгоритмов, а не синтаксиса

easy
Как пройти собеседование в ИТ-компанию
Как пройти собеседование в ИТ-компанию

Советы джунам, которые боятся отказа.

easy
«Никому не нужны высокомерные гении»
«Никому не нужны высокомерные гении»

ИТ-рекрутер об ошибках программистов на собеседовании.

easy
Что вышло интересного в «Коде» в 2023 году
Что вышло интересного в «Коде» в 2023 году

Бест оф зе бест

easy
Умные устройства Xiaomi перестали работать. Почему это произошло и что делать?
Умные устройства Xiaomi перестали работать. Почему это произошло и что делать?

Вы думаете, что сами управляете умными устройствами, но на самом деле это не так

easy
easy
[anycomment]
Exit mobile version