vi: 'G'/'M' commands move to first visible character
The 'G' command with no target (meaning 'go to last line') should position the cursor on the first visible character of the line, as it already does in other cases. The 'M' command should position the cursor on the first visible character (as 'H' and 'L' already do). function old new delta do_cmd 4842 4853 +11 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/0 up/down: 11/0) Total: 11 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
5ae25f40bd
commit
18871c3f2b
@ -3596,6 +3596,7 @@ static void do_cmd(int c)
|
|||||||
if (cmdcnt > 0) {
|
if (cmdcnt > 0) {
|
||||||
dot = find_line(cmdcnt); // what line is #cmdcnt
|
dot = find_line(cmdcnt); // what line is #cmdcnt
|
||||||
}
|
}
|
||||||
|
dot_begin();
|
||||||
dot_skip_over_ws();
|
dot_skip_over_ws();
|
||||||
break;
|
break;
|
||||||
case 'H': // H- goto top line on screen
|
case 'H': // H- goto top line on screen
|
||||||
@ -3652,6 +3653,7 @@ static void do_cmd(int c)
|
|||||||
dot = screenbegin;
|
dot = screenbegin;
|
||||||
for (cnt = 0; cnt < (rows-1) / 2; cnt++)
|
for (cnt = 0; cnt < (rows-1) / 2; cnt++)
|
||||||
dot = next_line(dot);
|
dot = next_line(dot);
|
||||||
|
dot_skip_over_ws();
|
||||||
break;
|
break;
|
||||||
case 'O': // O- open a empty line above
|
case 'O': // O- open a empty line above
|
||||||
// 0i\n ESC -i
|
// 0i\n ESC -i
|
||||||
|
Loading…
Reference in New Issue
Block a user