在Vim中,我想在视觉上选择一些线条,然后在原始选择的上方或下方粘贴已注释掉的选项的副本,具体取决于视觉选择是向上还是向下创建。因此,如果我在第100行开始视觉模式并将光标向上移动10行,那将是向上的视觉选择,而如果我从第100行开始并将光标向下移动10行,那么它将是向下选择。 line("'<")
和line("'>")
在两种情况下都是相同的,因此看起来Vim总是选择较小的数字作为选择开始。有没有办法确定视觉选择是向上还是向下?
答案 0 :(得分:2)
当您(在您的映射/命令中)首先通过<Esc>
退出可视模式时,您可以将光标的位置/行(line('.')
)与'<
和{{进行比较1}}标记。然后只使用标记(即使在保留可视模式时也保留其值),或通过'>
重新选择。
答案 1 :(得分:0)
您可以在开始选择前添加标记,在离开选择时添加另一个标记:
ma
V
jjj
<Esc>
mb
然后查看是否line("'a") < line("'b")
。