aboutsummaryrefslogtreecommitdiff
path: root/mode-key.c
diff options
context:
space:
mode:
authorTiago Cunha <tcunha@gmx.com>2010-03-08 15:02:07 +0000
committerTiago Cunha <tcunha@gmx.com>2010-03-08 15:02:07 +0000
commitb34c8f5f39963d40caf3355faa508b304283d666 (patch)
tree553afe576c58061deabfc16d783c63599f2f96c1 /mode-key.c
parent70f5384d8f75defe6983549f8a402045cbec9022 (diff)
downloadrtmux-b34c8f5f39963d40caf3355faa508b304283d666.tar.gz
rtmux-b34c8f5f39963d40caf3355faa508b304283d666.tar.bz2
rtmux-b34c8f5f39963d40caf3355faa508b304283d666.zip
Sync OpenBSD patchset 658:
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.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/mode-key.c b/mode-key.c
index 78cd4cf4..a5eb22ab 100644
--- a/mode-key.c
+++ b/mode-key.c
@@ -1,4 +1,4 @@
-/* $Id: mode-key.c,v 1.44 2010-02-18 12:35:16 tcunha Exp $ */
+/* $Id: mode-key.c,v 1.45 2010-03-08 15:02:07 tcunha Exp $ */
/*
* Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -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 },