[git commit] vi: 'G'/'M' commands move to first visible character
Denys Vlasenko
vda.linux at googlemail.com
Mon Mar 29 10:16:21 UTC 2021
commit: https://git.busybox.net/busybox/commit/?id=18871c3f2b96e76269f5c5e4bbf102808b69bd42
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master
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 at pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
editors/vi.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/editors/vi.c b/editors/vi.c
index 47b13b3ca..f4da38071 100644
--- a/editors/vi.c
+++ b/editors/vi.c
@@ -3596,6 +3596,7 @@ static void do_cmd(int c)
if (cmdcnt > 0) {
dot = find_line(cmdcnt); // what line is #cmdcnt
}
+ dot_begin();
dot_skip_over_ws();
break;
case 'H': // H- goto top line on screen
@@ -3652,6 +3653,7 @@ static void do_cmd(int c)
dot = screenbegin;
for (cnt = 0; cnt < (rows-1) / 2; cnt++)
dot = next_line(dot);
+ dot_skip_over_ws();
break;
case 'O': // O- open a empty line above
// 0i\n ESC -i
More information about the busybox-cvs
mailing list