Редактирование текста в 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 изменяет "слово" (слово под курсором, включая окружающие пробелы).