diff -ru a/src/ui_utils.c b/src/ui_utils.c --- a/src/ui_utils.c 2019-02-23 01:10:38.170947606 +0300 +++ b/src/ui_utils.c 2019-02-23 01:14:20.796094359 +0300 @@ -243,6 +243,23 @@ sci_get_lines_selected(doc->editor->sci) - 1); break; } + case 'v' : + /* Vertical distance between selection anchor and caret. */ + g_string_append_printf(stats_str, "%*d", w, + abs(sci_get_line_from_position(sci, sci_get_selection_start(sci)) - + sci_get_line_from_position(sci, sci_get_selection_end(sci)))); + break; + case 'h' : + { + /* Horizontal distance between selection anchor and caret. */ + gint m = sci_get_main_selection(sci); + g_string_append_printf(stats_str, "%*d", w, + abs(sci_get_col_from_position(sci, sci_get_selection_n_anchor(sci, m)) + + sci_get_selection_n_anchor_virtual_space(sci, m) + - sci_get_col_from_position(sci, sci_get_selection_n_caret(sci, m)) + - sci_get_selection_n_caret_virtual_space(sci, m))); + break; + } case 'n' : g_string_append_printf(stats_str, "%*d", w, sci_get_selected_text_length(doc->editor->sci) - 1);