我需要的是拉出当前行和它上面的行。
例如,在以下示例中:
3 My test line
4 Line above current line
5 My current line |(cursor)
6 Line below current line
当光标位于第 5 行时,如何拉出第 5 行和第 4 行?
yk应该这样做,就像在 Yank 中向上一行的方向一样,因为y将接受下一个击键作为一个动作,并且k单独表示向上一行的动作。
如果您需要光标返回其原始位置,只需添加一个jas ykj。您可能会看到光标在屏幕上不雅地移动,但它完成了工作。
对于这个简单yk
的案例,可以解决问题。这是 yank 后跟上一行的动作。
通常,使用yNk
, 例如y3k
拉出当前行和前 3 行。
如果需要在 yank 之后返回光标位置,设置一个标记并返回到 之后的标记yk
:
mmyk`m
如果您只需要保持在开始拉动的同一行,则光标位置不ykj
一样,会更短。
除了其他答案中已经提到的普通模式命令外,还可以:yank
在相应的行范围内使用 Ex 命令。例如,要复制当前行及其上方的行(不移动光标)运行
:-,y