鉴于Vim中的以下文字:
ab
cde
两个位置,如从(第1行,第3列)到(第2行,第4列),如何在Vimscript中进行涵盖它们的视觉选择,包括两端?
注意(第1行,第3栏)是指在 b
之后的位置,通常在正常模式下无法选择。
答案 0 :(得分:5)
视觉选择范围存储在<
和>
标记中。正常模式下的gv
告诉vim使用<
和>
标记进入可视模式。
您可以使用setpos()
设置给定位置的标记。它需要标记和列表(缓冲区编号,行,列,偏移量)。 offset 仅用于:virtualedit
。可以使用数字0选择当前缓冲区。
call setpos("'<", [0, 1, 3, 0])
call setpos("'>", [0, 2, 4, 0])
normal! gv