Merge branch 'feature/vim-like'
This commit is contained in:
39
main.c
39
main.c
@@ -1597,6 +1597,18 @@ DEFUN(pgBack, PREV_PAGE, "Move to previous page")
|
||||
* (Currentbuf->LINES - 1)), prec_num ? B_SCROLL : B_NORMAL);
|
||||
}
|
||||
|
||||
/* Move half page forward */
|
||||
DEFUN(hpgFore, NEXT_HALF_PAGE, "Scroll down half page")
|
||||
{
|
||||
nscroll(searchKeyNum() * (Currentbuf->LINES / 2 - 1), B_NORMAL);
|
||||
}
|
||||
|
||||
/* Move half page backward */
|
||||
DEFUN(hpgBack, PREV_HALF_PAGE, "Scroll up half page")
|
||||
{
|
||||
nscroll(-searchKeyNum() * (Currentbuf->LINES / 2 - 1), B_NORMAL);
|
||||
}
|
||||
|
||||
/* 1 line up */
|
||||
DEFUN(lup1, UP, "Scroll up one line")
|
||||
{
|
||||
@@ -3602,6 +3614,33 @@ DEFUN(lastA, LINK_END, "Go to the last link")
|
||||
displayBuffer(Currentbuf, B_NORMAL);
|
||||
}
|
||||
|
||||
/* go to the nth anchor */
|
||||
DEFUN(nthA, LINK_N, "Go to the nth link")
|
||||
{
|
||||
HmarkerList *hl = Currentbuf->hmarklist;
|
||||
BufferPoint *po;
|
||||
Anchor *an;
|
||||
|
||||
int n = searchKeyNum();
|
||||
if (n < 0 || n > hl->nmark) return;
|
||||
|
||||
if (Currentbuf->firstLine == NULL)
|
||||
return;
|
||||
if (!hl || hl->nmark == 0)
|
||||
return;
|
||||
|
||||
po = hl->marks + n-1;
|
||||
an = retrieveAnchor(Currentbuf->href, po->line, po->pos);
|
||||
if (an == NULL)
|
||||
an = retrieveAnchor(Currentbuf->formitem, po->line, po->pos);
|
||||
if (an == NULL) return;
|
||||
|
||||
gotoLine(Currentbuf, po->line);
|
||||
Currentbuf->pos = po->pos;
|
||||
arrangeCursor(Currentbuf);
|
||||
displayBuffer(Currentbuf, B_NORMAL);
|
||||
}
|
||||
|
||||
/* go to the next anchor */
|
||||
DEFUN(nextA, NEXT_LINK, "Move to next link")
|
||||
{
|
||||
|
3
proto.h
3
proto.h
@@ -11,6 +11,8 @@ extern void pushEvent(int cmd, void *data);
|
||||
extern MySignalHandler intTrap(SIGNAL_ARG);
|
||||
extern void pgFore(void);
|
||||
extern void pgBack(void);
|
||||
extern void hpgFore(void);
|
||||
extern void hpgBack(void);
|
||||
extern void lup1(void);
|
||||
extern void ldown1(void);
|
||||
extern void ctrCsrV(void);
|
||||
@@ -61,6 +63,7 @@ extern void submitForm(void);
|
||||
extern void followForm(void);
|
||||
extern void topA(void);
|
||||
extern void lastA(void);
|
||||
extern void nthA(void);
|
||||
extern void onA(void);
|
||||
|
||||
extern void nextA(void);
|
||||
|
Reference in New Issue
Block a user