如何在两个(line,col)对中在vimscript中进行视觉选择?

时间:2014-05-23 20:06:34

标签: vim

鉴于Vim中的以下文字:

ab
cde

两个位置,如从(第1行,第3列)到(第2行,第4列),如何在Vimscript中进行涵盖它们的视觉选择,包括两端?

注意(第1行,第3栏)是指在 b之后的位置,通常在正常模式下无法选择。

1 个答案:

答案 0 :(得分:5)

视觉选择范围存储在<>标记中。正常模式下的gv告诉vim使用<>标记进入可视模式。

您可以使用setpos()设置给定位置的标记。它需要标记和列表(缓冲区编号,行,列,偏移量) offset 仅用于:virtualedit。可以使用数字0选择当前缓冲区。

call setpos("'<", [0, 1, 3, 0])
call setpos("'>", [0, 2, 4, 0])
normal! gv