Что здесь происходит, так это то, что регистр, из которого вы вставляете, не символьный, а, вероятно, аналогичный. Вы, вероятно, вставили текст с yy
или Vy
или dd
или Vd
. Это функция, которая позволяет вам, например, использовать ddp
для замены двух строк.
Если вы хотите превратить регистр в регистр линии, вы можете сделать:
:call setreg('"', @", 'c')
затем P
или p
вставят то, что вы вставили символьно.
Конечно, если вы вставляете в другой регистр (например, "ap
), вам придется изменить первый и второй аргументы на setreg
.
Другой способ скопировать строки: если вы хотите вырвать строку символьно, включая символ новой строки, вы можете сделать 0y$
.
Ссылки:
:help setreg()
:help linewise-register