Um problema que vejo é que noremap
mapeia o valor do lado esquerdo para o valor do lado direito sem remapear . Basicamente, o lado direito é sempre considerado apenas como mapeamentos internos.
Você pode usar map
em vez de noremap
ou pode usar os mapeamentos originais no lado esquerdo. Isso parece funcionar bem para mim:
noremap <C-S-d> y0O<ESC>pjly$kgp'[
Por acaso, aqui está como eu duplico linhas, só assim você pode ter uma abordagem diferente para pensar:
nnoremap zj mz"yyy"yP'z
nnoremap zk mz"yyy"yP'zk
Os passos para a duplicação são:
- Salve a posição atual na marca
z
commz
- Copie a linha para o
y
register com"yyy
- Cole a linha acima com
"yP
- Ir para a posição original com
'z
Para mim, isso mantém a posição do cursor no lugar certo.