aboutsummaryrefslogtreecommitdiff
path: root/vis.c
diff options
context:
space:
mode:
Diffstat (limited to 'vis.c')
-rw-r--r--vis.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/vis.c b/vis.c
index 108cba3..d5c7d1b 100644
--- a/vis.c
+++ b/vis.c
@@ -1064,16 +1064,14 @@ static const char *changecase(const char *keys, const Arg *arg) {
}
static const char *movement_key(const char *keys, const Arg *arg) {
- const char *key = getkey();
- if (!key) {
- action_reset(&vis->action);
- return keys;
- }
- strncpy(vis->search_char, key, sizeof(vis->search_char));
+ if (!keys[0])
+ return NULL;
+ const char *next = utfnext(keys+1);
+ strncpy(vis->search_char, keys, next - keys);
vis->last_totill = arg->i;
vis->action.movement = &moves[arg->i];
action_do(&vis->action);
- return keys;
+ return next;
}
static const char *movement(const char *keys, const Arg *arg) {