From 66a56c827efcac36e07d6ac34bd05681ab8364e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Sun, 7 Feb 2016 23:54:25 +0100 Subject: vis: implement yank register "0 --- main.c | 2 ++ vis-operators.c | 2 ++ vis.h | 1 + 3 files changed, 5 insertions(+) diff --git a/main.c b/main.c index da475e5..ee81e49 100644 --- a/main.c +++ b/main.c @@ -1340,6 +1340,8 @@ static const char *key2register(Vis *vis, const char *keys, enum VisRegister *re *reg = VIS_REG_CLIPBOARD; else if (keys[0] == '_') *reg = VIS_REG_BLACKHOLE; + else if (keys[0] == '0') + *reg = VIS_REG_ZERO; return keys+1; } diff --git a/vis-operators.c b/vis-operators.c index 7901851..d4fdb21 100644 --- a/vis-operators.c +++ b/vis-operators.c @@ -25,6 +25,8 @@ static size_t op_change(Vis *vis, Text *txt, OperatorContext *c) { static size_t op_yank(Vis *vis, Text *txt, OperatorContext *c) { c->reg->linewise = c->linewise; register_put(vis, c->reg, txt, &c->range); + if (c->reg == &vis->registers[VIS_REG_DEFAULT]) + register_put(vis, &vis->registers[VIS_REG_ZERO], txt, &c->range); return c->pos; } diff --git a/vis.h b/vis.h index eb84695..04277e7 100644 --- a/vis.h +++ b/vis.h @@ -350,6 +350,7 @@ enum VisRegister { VIS_REG_u, VIS_REG_v, VIS_REG_w, VIS_REG_x, VIS_REG_y, VIS_REG_z, VIS_REG_DEFAULT, /* used when no other register is specified */ + VIS_REG_ZERO, /* yank register */ VIS_REG_BLACKHOLE, /* /dev/null register */ VIS_REG_CLIPBOARD, /* system clipboard register */ VIS_REG_PROMPT, /* internal register which shadows DEFAULT in PROMPT mode */ -- cgit v1.2.3