Vim:复制当前行及其上方的所有行

4
我经常使用Nyy命令来复制当前行及以下的N-1行,例如3yy可以复制当前行和下面2行(总共3行)。我知道如何复制当前行上方的N行(yNk),但这不包括当前行。我想要的是复制当前行和上面的N-1行。有没有办法实现这个需求(最好还包含yy命令)?注意:yNk命令已包含当前行,可能有些人会忽略此点。

1
我实际上是指 Nyy。抱歉,我的错误。我编辑了我的问题。在vim中打字已经如此自动化,以至于我忘记了实际的命令。:D - Torsten Engelbrecht
类似的帖子?https://dev59.com/q2035IYBdhLWcg3wYO11#5460995 - Peter Rincker
1个回答

10
以下命令将复制当前行及其上面两行:
2yk

显然,更改2将改变上面提取的行数。没有数字隐含地使用1,因此yk等同于1yk


3
如果你相信阴谋论,那么“Y2K”问题可能会引起你的注意。 - Conner
2
相对于我来说,反向顺序更自然:yky1ky2k等。遵循<command> <movement>的一般模式。 - ephemient
在我的原始问题中犯了一个错误,已经进行了编辑。尽管你的答案对我来说已经足够了。谢谢 @kev/@ephemient y2k 只会拉取当前行上面的两行,但不包括当前行。如果有办法只用 yy 来完成这个操作,那就太棒了。:D - Torsten Engelbrecht
1
@Torsten...你在测试这些吗?y2k肯定会拉取当前行和上面两行。 - Conner
抱歉,我不应该在线测试它。代码块看起来太相似了,所以我认为它们没有问题。 - Torsten Engelbrecht

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接