class Reline::LineEditor
def vi_replace_char(key, arg: 1)
def vi_replace_char(key, arg: 1) ng_proc = ->(k) { rg == 1 te_size = Reline::Unicode.get_next_mbchar_size(@line, @byte_pointer) fore = @line.byteslice(0, @byte_pointer) maining_point = @byte_pointer + byte_size ter = @line.byteslice(remaining_point, @line.bytesize - remaining_point) ine = before + k.chr + after ursor_max = calculate_width(@line) aiting_proc = nil f arg > 1 te_size = 0 g.times do byte_size += Reline::Unicode.get_next_mbchar_size(@line, @byte_pointer + byte_size) d fore = @line.byteslice(0, @byte_pointer) maining_point = @byte_pointer + byte_size ter = @line.byteslice(remaining_point, @line.bytesize - remaining_point) placed = k.chr * arg ine = before + replaced + after yte_pointer += replaced.bytesize ursor += calculate_width(replaced) ursor_max = calculate_width(@line) aiting_proc = nil