pub fn cursor_wrapped_line(s: &str, cursor_pos: usize, col_width: usize) -> u16
计算光标在指定列宽下 wrap 后所在的行号(0-based)