summaryrefslogtreecommitdiffstats
path: root/mode-key.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2010-03-02 00:32:41 +0000
committerNicholas Marriott <nicm@openbsd.org>2010-03-02 00:32:41 +0000
commit7bc3f5dd8ac2d867df39225a4e2dda51b725c390 (patch)
tree8310259c70c9698743f7034275fc697c7d7e8f24 /mode-key.c
parent56a33b157b4ca607850eedb6397c48707698537a (diff)
Permit keys in copy mode to be prefixed by a repeat count, entered with
[1-9] in vi mode, or M-[1-9] in emacs mode. From Micah Cowan, tweaked a little by me.
Diffstat (limited to 'mode-key.c')
-rw-r--r--mode-key.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/mode-key.c b/mode-key.c
index 0d58f3d6..fb208e0d 100644
--- a/mode-key.c
+++ b/mode-key.c
@@ -106,6 +106,7 @@ struct mode_key_cmdstr mode_key_cmdstr_copy[] = {
{ MODEKEYCOPY_SEARCHDOWN, "search-forward" },
{ MODEKEYCOPY_SEARCHREVERSE, "search-reverse" },
{ MODEKEYCOPY_SEARCHUP, "search-backward" },
+ { MODEKEYCOPY_STARTNUMBERPREFIX, "start-number-prefix" },
{ MODEKEYCOPY_STARTOFLINE, "start-of-line" },
{ MODEKEYCOPY_STARTSELECTION, "begin-selection" },
{ MODEKEYCOPY_TOPLINE, "top-line" },
@@ -178,6 +179,15 @@ const struct mode_key_entry mode_key_vi_copy[] = {
{ '$', 0, MODEKEYCOPY_ENDOFLINE },
{ '/', 0, MODEKEYCOPY_SEARCHDOWN },
{ '0', 0, MODEKEYCOPY_STARTOFLINE },
+ { '1', 0, MODEKEYCOPY_STARTNUMBERPREFIX },
+ { '2', 0, MODEKEYCOPY_STARTNUMBERPREFIX },
+ { '3', 0, MODEKEYCOPY_STARTNUMBERPREFIX },
+ { '4', 0, MODEKEYCOPY_STARTNUMBERPREFIX },
+ { '5', 0, MODEKEYCOPY_STARTNUMBERPREFIX },
+ { '6', 0, MODEKEYCOPY_STARTNUMBERPREFIX },
+ { '7', 0, MODEKEYCOPY_STARTNUMBERPREFIX },
+ { '8', 0, MODEKEYCOPY_STARTNUMBERPREFIX },
+ { '9', 0, MODEKEYCOPY_STARTNUMBERPREFIX },
{ ':', 0, MODEKEYCOPY_GOTOLINE },
{ '?', 0, MODEKEYCOPY_SEARCHUP },
{ 'B', 0, MODEKEYCOPY_PREVIOUSSPACE },
@@ -280,6 +290,15 @@ struct mode_key_tree mode_key_tree_emacs_choice;
/* emacs copy mode keys. */
const struct mode_key_entry mode_key_emacs_copy[] = {
{ ' ', 0, MODEKEYCOPY_NEXTPAGE },
+ { '1' | KEYC_ESCAPE, 0, MODEKEYCOPY_STARTNUMBERPREFIX },
+ { '2' | KEYC_ESCAPE, 0, MODEKEYCOPY_STARTNUMBERPREFIX },
+ { '3' | KEYC_ESCAPE, 0, MODEKEYCOPY_STARTNUMBERPREFIX },
+ { '4' | KEYC_ESCAPE, 0, MODEKEYCOPY_STARTNUMBERPREFIX },
+ { '5' | KEYC_ESCAPE, 0, MODEKEYCOPY_STARTNUMBERPREFIX },
+ { '6' | KEYC_ESCAPE, 0, MODEKEYCOPY_STARTNUMBERPREFIX },
+ { '7' | KEYC_ESCAPE, 0, MODEKEYCOPY_STARTNUMBERPREFIX },
+ { '8' | KEYC_ESCAPE, 0, MODEKEYCOPY_STARTNUMBERPREFIX },
+ { '9' | KEYC_ESCAPE, 0, MODEKEYCOPY_STARTNUMBERPREFIX },
{ '<' | KEYC_ESCAPE, 0, MODEKEYCOPY_HISTORYTOP },
{ '>' | KEYC_ESCAPE, 0, MODEKEYCOPY_HISTORYBOTTOM },
{ 'R' | KEYC_ESCAPE, 0, MODEKEYCOPY_TOPLINE },