tvi: _, +, and | motions - neatvi - [fork] simple vi-type editor with UTF-8 sup… | |
git clone git://src.adamsgaard.dk/neatvi | |
Log | |
Files | |
Refs | |
README | |
--- | |
commit 1f17a310ce1b7e9b2ce95245e2ba8e4f39843478 | |
parent 0b878c42f286e746c004dbd23127ed0fda2bf553 | |
Author: Ali Gholami Rudi <[email protected]> | |
Date: Sun, 3 May 2015 19:40:10 +0430 | |
vi: _, +, and | motions | |
Diffstat: | |
M vi.c | 9 ++++++++- | |
1 file changed, 8 insertions(+), 1 deletion(-) | |
--- | |
diff --git a/vi.c b/vi.c | |
t@@ -170,11 +170,15 @@ static int vi_motionln(int *row, int cmd, int pre1, int … | |
int mark; | |
switch (c) { | |
case '\n': | |
+ case '+': | |
*row = MIN(*row + pre, lbuf_len(xb) - 1); | |
break; | |
case '-': | |
*row = MAX(*row - pre, 0); | |
break; | |
+ case '_': | |
+ *row = MIN(*row + pre - 1, lbuf_len(xb) - 1); | |
+ break; | |
case '\'': | |
if ((mark = vi_read()) > 0 && (isalpha(mark) || mark == '\'')) | |
if (lbuf_markpos(xb, mark) >= 0) | |
t@@ -352,6 +356,9 @@ static int vi_motion(int *row, int *col, int pre1, int pre… | |
lbuf_eol(xb, row, col, +1); | |
lbuf_lnnext(xb, row, col, -1); | |
break; | |
+ case '|': | |
+ *col = pre - 1; | |
+ break; | |
case 127: | |
case TERMCTRL('h'): | |
*col = ren_cursor(ln, *col); | |
t@@ -421,7 +428,7 @@ static void vc_motion(int c, int pre1) | |
lbuf_eol(xb, &r1, &c1, -1); | |
lbuf_eol(xb, &r2, &c2, +1); | |
} else if ((mv = vi_motion(&r2, &c2, pre1, pre2))) { | |
- if (strchr("^0bBhlwW ", mv)) | |
+ if (!strchr("fFtTeE$", mv)) | |
closed = 0; | |
} else { | |
return; |