.B CTRL\-V
Pass the next key press directly to gtk.
.TP
-.B CTRL\-R {0-9a-z}
-Insert the content of given buffer at cursor position.
+.B CTRL\-R {a-z%:/}
+Insert the content of given buffer at cursor position. See also section
+REGISTERS.
.SS Command Line History
.TP
.B <Tab>
.TP
.B CTRL\-Z
Enter the pass-through mode.
+.SH REGISTERS
+There are different types of registers.
+.TP
+.BR \[char34]a " - " \[char34]z
+26 named registers "a to "z. Vimb fills these registers only when you say so.
+.TP
+.B \[char34]%
+Contains the curent opened URI.
+.TP
+.B \[char34]:
+Contains the most recent executed ex command.
+.TP
+.B \[char34]/
+Contains the most recent search-pattern.
.SH COMPLETIONS
The completions are triggered by pressing `<Tab>` or `<shift-tab>` in the
activated inputbox. Depending of the current inserted content different
}
if (text) {
/* put the text into the yank buffer */
- vb_register_add(buf, text);
+ if (strchr(VB_USER_REG, buf)) {
+ vb_register_add(buf, text);
+ }
vb_echo(VB_MSG_NORMAL, false, tmpl, text);
g_free(text);
if (a.s) {
/* put the text into the yank buffer */
vb_set_clipboard(&a);
- vb_register_add(buf, a.s);
+ if (strchr(VB_USER_REG, buf)) {
+ vb_register_add(buf, a.s);
+ }
vb_echo(VB_MSG_NORMAL, false, tmpl, a.s);
return true;
switch (*text) {
case '/': count = 1; /* fall through */
case '?':
- history_add(HISTORY_SEARCH, cmd, NULL);
mode_enter('n');
command_search(&((Arg){count, cmd}));
+ vb_register_add('/', cmd);
+ history_add(HISTORY_SEARCH, cmd, NULL);
break;
case ';': /* fall through */
break;
case ':':
- history_add(HISTORY_COMMAND, cmd, NULL);
mode_enter('n');
ex_run_string(cmd);
+ vb_register_add(':', cmd);
+ history_add(HISTORY_COMMAND, cmd, NULL);
break;
}
vb_update_statusbar();
vb_update_urlbar(uri);
+ /* save the current URI in register % */
+ vb_register_add('%', uri);
/* clear possible set marks */
marks_clear();
#define VB_MARK_TICK 0
#define VB_MARK_SIZE (sizeof(VB_MARK_CHARS) - 1)
-#define VB_REG_CHARS "0123456789abcdefghijklmnopqrstuvwxyz"
+#define VB_USER_REG "abcdefghijklmnopqrstuvwxyz"
+#define VB_REG_CHARS VB_USER_REG "%:/"
#define VB_REG_SIZE (sizeof(VB_REG_CHARS) - 1)
/* enums */
} else if ((char)key == '"') {
info.phase = PHASE_CUTBUF;
vb.mode->flags |= FLAG_NOMAP;
- } else if (info.phase == PHASE_CUTBUF) {
+ } else if (info.phase == PHASE_CUTBUF && strchr(VB_REG_CHARS, (char)key)) {
info.cutbuf = (char)key;
info.phase = PHASE_START;
} else {