Удаление текста
За удаление отвечает операцтор d. Он включает операцию удаления, которая позволит по моушену удалить нужный нам участок текста.

Чтобы откатить изменения вместо ctrl + z в Vim работает u. Сам же вим хранит все изменения, которые мы совершали в файле, поэтому можно откатываться даже до тех изменений, которые были до входа в файл
Чтобы вернуть отменённые изменения, нам нужно использовать ctrl + r
Основные комбинации
d- delete - удаляет текст и остается в нормальном режиме.c- correct - удаляет текст и переходит в режим Insert.
Работа с операторами и motion
dw- удалить слово.d2w- удалить два словаdd- удалить строку.d3d- удалить три строки внизdb- удалить назад до начала слова.de- удалить до конца слова.
Примеры комбинирования
d2w- удалить два слова.d$- удалить до конца строки.d10j- удалить 10 строк вниз.
Переходы в режим Insert
cw- удалить слово и сразу перейти в режим Insert.cb- удалить назад до начала слова и перейти в режим Insert.cc- удалит строку и перейдёт в режимinsert
Упрощенные операции удаления
- Используемые команды для удаления могут быть комбинированы с count (числом удаляемых объектов) и motion (движением курсора), что позволяет эффективно удалять большие участки текста.
inside и around
Так же вместо Count мы можем использовать специальные операторы, которые будут выполнять действия в рамках определённых границ либо только за ними
d– удалитьi (inside)– внутри границa (around)– вокруг границt– тег

Например, мандой diw мы можем выполнить действие внутри слова и удалить его целиком. То есть мы можем не переходить в его начало, а просто сделать действие удаления в самом слове. daw удалит и всё, что вокруг слова (пробелы).
di" - delete inside ” - удалит слово внутри кавычек "example" → ""
Команда dit - delete inside tag - удалит всё внутри тегов: <title>Школа разработки</title> → <title></title>
dt: - delete to : - удалит всё до :
di{ - delete inside { - удалит всё внутри фигурных кавычек
Мы можем вместо удаления скорректировать текст с помощью ci( для круглых скобок с последующим вводом нового значения
Копирование и вставка
Удаление текста и регистры
При удалении текста в Vim с помощью команды d (например, dd для удаления строки), текст автоматически попадает в регистр, который действует как временное хранилище или буфер обмена.
В зависимости от настроек, регистр может интегрироваться с буфером обмена нашей операционной системы.
Вставка текста:
Команда P / p вставляет текст из регистра ниже / выше текущей строки.
Эти команды помогают вернуть удаленный или скопированный текст в нужное место.

Если вырезана не вся строка, то P и p всталяют до/после курсора

Копирование текста:
Команда y копирует текст, аналогично удалению, но не удаляя его. Этот процесс в Vim называется “yanking”.
yy копирует всю строку.
Можно использовать комбинации, аналогичные удалению, для копирования отдельных частей текста (например, yi" для копирования текста внутри кавычек).

Модификаторы движения и копирование
Они работают аналогично тем, что используются при удалении:
ywкопирует слово.y$копирует текст до конца строки.yi<тег>копирует текст внутри HTML-тега.
Регистры
Проблема: мы скопировали одно значение, удалили другое, вставляем и получаем то, что у нас вставилось из регистра последнее значение в виде удалённого только что текста (скопировали Блог, удалили Курсы и вставили Курсы, хотя хотелось Блог)
Дело в том, что мы помещаем все скопированные и удалённые значения в дефолтный регистр

Просмотреть ВСЕ регистры (включая дефолтный) и их содержимое можно командой :registers
Type - говорит нам о типе данных, который присутствует в регистре (Character, Line, Block)
Name - имя регистра
Content - контент регистра

Чтобы вставить и прочитать значение из именованного регистра, нужно перед началом команды записать индекс используемого регистра:
"2yiw- запишет слово во второй регистр"2p- вставит последнее значение из второго регистра
" - это префикс регистра
И такое использование вполне можно комбинировать с использованием дефолтного регистра, когда мы копируем одного, второе, третье, четвёртое слово в разные регистры и потом достаём значения из них по очереди.
Использование регистров
- Дефолтный и нулевой регистр всегда обновляются автоматически, используйте их для повседневных задач.
- Именованные регистры удобны для хранения полезного текста, который не должен быть перезаписан.