7. Редактирование в Vim

Редактирование текста в Vim — это мощная функция, основанная на комбинировании операторов и движений из Нормального режима. Этот подход позволяет эффективно удалять, изменять, копировать (yank) и вставлять (put) текст. Прежде чем выполнять какие-либо команды, нажмите Esc, чтобы убедиться, что вы находитесь в Нормальном режиме.

Понимание операторов и движений Vim

Основа редактирования в Vim — это формула: оператор + движение. Оператор — это действие (например, d для удаления), а движение — это перемещение (например, w для слова). Например, dw объединяет оператор удаления с движением "слово", чтобы удалить слово. Вы также можете использовать счетчики для повторения действия, например, 2dw для удаления двух слов.

Удаление текста в Vim

Оператор удаления — d. Это одна из самых распространенных команд Vim для манипулирования текстом.

  • x – Удаляет символ непосредственно под курсором.
  • dw – Удаляет от курсора до начала следующего слова.
  • d$ – Удаляет от курсора до конца текущей строки.
  • dd – Команда dd удаляет всю текущую строку.
  • 3dd – Удаляет три строки, начиная с текущей.

Изменение текста

Оператор изменения, c, работает аналогично удалению, но переводит вас в режим вставки после выполнения действия. Это полезно для замены текста.

  • cw – Изменяет текст от курсора до конца слова.
  • c$ – Изменяет текст от курсора до конца строки.
  • cc – Изменяет всю текущую строку.

Копирование и вставка в Vim

В Vim копирование называется "янкингом" (оператор y), а вставка — "постингом".

  • yw – Янкирует (копирует) слово.
  • yy – Янкирует всю текущую строку.
  • p – Помещает (вставляет) скопированный текст после курсора или в следующей строке.
  • P – Помещает текст перед курсором или в предыдущей строке.

Другие полезные команды редактирования

Это руководство по Vim было бы неполным без нескольких других полезных команд.

  • r{char} – Заменяет одиночный символ под курсором на указанный символ.
  • R – Переходит в режим замены, позволяя перезаписывать текст непрерывно, пока вы не нажмете Esc.
  • J – Объединяет текущую строку со следующей.
  • . – Повторяет последнее выполненное вами изменение, очень мощная и эффективная команда.

Объединение операторов с различными движениями раскрывает весь потенциал этого текстового редактора Linux. Например, d} удаляет до следующего абзаца, а caw изменяет "слово" (слово под курсором, включая окружающие пробелы).

Войдите, чтобы сохранить ваш прогресс обучения

Вход

Упражнения

Чтобы применить полученные знания на практике, мы рекомендуем следующую практическую лабораторную работу. Она поможет вам освоить основные команды редактирования, рассмотренные в этом учебном пособии по Vim.

  1. Редактирование текстовых файлов в Linux с помощью Vim и Nano - Практикуйтесь в создании файлов, редактировании текста, сохранении файлов и навигации как с помощью vi/vim, так и nano. Эта лаборатория поможет вам применить такие концепции, как удаление, изменение, янкинг и постинг текста, в реальных сценариях.

Тест

Какая команда удаляет текущую строку в Vim? (Пожалуйста, отвечайте на английском языке, обращая внимание на регистр).