Allow a selection in vi keys mode...

This commit is contained in:
Nicholas Marriott 2009-01-21 18:19:32 +00:00
parent 48510fb56a
commit 7118baa340
4 changed files with 14 additions and 7 deletions

View File

@ -1,3 +1,9 @@
21 January 2009
* Make window and session choice modes allow you to choose items in vi keys
mode (doh!). As a side-effect, this makes enter copy selection (as well
as C-w/M-w) when using emacs keys in copy mode. Reported by merdely.
20 January 2009
* Darwin support for automatic-rename from joshe; Darwin doesn't seem to have
@ -986,7 +992,7 @@
(including mutt, emacs). No status bar yet and no key remapping or other
customisation.
$Id: CHANGES,v 1.226 2009-01-20 22:17:53 nicm Exp $
$Id: CHANGES,v 1.227 2009-01-21 18:19:32 nicm Exp $
LocalWords: showw utf UTF fulvio ciriaco joshe OSC APC gettime abc DEF OA clr
LocalWords: rivo nurges lscm Erdely eol smysession mysession ek dstname RB ms

4
TODO
View File

@ -69,6 +69,8 @@
- clone session command
- make command sequences more usable: don't require space around ;, handle
errors better
- would be nice if tmux could be the shell (tmux attach, but hard link to tmux
binary as "tmuxsh" or wrapper script?) -- problems with tty dev permissions
(hopefully) for 0.7, in no particular order:
- swap-pane-up, swap-pane-down (maybe move-pane-*)
@ -78,8 +80,6 @@
(copy from other session)
- neww should support -k
- flag to scroll-mode/copy-mode to automatically scroll up a page
- would be nice if tmux could be the shell (tmux attach, but hard link to tmux
binary as "tmuxsh" or wrapper script?)
- key to switch to copy mode from scroll mode
- document suspend-client
- document command sequences

View File

@ -1,4 +1,4 @@
/* $Id: mode-key.c,v 1.6 2009-01-15 19:27:31 nicm Exp $ */
/* $Id: mode-key.c,v 1.7 2009-01-21 18:19:32 nicm Exp $ */
/*
* Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
@ -26,13 +26,13 @@ struct mode_key_entry {
};
const struct mode_key_entry mode_key_table_vi[] = {
{ MODEKEY_ENTER, '\r' }, /* must come first */
{ MODEKEY_BOL, '0' },
{ MODEKEY_BOL, '^' },
{ MODEKEY_CLEARSEL, '\033' },
{ MODEKEY_COPYSEL, '\r' },
{ MODEKEY_DOWN, 'j' },
{ MODEKEY_DOWN, KEYC_DOWN },
{ MODEKEY_ENTER, '\r' },
{ MODEKEY_EOL, '$' },
{ MODEKEY_LEFT, 'h' },
{ MODEKEY_LEFT, KEYC_LEFT },
@ -51,12 +51,12 @@ const struct mode_key_entry mode_key_table_vi[] = {
};
const struct mode_key_entry mode_key_table_emacs[] = {
{ MODEKEY_ENTER, '\r' }, /* must come first */
{ MODEKEY_BOL, '\001' },
{ MODEKEY_CLEARSEL, '\007' },
{ MODEKEY_COPYSEL, '\027' },
{ MODEKEY_COPYSEL, KEYC_ADDESC('w') },
{ MODEKEY_DOWN, KEYC_DOWN },
{ MODEKEY_ENTER, '\r' },
{ MODEKEY_EOL, '\005' },
{ MODEKEY_LEFT, '\002' },
{ MODEKEY_LEFT, KEYC_LEFT },

View File

@ -1,4 +1,4 @@
/* $Id: window-copy.c,v 1.41 2009-01-18 15:40:19 nicm Exp $ */
/* $Id: window-copy.c,v 1.42 2009-01-21 18:19:32 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -179,6 +179,7 @@ window_copy_key(struct window_pane *wp, struct client *c, int key)
window_copy_redraw_screen(wp);
break;
case MODEKEY_COPYSEL:
case MODEKEY_ENTER:
if (c != NULL && c->session != NULL) {
window_copy_copy_selection(wp, c);
window_pane_reset_mode(wp);