Одна проблема, которую я вижу, состоит в том, что noremap
сопоставляет значение левой части со значением правой части без переназначения . По сути, правая часть всегда рассматривается как просто встроенные отображения.
Вы можете использовать map
вместо noremap
, или вы могли бы использовать оригинальные сопоставления в левой части. Это, кажется, работает нормально для меня:
noremap <C-S-d> y0O<ESC>pjly$kgp`[
Кстати, вот как я дублирую строки, чтобы вы могли думать по-другому:
nnoremap zj mz"yyy"yP`z nnoremap zk mz"yyy"yP`zk
Шаги для дублирования:
- Сохранить текущую позицию в
z
метке с помощьюmz
- Скопируйте строку в
y
реестр с"yyy
- Вставьте строку выше с
"yP
- Перейти в исходное положение с
`z
Для меня это держит позицию курсора в нужном месте.