vim9script const Sep = "₀◎○ë" # something that won't be met anywhere export def Do(first: number, last: number, sep: string) var in: list for n in range(first, last) in = add(in, substitute(getline(n), sep, "\t" .. Sep, "g")) endfor var out = systemlist("column -t -s \"\t\"", add(in, "")) for n in range(first, last) setline(n, substitute(out[n - first], " " .. Sep, escape(sep, "&"), "g")) endfor enddef