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

Два режима

Редактор vi очень мощный инструмент и содержит очень обширное встроенное руководство, которое можно открыть используя команду :help, когда программа запущена (вместо использования man или info, которые не содержат так много информации). Здесь мы обсудим только самые основы, чтобы вы смогли начать.

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

Все это означает, что у каждой клавиши есть не одно, а, вероятно, два значения: она может либо представлять команду для редактора в командном режиме, или символ, который вам требуется в тексте в режиме вставки.

note.gif Произношение. 
Это произносится как "vee-eye".

Основные команды

Перемещение по тексту

Обычно перемещение по тексту возможно с помощью клавиш навигации. Если нет, попробуйте:

  • h для перемещения курсора влево
  • i для его перемещения в право
  • k для движения вверх
  • j для движения вниз

Shift-G быстро переместить в конец документа.

Основные операции

Вот наиболее используемые команды vi:

  • n dd удалит n линий, начиная с текущей позиции курсора.
  • n dw удалит n слов с правой стороны от курсора.
  • x удалит символ, на котором стоит курсор
  • :n переход к линии n файла.
  • :w сохранит (запишет) файл.
  • :q осуществит выход из редактора.
  • :q! принудительный выход, когда требуется выйти из файла, содержащего несохраненные изменения.
  • :wq сохранение и выход.
  • :w newfile сохранение текста в newfile.
  • :wq! переопределяет разрешение «только для чтения» (если у вас есть разрешение на переопределение разрешений, например, когда вы используете учетную запись root).
  • /astring будет искать строку в файле и установит курсор на первое соответствие ниже его позиции.
  • / будет выполнять тот же поиск снова, перемещения курсор к следующему соответствию.
  • :1, $s/word/anotherword/g заменит word на anotherword во всём файле.
  • yy скопирует блок текста.
  • n p вставит его n раз.
  • :recover восстановит файл после внезапного сбоя.

Команды, которые переключаются редактор в режим вставки

  • a добавление: перемещает курсор на одну позицию вправо перед включением режима вставки.
  • i вставка.
  • o вставка пустой строки под текущей позицией курсора и перемещение курсора в эту строку.

Нажатие клавиши Esc переключает обратно в командный режим. Если вы не уверены, в каком режиме находитесь по причине использования очень старой версии, где vi не отображает сообщение "INSERT", нажмите Esc, и вы будете уверены, что вернулись в командный режим. Вполне возможно, если вы уже находитесь в командном режиме, система даст небольшое предупреждение при нажатии Esc с помощью звукового сигнала или визуально (вспышка на экране). Это нормальное поведение.

Простой способ

Вместо чтения текста, что довольно скучно, вы можете использовать vimtutor для изучения ваших первых команд Vim. Это тридцати минутный учебник, который рассказывает о самой основной функциональности Vim в восьми простых упражнениях. Хотя вы и не узнаете все о Vim за полчаса, это руководство предоставит описание достаточного количества команд, после чего вы сможете с легкостью использовать Vim в качестве универсального редактора.

В UNIX и MS Windows, если Vim был правильно установлен, вы можете запустить эту программу из shell или командой строки, введя команду vimtutor. Это создаст копию файла учебника, так что вы можете редактировать его без риска повреждения оригинала. Есть несколько версий перевода руководства. Чтобы узнать, доступен ли ваш язык, используйте двухбуквенный код языка. Для французского это будет vimtutor fr (если он установлен в системе).

Создано