3

我需要的是拉出当前行和它上面的行。

例如,在以下示例中:

3   My test line
4   Line above current line
5   My current line |(cursor)
6   Line below current line

当光标位于第 5 行时,如何拉出第 5 行和第 4 行?

4

3 回答 3

9

yk应该这样做,就像在 Yank 中向上一行的方向一样,因为y将接受下一个击键作为一个动作,并且k单独表示向上一行的动作。

如果您需要光标返回其原始位置,只需添加一个jas ykj。您可能会看到光标在屏幕上不雅地移动,但它完成了工作。

于 2012-08-23T19:55:46.943 回答
7

对于这个简单yk的案例,可以解决问题。这是 yank 后跟上一行的动作。

通常,使用yNk, 例如y3k拉出当前行和前 3 行。

如果需要在 yank 之后返回光标位置,设置一个标记并返回到 之后的标记yk

mmyk`m

如果您只需要保持在开始拉动的同一行,则光标位置ykj一样,会更短。

于 2012-08-23T19:55:57.367 回答
3

除了其他答案中已经提到的普通模式命令外,还可以:yank在相应的行范围内使用 Ex 命令。例如,要复制当前行及其上方的行(不移动光标)运行

:-,y
于 2012-08-24T02:43:17.947 回答