Результат нажатия P
и p
зависит от того, что у вас есть в выбранном регистре на тот момент. Если вы удалите или восстановите одну или несколько целых строк (например, с помощью команд dd
, Y
или Vd
), то нажатие P
вставит содержимое вашего регистра в строку над текущая строка, тогда как p
будет вставлена в строку под курсором.
Если вы удалите или восстановите фрагмент текста, длина которого меньше строки (например, с помощью команд D
или yw
), тогда P
вставит содержимое вашего регистра непосредственно перед текущей позицией курсора, и p
будет вставлен сразу после курсора (т.е. на той же строке).
Если это поможет, вы можете считать, что выбор линии аналогичен block html-элементам (например, <div>
), а символьный выбор - аналогу inline html-элементов (например, span
).
Итак, чтобы ответить на ваш вопрос: это зависит. Предположим, что у вас есть раздел текста в реестре, вам нужно разбить целевой тег на две строки перед выполнением операции вставки. В вашем примере вместо dit
для удаления содержимого тега выполните cit
, чтобы удалить тот же раздел и перейти в режим вставки. Нажмите return
один раз, чтобы вставить новую строку, затем esc
, чтобы вернуться в обычный режим, затем P
, чтобы вставить свой регистр линий над строкой с закрывающим тегом.
Если вы не хотите разбивать тег на несколько строк, вам нужно будет убедиться, что вы вставили символьный выбор в регистр. Тогда вы можете запустить:
"_ditP
"_
удаляет текст в регистр черная дыра , гарантируя, что он не перезаписывает то, что находится в вашем регистре по умолчанию. dit
удаляет содержимое тега, а P
вставляет содержимое вашего регистра по умолчанию перед позицией курсора.