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

时间:2012-09-10 15:45:50

标签: vim

在Vim中,我想在视觉上选择一些线条,然后在原始选择的上方或下方粘贴已注释掉的选项的副本,具体取决于视觉选择是向上还是向下创建。因此,如果我在第100行开始视觉模式并将光标向上移动10行,那将是向上的视觉选择,而如果我从第100行开始并将光标向下移动10行,那么它将是向下选择。 line("'<")line("'>")在两种情况下都是相同的,因此看起来Vim总是选择较小的数字作为选择开始。有没有办法确定视觉选择是向上还是向下?

2 个答案:

答案 0 :(得分:2)

当您(在您的映射/命令中)首先通过<Esc>退出可视模式时,您可以将光标的位置/行(line('.'))与'<和{{进行比较1}}标记。然后只使用标记(即使在保留可视模式时也保留其值),或通过'>重新选择。

答案 1 :(得分:0)

您可以在开始选择前添加标记,在离开选择时添加另一个标记:

ma
V
jjj
<Esc>
mb

然后查看是否line("'a") < line("'b")