在 Vim 中,是否可以确定视觉选择的方向?

4
在Vim中,我想要选择一些文本行,并将其注释后的副本粘贴到原始选择的上方或下方,具体取决于该视觉选择是向上还是向下创建的。因此,如果我在第100行开始可视模式,然后将光标向上移动10行,那么这将是一个向上的可视选择,而如果我从第100行开始并向下移动光标10行,则为向下选择。 无论哪种情况,line("'<")line("'>")都相同,因此看起来Vim总是选择较小的数字作为选择开始。是否有一种方法确定视觉选择是向上还是向下?
2个回答

2

当您通过<Esc>退出可视模式时(在您的映射/命令中),您可以将光标的位置/行(line('.'))与'<'>标记进行比较。然后只需使用这些标记(即使离开可视模式,它们仍保留其值),或通过:normal! gv重新选择。


0

在开始选择之前,您可以放置一个标记,在离开选择时再放置另一个标记:

ma
V
jjj
<Esc>
mb

然后看看 line("'a") < line("'b") 是否成立。


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