case KEY_PPAGE:
case KEY_SLEFT:
case 'I':
+ skip = GETSKIP (skip, sskip);
+ sskip = -1;
for (i = 0; i < 3 * win->ysize / 4; i++) {
if (skip > 0) {
skip--;
case KEY_NPAGE:
case KEY_SRIGHT:
case 'K':
+ skip = GETSKIP (skip, sskip);
+ sskip = -1;
for (i = 0; i < 3 * win->ysize / 4; i++) {
if (skip + win->ysize < len) {
skip++;
break;
case 'i':
case KEY_UP:
+ skip = GETSKIP (skip, sskip);
+ sskip = -1;
if (skip > 0) {
skip--;
}
break;
case 'k':
case KEY_DOWN:
+ skip = GETSKIP (skip, sskip);
+ sskip = -1;
if (skip + win->ysize < len) {
skip++;
}
mode = (mode) ? 0 : 1;
break;
case 'n':
- sskip = _find (lines, len, GETSKIP (skip, sskip) + 1, search);
- if (sskip == -1) {
- sskip = _find (lines, len, 0, search);
+ if (search) {
+ sskip = _find (lines, len, GETSKIP (skip, sskip) + 1, search);
+ if (sskip == -1) {
+ sskip = _find (lines, len, 0, search);
+ }
}
break;
}