我正在尝试创建一个脚本,允许我选择几行并在其周围创建一个 virtualedit 块;最长行之后的 1 列。
这是我的代码
function! VirtualEdit()
let EndLine = line("'>")
set virtualedit = all
let maxlength = max(map(range(line("'<"), line("'>")), "virtcol([v:val, '$'])"))-1
call cursor(1,maxlength+1)
normal "^Q".EndLine."jc<space><ESC>"
set virtualedit = ''
endfunction
它必须做的是
1) 控制我的选择中最长的线 (maxlength)。
2)将光标放在选择中的第一行最长行+1列的列。
3)比激活可视块选择(在我的windows pc上,命令是CQ)
4)将可视块扩展到选择的最后一行(我的pc上用于向下移动的命令=“j”)。
5)然后使用“c”键插入一个“空格”字符并使用ESC退出插入模式,以便用空格填充虚拟块列。
但是我不知道如何在普通命令中使用变量(Endline)。
我还注意到,在我上面的示例中,密钥作为并且不起作用。
我做错了什么?