mirror of
https://github.com/tmux/tmux.git
synced 2024-12-13 10:08:47 +00:00
Sync OpenBSD patchset 644:
Add "N" key to search the opposite way from the last search (reverse of "n"), from Micah Cowan.
This commit is contained in:
parent
736764b560
commit
66c38d8c5d
@ -1,4 +1,4 @@
|
|||||||
/* $Id: mode-key.c,v 1.43 2010-02-08 18:13:17 tcunha Exp $ */
|
/* $Id: mode-key.c,v 1.44 2010-02-18 12:35:16 tcunha Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -104,6 +104,7 @@ struct mode_key_cmdstr mode_key_cmdstr_copy[] = {
|
|||||||
{ MODEKEYCOPY_SCROLLUP, "scroll-up" },
|
{ MODEKEYCOPY_SCROLLUP, "scroll-up" },
|
||||||
{ MODEKEYCOPY_SEARCHAGAIN, "search-again" },
|
{ MODEKEYCOPY_SEARCHAGAIN, "search-again" },
|
||||||
{ MODEKEYCOPY_SEARCHDOWN, "search-forward" },
|
{ MODEKEYCOPY_SEARCHDOWN, "search-forward" },
|
||||||
|
{ MODEKEYCOPY_SEARCHREVERSE, "search-reverse" },
|
||||||
{ MODEKEYCOPY_SEARCHUP, "search-backward" },
|
{ MODEKEYCOPY_SEARCHUP, "search-backward" },
|
||||||
{ MODEKEYCOPY_STARTOFLINE, "start-of-line" },
|
{ MODEKEYCOPY_STARTOFLINE, "start-of-line" },
|
||||||
{ MODEKEYCOPY_STARTSELECTION, "begin-selection" },
|
{ MODEKEYCOPY_STARTSELECTION, "begin-selection" },
|
||||||
@ -187,6 +188,7 @@ const struct mode_key_entry mode_key_vi_copy[] = {
|
|||||||
{ 'K', 0, MODEKEYCOPY_SCROLLUP },
|
{ 'K', 0, MODEKEYCOPY_SCROLLUP },
|
||||||
{ 'L', 0, MODEKEYCOPY_BOTTOMLINE },
|
{ 'L', 0, MODEKEYCOPY_BOTTOMLINE },
|
||||||
{ 'M', 0, MODEKEYCOPY_MIDDLELINE },
|
{ 'M', 0, MODEKEYCOPY_MIDDLELINE },
|
||||||
|
{ 'N', 0, MODEKEYCOPY_SEARCHREVERSE },
|
||||||
{ 'W', 0, MODEKEYCOPY_NEXTSPACE },
|
{ 'W', 0, MODEKEYCOPY_NEXTSPACE },
|
||||||
{ '\002' /* C-b */, 0, MODEKEYCOPY_PREVIOUSPAGE },
|
{ '\002' /* C-b */, 0, MODEKEYCOPY_PREVIOUSPAGE },
|
||||||
{ '\003' /* C-c */, 0, MODEKEYCOPY_CANCEL },
|
{ '\003' /* C-c */, 0, MODEKEYCOPY_CANCEL },
|
||||||
@ -296,6 +298,7 @@ const struct mode_key_entry mode_key_emacs_copy[] = {
|
|||||||
{ '\026' /* C-v */, 0, MODEKEYCOPY_NEXTPAGE },
|
{ '\026' /* C-v */, 0, MODEKEYCOPY_NEXTPAGE },
|
||||||
{ '\027' /* C-w */, 0, MODEKEYCOPY_COPYSELECTION },
|
{ '\027' /* C-w */, 0, MODEKEYCOPY_COPYSELECTION },
|
||||||
{ '\033' /* Escape */, 0, MODEKEYCOPY_CANCEL },
|
{ '\033' /* Escape */, 0, MODEKEYCOPY_CANCEL },
|
||||||
|
{ 'N', 0, MODEKEYCOPY_SEARCHREVERSE },
|
||||||
{ 'b' | KEYC_ESCAPE, 0, MODEKEYCOPY_PREVIOUSWORD },
|
{ 'b' | KEYC_ESCAPE, 0, MODEKEYCOPY_PREVIOUSWORD },
|
||||||
{ 'f' | KEYC_ESCAPE, 0, MODEKEYCOPY_NEXTWORDEND },
|
{ 'f' | KEYC_ESCAPE, 0, MODEKEYCOPY_NEXTWORDEND },
|
||||||
{ 'g', 0, MODEKEYCOPY_GOTOLINE },
|
{ 'g', 0, MODEKEYCOPY_GOTOLINE },
|
||||||
|
5
tmux.1
5
tmux.1
@ -1,4 +1,4 @@
|
|||||||
.\" $Id: tmux.1,v 1.233 2010-02-18 12:33:52 tcunha Exp $
|
.\" $Id: tmux.1,v 1.234 2010-02-18 12:35:16 tcunha Exp $
|
||||||
.\"
|
.\"
|
||||||
.\" Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
.\" Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
.\"
|
.\"
|
||||||
@ -14,7 +14,7 @@
|
|||||||
.\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
|
.\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
|
||||||
.\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
.\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
.\"
|
.\"
|
||||||
.Dd $Mdocdate: February 10 2010 $
|
.Dd $Mdocdate: February 11 2010 $
|
||||||
.Dt TMUX 1
|
.Dt TMUX 1
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
@ -572,6 +572,7 @@ The following keys are supported as appropriate for the mode:
|
|||||||
.It Li "Scroll down" Ta "C-Down or C-e" Ta "C-Down"
|
.It Li "Scroll down" Ta "C-Down or C-e" Ta "C-Down"
|
||||||
.It Li "Scroll up" Ta "C-Up or C-y" Ta "C-Up"
|
.It Li "Scroll up" Ta "C-Up or C-y" Ta "C-Up"
|
||||||
.It Li "Search again" Ta "n" Ta "n"
|
.It Li "Search again" Ta "n" Ta "n"
|
||||||
|
.It Li "Search again in reverse" Ta "N" Ta "N"
|
||||||
.It Li "Search backward" Ta "?" Ta "C-r"
|
.It Li "Search backward" Ta "?" Ta "C-r"
|
||||||
.It Li "Search forward" Ta "/" Ta "C-s"
|
.It Li "Search forward" Ta "/" Ta "C-s"
|
||||||
.It Li "Start of line" Ta "0" Ta "C-a"
|
.It Li "Start of line" Ta "0" Ta "C-a"
|
||||||
|
3
tmux.h
3
tmux.h
@ -1,4 +1,4 @@
|
|||||||
/* $Id: tmux.h,v 1.544 2010-02-08 18:29:32 tcunha Exp $ */
|
/* $Id: tmux.h,v 1.545 2010-02-18 12:35:16 tcunha Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -474,6 +474,7 @@ enum mode_key_cmd {
|
|||||||
MODEKEYCOPY_SCROLLUP,
|
MODEKEYCOPY_SCROLLUP,
|
||||||
MODEKEYCOPY_SEARCHAGAIN,
|
MODEKEYCOPY_SEARCHAGAIN,
|
||||||
MODEKEYCOPY_SEARCHDOWN,
|
MODEKEYCOPY_SEARCHDOWN,
|
||||||
|
MODEKEYCOPY_SEARCHREVERSE,
|
||||||
MODEKEYCOPY_SEARCHUP,
|
MODEKEYCOPY_SEARCHUP,
|
||||||
MODEKEYCOPY_STARTOFLINE,
|
MODEKEYCOPY_STARTOFLINE,
|
||||||
MODEKEYCOPY_STARTSELECTION,
|
MODEKEYCOPY_STARTSELECTION,
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $Id: window-copy.c,v 1.101 2010-02-08 18:13:17 tcunha Exp $ */
|
/* $Id: window-copy.c,v 1.102 2010-02-18 12:35:16 tcunha Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -224,6 +224,7 @@ window_copy_key(struct window_pane *wp, struct client *c, int key)
|
|||||||
struct screen *s = &data->screen;
|
struct screen *s = &data->screen;
|
||||||
u_int n;
|
u_int n;
|
||||||
int keys;
|
int keys;
|
||||||
|
enum mode_key_cmd cmd;
|
||||||
|
|
||||||
if (data->inputtype != WINDOW_COPY_OFF) {
|
if (data->inputtype != WINDOW_COPY_OFF) {
|
||||||
if (window_copy_key_input(wp, key) != 0)
|
if (window_copy_key_input(wp, key) != 0)
|
||||||
@ -231,7 +232,8 @@ window_copy_key(struct window_pane *wp, struct client *c, int key)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (mode_key_lookup(&data->mdata, key)) {
|
cmd = mode_key_lookup(&data->mdata, key);
|
||||||
|
switch (cmd) {
|
||||||
case MODEKEYCOPY_CANCEL:
|
case MODEKEYCOPY_CANCEL:
|
||||||
window_pane_reset_mode(wp);
|
window_pane_reset_mode(wp);
|
||||||
break;
|
break;
|
||||||
@ -367,15 +369,22 @@ window_copy_key(struct window_pane *wp, struct client *c, int key)
|
|||||||
data->inputprompt = "Search Down";
|
data->inputprompt = "Search Down";
|
||||||
goto input_on;
|
goto input_on;
|
||||||
case MODEKEYCOPY_SEARCHAGAIN:
|
case MODEKEYCOPY_SEARCHAGAIN:
|
||||||
|
case MODEKEYCOPY_SEARCHREVERSE:
|
||||||
switch (data->searchtype) {
|
switch (data->searchtype) {
|
||||||
case WINDOW_COPY_OFF:
|
case WINDOW_COPY_OFF:
|
||||||
case WINDOW_COPY_GOTOLINE:
|
case WINDOW_COPY_GOTOLINE:
|
||||||
break;
|
break;
|
||||||
case WINDOW_COPY_SEARCHUP:
|
case WINDOW_COPY_SEARCHUP:
|
||||||
|
if (cmd == MODEKEYCOPY_SEARCHAGAIN)
|
||||||
window_copy_search_up(wp, data->searchstr);
|
window_copy_search_up(wp, data->searchstr);
|
||||||
|
else
|
||||||
|
window_copy_search_down(wp, data->searchstr);
|
||||||
break;
|
break;
|
||||||
case WINDOW_COPY_SEARCHDOWN:
|
case WINDOW_COPY_SEARCHDOWN:
|
||||||
|
if (cmd == MODEKEYCOPY_SEARCHAGAIN)
|
||||||
window_copy_search_down(wp, data->searchstr);
|
window_copy_search_down(wp, data->searchstr);
|
||||||
|
else
|
||||||
|
window_copy_search_up(wp, data->searchstr);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user