Vi uses the end-of-word character as the cursor location after an 'e' or
'E' motion. Once the motion is complete, we back up one character from
where emacs ends up (one-past-the-word).
---
 status.c      | 5 +++++
 window-copy.c | 6 ++++++
 2 files changed, 11 insertions(+)

diff --git a/status.c b/status.c
index de56750..351852e 100644
--- a/status.c
+++ b/status.c
@@ -1193,6 +1193,11 @@ status_prompt_key(struct client *c, int key)
                                break;
                }
 
+               /* Back up to the end-of-word like vi. */
+               if ((MODEKEY_VI == options_get_number(oo, "status-keys")) &&
+                   c->prompt_index)
+                       c->prompt_index--;
+
                c->flags |= CLIENT_STATUS;
                break;
        case MODEKEYEDIT_PREVIOUSSPACE:
diff --git a/window-copy.c b/window-copy.c
index 51a8f10..b8286e8 100644
--- a/window-copy.c
+++ b/window-copy.c
@@ -1894,6 +1894,7 @@ void
 window_copy_cursor_next_word_end(struct window_pane *wp, const char 
*separators)
 {
        struct window_copy_mode_data    *data = wp->modedata;
+       struct options                  *oo = &wp->window->options;
        struct screen                   *back_s = data->backing;
        u_int                            px, py, xx, yy;
        int                              expected = 1;
@@ -1927,6 +1928,11 @@ window_copy_cursor_next_word_end(struct window_pane *wp, 
const char *separators)
                expected = !expected;
        } while (expected == 0);
 
+       /* Back up to the end-of-word like vi. */
+       if ((MODEKEY_VI == options_get_number(oo, "status-keys")) &&
+           px)
+               --px;
+
        window_copy_update_cursor(wp, px, data->cy);
        if (window_copy_update_selection(wp))
                window_copy_redraw_lines(wp, data->cy, 1);
-- 
1.8.2.1


------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users

Reply via email to