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

Ali*_*cia 0 vim

鉴于Vim中的以下文本:

ab
cde
Run Code Online (Sandbox Code Playgroud)

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

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

Ali*_*cia 5

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

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

call setpos("'<", [0, 1, 3, 0])
call setpos("'>", [0, 2, 4, 0])
normal! gv
Run Code Online (Sandbox Code Playgroud)