Vim 如何复制光标上方的行?

Vim 如何复制光标上方的行?,vim,copy,Vim,Copy,这里是示例文本文件,光标位于第4行 要在当前状态——正常模式下输入2yy test4 test5 光标下方的上述两行已复制。 如何在光标上方而不是下方复制两行 test3 test4 输入1k和2yy可以得到它,还有其他方法吗? -2yy和2yy都不能工作。注释中提到的组合键可以工作。如果需要,还可以将以下映射添加到启动选项中,然后使用2Y复制当前行和上面的行,而不移动光标 function! CopyLinesAbove(count) cal setreg('"',join(getl

这里是示例文本文件,光标位于第4行

要在当前状态——正常模式下输入2yy

test4
test5
光标下方的上述两行已复制。
如何在光标上方而不是下方复制两行

test3
test4
输入1k和2yy可以得到它,还有其他方法吗?

-2yy和2yy都不能工作。

注释中提到的组合键可以工作。如果需要,还可以将以下映射添加到启动选项中,然后使用
2Y
复制当前行和上面的行,而不移动光标

function! CopyLinesAbove(count)
  cal setreg('"',join(getline(line('.') - a:count + 1,line('.') + 1),"\n")."\n")
endfunction

command! -nargs=1 CopyLinesAboveCmd call CopyLinesAbove(<args>)
map Y :<C-U>CopyLinesAboveCmd(v:count)<CR>
函数!CopyLinesAbove(计数)
cal setreg(“”,join(getline(line(“.”)a:count+1,line(“.”)+1),“\n”)。“\n”)
端功能
命令!-nargs=1 CopyLinesAboveCmd调用CopyLinesAbove()
映射Y:CopyLinesAboveCmd(v:count)

Vky
工作,仅仅因为它处于行块模式。
y1k
工作,但是
Vky
背后的逻辑对我来说似乎更简单。

我本可以做
v2ky
y1k
似乎工作得很好,我只能想到一个近似值,这可能会帮助其他人想出一个解决方案。定义时ing
:map Y HV''Y
>`您可以输入
3Y
从屏幕上显示的第三行复制到光标行的末尾。我想知道是否还有一种方法可以创建一个映射,该映射允许对上面复制的行数进行计数,并跳回到正确的行和列。