1VIMB(1) Vimb Manual VIMB(1)
2
3
4
6 Vimb - Vim Browser - A modal web browser based on WebKit, inspired by
7 Vim: the great editor.
8
10 vimb [OPTIONS] [URI|file|-]
11
13 Vimb is a WebKit based web browser that behaves like the Vimperator
14 plugin for Firefox and has usage paradigms from the great editor, Vim.
15 The goal of Vimb is to build a completely keyboard-driven, efficient
16 and pleasurable browsing-experience.
17
19 If no URI or file is given, Vimb will open the configured home-page.
20 If URI is '-', Vimb reads the HTML to display from stdin.
21
22 Mandatory arguments to long options are mandatory for short options
23 too.
24
25 -C, --cmd CMD
26 Run CMD as ex command line right before the first page is
27 loaded. If the flag is used more than one time, the commands
28 are called in order they are given. You could also pass several
29 ex commands in one CMD, if they are separated by "|".
30
31 vimb --cmd "set dark-mode=on|set header=Referer,DNT=1"
32
33 -c, --config FILE
34 Use custom configuration given as FILE. This will also be ap‐
35 plied on new spawned instances.
36
37 -e, --embed WINID
38 WINID of an XEmbed-aware application, that Vimb will use as its
39 parent.
40
41 -i, --incognito
42 Start an instance with user data read-only (see FILES section).
43
44 -h, --help
45 Show help options.
46
47 -p, --profile PROFILE-NAME
48 Create or open specified configuration profile. Configuration
49 data for the profile is stored in a directory named PROFILE-NAME
50 under default directory for configuration data.
51
52 -v, --version
53 Print build and version information and then quit.
54
55 --no-maximize
56 Do no attempt to maximize window.
57
58 --bug-info
59 Prints information about used libraries for bug reports and then
60 quit.
61
63 Vimb is modal and has the following main modes:
64
65 Normal Mode
66 The default mode. Pressing Escape always enter normal mode.
67
68 Input Mode
69 Used for editing text elements in a webpage.
70
71 Command Mode
72 Execute `ex` commands from the builtin inputbox (commandline).
73
74 Pass-Through Mode
75 In Pass-Through mode only the `<Esc>` and `<C-[>` keybindings
76 are interpreted by Vimb, all other keystrokes are given to the
77 webview to handle them. This allows the use of a website's con‐
78 figured keybindings, that might otherwise be swallowed by Vimb.
79
81 Some of the Normal Model Commands can have a numeric count to multiply
82 the effect of the command. If a command supports the count this is
83 shown as [N].
84
85 General
86 : Start Command Mode and print `:' to the input box.
87
88 gi Set cursor to the first editable element in the page and switch
89 to Input Mode.
90
91 CTRL-Z Switch Vimb into Pass-Through Mode.
92
93 gf Open the configured editor (`editor-command') with the current
94 page's content.
95
96 gF Open the Web Inspector for the current page.
97
98 CTRL-V Pass the next key press directly to GTK.
99
100 CTRL-Q Quit the browser if there are no running downloads.
101
102 Navigation
103 o Start Command Mode and print `:open ' to the input box.
104
105 O Start Command Mode and print `:open URI' to the input box.
106
107 t Start Command Mode and print `:tabopen ' to the input box.
108
109 T Start Command Mode and print `:tabopen URI' to the input box.
110
111 gh Open the configured home-page.
112
113 gH Open the configured home-page in a new window.
114
115 u Open the last closed page.
116
117 U Open the last closed page in a new window.
118
119 CTRL-P Open the oldest entry from the read it later queue in the cur‐
120 rent browser window.
121
122 ["x]p Open the URI out of the register x or, if not given, from the
123 clipboard.
124
125 ["x]P Open the URI out of the register x or, if not given, from the
126 clipboard in a new window.
127
128 [N]CTRL-O
129 Go back N steps in the browser history.
130
131 [N]CTRL-I
132 Go forward N steps in the browser history.
133
134 [N]gu Go to the Nth descendent directory of the current opened URI.
135
136 gU Go to the domain of the current opened page.
137
138 r Reload the website.
139
140 R Reload the website without using caches.
141
142 CTRL-C Stop loading the current page.
143
144 Motion
145 [N]CTRL-F
146 Scroll N pages down.
147
148 [N]CTRL-B
149 Scroll N pages up.
150
151 [N]CTRL-D
152 Scroll N half pages down.
153
154 [N]CTRL-U
155 Scroll N half pages up.
156
157 [N]gg Scroll to the top of the current page. Or if N is given to N%
158 of the page.
159
160 [N]G Scroll to the bottom of the current page. Or if N is given to
161 N% of the page.
162
163 0, ^ Scroll to the absolute left of the document. Unlike in Vim, 0
164 and ^ work exactly the same way.
165
166 $ Scroll to the absolute right of the document.
167
168 [N]h Scroll N steps to the left of page.
169
170 [N]l Scroll N steps to the right of page.
171
172 [N]j Scroll page N steps down.
173
174 [N]k Scroll page N steps up.
175
176 m{a-z} Set a page mark {a-z} at the current position on the page. Such
177 set marks are only available on the current page; if the page is
178 left, all marks will be removed.
179
180 '{a-z} Jump to the mark {a-z} on the current page.
181
182 '' Jumps to the position before the latest jump, or where the last
183 "m'" command was given.
184
185 Hinting
186 Hinting in Vimb is how you accomplish the tasks that you would do with
187 the mouse in common mouse-driven browsers: open a URI, yank a URI, save
188 a page and so on. When hinting is started, the relevant elements on the
189 page will be marked by labels generated from configured `hint-keys'.
190 Hints can be selected by using <Tab>, <C-I> or <C-Tab>, <C-O>, by typ‐
191 ing the chars of the label, or filtering the elements by some text that
192 is part of the hinted element (like URI, link text, button label) or
193 any combination of these methods. If <enter> is pressed, the current
194 active hint will be fired. If only one possible hint remains, this
195 will be fired automatically.
196
197 Syntax: ;{mode}{hint}
198
199 Start Hints mode. Different elements depending on mode are highlighted
200 and `numbered'. Elements can be selected either by typing their label,
201 or by typing part of their text (hint) to narrow down the result. When
202 an element has been selected, it is automatically clicked or used (de‐
203 pending on mode) and hint mode ends.
204
205 The filtering of hints by text splits the query at ' ' and use the sin‐
206 gle parts as separate queries to filter the hints. This is useful for
207 hints that have a lot of filterable chars in common and many chars are
208 required to make a distinct selection. For example ';over tw' will
209 easily select the second hint out of {'very long link text one', 'very
210 long link text two'}.
211
212 The following keys have special meanings in Hints modes:
213 <CR> Selects the first highlighted element, or the current focused.
214 <Tab> Moves the focus to the next hint element.
215 <S-Tab>
216 Moves the focus to the previous hint element.
217 <Esc>, CTRL-C, CTRL-[
218 Exits Hints mode without selecting an element.
219
220 Hint modes:
221 f Is an alias for the ;o hint mode.
222 F Is an alias for the ;t hint mode.
223 ;o Open hint's location in the current window.
224 ;t Open hint's location in a new window.
225 ;s Saves the hint's destination under the configured `down‐
226 load-path'.
227 ;O Generate an `:open' prompt with hint's URI.
228 ;T Generate an `:tabopen' prompt with hint's URI.
229 ;e Open the configured editor (`editor-command') with the
230 hinted form element's content. If the file in editor is
231 saved and the editor is closed, the file content will be
232 put back in the form field.
233 ;i Open hinted image in the current window.
234 ;I Open hinted image in a new window.
235 ;p Push the hint's URI to the end of the Read It Later queue
236 like the `:qpush' command. This is only available if
237 Vimb was compiled with the QUEUE feature.
238 ;P Push the hint's URI to the beginning of the Read It Later
239 queue like the `:qunshift' command. This is only avail‐
240 able if Vimb was compiled with the QUEUE feature.
241 ;x Hints like ;o, but instead of opening the hinted URI, the
242 `x-hint-command' is run in Vimb.
243 ["x];y Yank hint's destination location into primary and sec‐
244 ondary clipboard and into the register x.
245 ["x];Y Yank hint's text description or form text into primary
246 and secondary clipboard and into the register x.
247
248 Syntax: g;{mode}{hint}
249 Start an extended hints mode and stay there until <Esc> is
250 pressed. Like normal hinting, except that after a hint is se‐
251 lected, hints remain visible so that another one can be selected
252 with the same action as the first. Note that the extended hint
253 mode can only be combined with the following hint modes I o p P
254 s t y Y.
255
256 Motion
257 Motions commands are like those for normal mode except that CTRL
258 is used as modifier. But they can not be used together with a
259 count.
260
261 CTRL-F Scroll one page down.
262 CTRL-B Scroll one page up.
263 CTRL-D Scroll half page down.
264 CTRL-U Scroll half page up.
265 CTRL-J Scroll one step down.
266 CTRL-K Scroll one step up.
267
268 Searching
269 /QUERY, ?QUERY
270 Start searching for QUERY in the current page. / start search
271 forward, ? in backward direction.
272
273 *, # Start searching for the current selected text, or if no text is
274 selected for the content of the primary or secondary clipboard.
275 * start the search in forward direction and # in backward direc‐
276 tion.
277
278 Note that these commands will yank the text selection into the
279 clipboard and may remove other content from there!
280
281 [N]n Search for Nnth next search result depending on current search
282 direction.
283
284 [N]N Search for Nnth previous search result depending on current
285 search
286
287 <CR> Perform a click on element containing the current highlighted
288 search result. direction.
289
290 Zooming
291 [N]zi Zoom-In the text of the page by N steps.
292
293 [N]zo Zoom-Out the text of the page by N steps.
294
295 [N]zI Full-Content Zoom-In the page by N steps.
296
297 [N]zO Full-Content Zoom-Out the page by N steps.
298
299 zz Reset Zoom.
300
301 Yank
302 ["x]y Yank the URI or current page into register x and clipboard.
303
304 ["x]Y Yank the current selection into register x and clipboard.
305
307 Commands that are listed below are ex-commands like in Vim, that are
308 typed into the inputbox (the command line of vimb). The commands may
309 vary in their syntax or in the parts they allow, but in general they
310 follow a simple syntax.
311
312 Syntax: :[:| ][N]cmd[name][!][ lhs][ rhs]
313
314 Where lhs (left hand side) must not contain any unescaped space. The
315 syntax of the rhs (right hand side) if this is available depends on the
316 command. At the moment the count parts [N] of commands is parsed, but
317 currently there is no command that uses the count.
318
319 Commands that are typed interactivly are normally recorded into command
320 history and register. To avoid this, the commands can be prefixed by
321 one or more additional `:' or whitespace.
322
323 Multiple commands, separated by a `|' can be given in a single command
324 line and will be executed consecutively. The pipe can be included as
325 an argument to a command by escaping it with a backslash.
326 Following commands process the entire command-line string literally.
327 These commands will include any `|' as part of their argument string
328 and so can not be followed by another command.
329
330 - autocmd
331 - cmap, cnoremap, imap, inoremap, nmap, nnoremap
332 - eval
333 - normal
334 - open, tabopen
335 - shellcmd
336
337 Command Line Editing
338 <Esc>, CTRL-[, CTRL-C
339 Ignore all typed content and switch back to normal mode.
340
341 <CR> Submit the entered `ex` command or search query to run it.
342
343 CTRL-H Deletes the char before the cursor.
344
345 CTRL-W Deletes the last word before the cursor.
346
347 CTRL-U Remove everything between cursor and prompt.
348
349 CTRL-B Moves the cursor directly behind the prompt `:'.
350
351 CTRL-E Moves the cursor after the prompt in inputbox.
352
353 CTRL-V Pass the next key press directly to GTK.
354
355 CTRL-R {a-z"%:/;}
356 Insert the content of given register at cursor position. See
357 also section about `:reg[ister]' command.
358
359 Command Line History
360 <Tab> Start completion of the content in the inputbox in forward di‐
361 rection.
362
363 <S-Tab>
364 Start completion of the content in the inputbox in backward di‐
365 rection.
366
367 <Up> Step backward in the command history.
368
369 <Down> Step forward in the command history. Yank the current selection
370 into register x and clipboard.
371
372 Open
373 :o[pen] [URI]
374 Open the give URI in the current window. If URI is empty, the
375 configured 'home-page' is opened.
376
377 :t[abopen] [URI]
378 Open the give URI in a new window. If URI is empty, the config‐
379 ured 'home-page' is opened.
380
381 Key Mapping
382 Key mappings allow users to alter the actions of key presses. Each key
383 mapping is associated with a mode and only has effect when the mode is
384 active. The following commands allow the user to substitute one se‐
385 quence of key presses by another.
386
387 Syntax: :{m}map {lhs} {rhs}
388
389 Note that the lhs ends with the first found space. If you want to use
390 space also in the {lhs} you have to escape this with a single `\', as
391 shown in the examples.
392
393 The rhs starts with the first non-space char. If you want a rhs that
394 starts with a space, you have to use "<Space>".
395
396 Standard key mapping commands are provided for these modes m:
397 n Normal mode: when browsing normally.
398 i Insert mode: when interacting with text fields on a website.
399 c Command Line mode: when typing into Vimb's command line.
400
401 Most keys in key sequences are represented simply by the character that
402 you see on the screen when you type them. However, as a number of
403 these characters have special meanings, and a number of keys have no
404 visual representation, a special notation is required.
405
406 As special key names have the format <...>. The following special keys
407 can be used: <Left>, <Up>, <Right>, <Down> for the cursor keys, <Tab>,
408 <Esc>, <CR>, <Space>, <BS>, <F1>-<F12> and <C-A>-<C-Z>.
409
410 :nm[ap] {lhs} {rhs}
411 :im[ap] {lhs} {rhs}
412 :cm[ap] {lhs} {rhs}
413 Map the key sequence lhs to rhs for the modes where the map com‐
414 mand applies. The result, including rhs, is then further
415 scanned for mappings. This allows for nested and recursive use
416 of mappings.
417
418 :cmap <C-G>h /home/user/downloads/
419 Adds a keybind to insert a file path into the input box.
420 This could be useful for the `:save' command that could
421 be used as ":save ^Gh".
422 :nmap <F1> :set scripts=on<CR>:open !glib<Tab><CR>
423 This will enable scripts and lookup the first bookmarked
424 URI with the tag `glib' and open it immediately if F1 key
425 is pressed.
426 :nmap \ \ 50G
427 Example which maps two spaces to go to 50% of the page.
428 :nn[oremap] {lhs} {rhs}
429 :ino[remap] {lhs} {rhs}
430 :cno[remap] {lhs} {rhs}
431 Map the key sequence lhs to rhs for the mode where the map com‐
432 mand applies. Disallow mapping of rhs, to avoid nested and re‐
433 cursive mappings. Often used to redefine a command.
434 :nu[nmap] {lhs}
435 :iu[nmap] {lhs}
436 :cu[nmap] {lhs}
437 Remove the mapping of lhs for the applicable mode.
438
439 Bookmarks
440 :bma [tags]
441 Save the current opened URI with tags to the bookmark file.
442
443 :bmr [URI]
444 Removes all bookmarks for given URI or, if not given, the cur‐
445 rent opened page.
446
447 Handlers
448 Handlers allow specifying external scripts to handle alternative URI
449 methods.
450
451 :handler-add handler=cmd
452 Adds a handler to direct handler links to the external cmd. The
453 cmd can contain one placeholder `%s` that will be filled by the
454 full URI given when the command is called.
455
456 :handler-add mailto=urxvt -e mutt %s
457 to start email client for mailto links.
458 :handler-add magnet=xdg-open %s
459 to open magnet links with xdg-open.
460 :handler-add ftp=urxvt -e wget %s -P ~/ftp-downloads
461 to handle ftp downloads via wget.
462
463 :handler-remove handler
464 Remove the handler for the given URI handler.
465
466 Shortcuts
467 Shortcuts allow the opening of an URI built up from a named template
468 with additional parameters. If a shortcut named 'dd' is defined, you
469 can use it with `:open dd list of parameters' to open the generated
470 URI.
471
472 Shortcuts are convenient to use with search engines where the URI is
473 standardised and a single parameter is user defined.
474
475 :shortcut-add shortcut=URI
476 Adds a shortcut with the shortcut and URI template. The URI can
477 contain multiple placeholders $0-$9 that will be filled by the
478 parameters given when the shortcut is called. The parameters
479 given when the shortcut is called will be split into as many pa‐
480 rameters like the highest used placeholder.
481
482 To use spaces within the parameters, the parameters can be
483 grouped by surrounding them with single-or double quotes-as
484 shown in example shortcut `map'.
485
486 :shortcut-add dl=https://duckduckgo.com/lite/?q=$0
487 to setup a search engine. Can be called by `:open dl my
488 search phrase'.
489 :shortcut-add gh=https://github.com/$0/$1
490 to build URIs from given parameters. Can be called
491 `:open gh fanglingsu vimb'.
492 :shortcut-add map=https://maps.google.com/maps?saddr=$0&daddr=$1
493 to search for a route, all but the last parameter must be
494 quoted if they contain spaces like `:open map "city hall,
495 London" railway station, London'
496
497 :shortcut-remove shortcut
498 Remove the search engine to the given shortcut.
499
500 :shortcut-default shortcut
501 Set the shortcut for given shortcut as the default, that is the
502 shortcut to be used if no shortcut is given and the string to
503 open is not an URI. It doesn't matter if the shortcut is already
504 in use or not to be able to set it.
505
506 Settings
507 :se[t] var=value
508 Set configuration values named by var. To set boolean variable
509 you should use 'on', 'off' or 'true' and 'false'. Colors are
510 given as hexadecimal value like '#f57700'. Spaces or more equals
511 signs in value just work without quotes: for example, ":set
512 sans-serif-font=Some Sans Font".
513
514 :se[t] var+=value
515 Add the value to a number option, or append the value to a
516 string option. When the option is a comma separated list, a
517 comma is added, unless the value was empty.
518
519 :se[t] var^=value
520 Multiply the value to a number option, or prepend the value to a
521 string option. When the option is a comma separated list, a
522 comma is added, unless the value was empty.
523
524 :se[t] var-=value
525 Subtract the value from a number option, or remove the value
526 from a string option, if it is there. When the option is a
527 comma separated list, a comma is deleted, unless the option be‐
528 comes empty.
529
530 :se[t] var?
531 Show the current set value of variable. VAR.
532
533 :se[t] var!
534 Toggle the value of boolean variable var and display the new set
535 value.
536
537 Queue
538 The queue allows the marking of URIs for later reading. This list is
539 shared between the single instances of Vimb.
540
541 :qpu[sh] [URI]
542 Push URI or, if not given, the current URI to the end of the
543 queue.
544
545 :qun[shift] [URI]
546 Push URI or, if not given, the current URI to the beginning of
547 the queue.
548
549 :qp[op]
550 Open the oldest queue entry in the current browser window and
551 remove it from the queue.
552
553 :qc[lear]
554 Removes all entries from queue.
555
556 Automatic commands
557 An autocommand is a command that is executed automatically in response
558 to some event, such as a URI being opened. Autocommands are very pow‐
559 erful. Use them with care and they will help you avoid typing many
560 commands.
561
562 Autocommands are built with following properties.
563
564 group When the [group] argument is not given, Vimb uses the current
565 group as defined with ':augroup', otherwise, Vimb uses the group
566 defined with [group]. Groups are useful to remove multiple
567 grouped autocommands.
568
569 event You can specify a comma separated list of event names. No white
570 space can be used in this list.
571
572 Events:
573 LoadStarting
574 Fired before a new page is going to be opened. No data
575 has been sent or received yet, the load may still fail
576 for transport issues.
577 LoadStarted
578 Fired if a new page is going to be opened. No data has
579 been received yet, the load may still fail for transport
580 issues.
581 LoadCommitted
582 Fired if first data chunk has arrived, meaning that the
583 necessary transport requirements are established, and the
584 load is being performed. This is the right event to tog‐
585 gle content related setting like 'scripts', 'plugins' and
586 such things.
587 LoadFinished
588 Fires when everything that was required to display on the
589 page has been loaded.
590 DownloadStarted
591 Fired right after a download is started.
592 DownloadFinished
593 Fired if a Vimb managed download is finished.
594 DownloadFailed
595 Fired if a Vimb managed download failed.
596
597 pat Comma separated list of patterns, matches in order to check if a
598 autocommand applies to the URI associated to an event. To use
599 ',' within the single patterns this must be escaped as '\,'.
600
601 Patterns:
602 * Matches any sequence of characters. This includes also
603 '/' in contrast to shell patterns.
604 ? Matches any single character except of '/'.
605 {one,two}
606 Matches 'one' or 'two'. Any '{', ',' and '}' within this
607 pattern must be escaped by a '\'. '*' and '?' have no
608 special meaning within the curly braces.
609 \ Use backslash to escape the special meaning of '?*{},' in
610 the pattern or pattern list.
611
612 cmd Any `ex` command vimb understands. The leading ':' is not re‐
613 quired. Multiple commands can be separated by '|'.
614
615 :au[tocmd] [group] {event} {pat} {cmd}
616 Add cmd to the list of commands that Vimb will execute automati‐
617 cally on event for a URI matching pat autocmd-patterns. Vimb
618 always adds the cmd after existing autocommands, so that the au‐
619 tocommands are executed in the order in which they were given.
620
621 :au[tocmd]! [group] {event} {pat} {cmd}
622 Remove all autocommands associated with event and which pattern
623 match pat, and add the command cmd. Note that the pattern is
624 not matches literally to find autocommands to remove, like Vim
625 does. Vimb matches the autocommand pattern with pat. If
626 [group] is not given, deletes autocommands in current group, as
627 noted above.
628
629 :au[tocmd]! [group] {event} {pat}
630 Remove all autocommands associated with event and which pattern
631 matches pat in given group (current group by default).
632
633 :au[tocmd]! [group] * {pat}
634 Remove all autocommands with patterns matching pat for all
635 events in given group (current group by default).
636
637 :au[tocmd]! [group] {event}
638 Remove all autocommands for event in given group (current group
639 by default).
640
641 :au[tocmd]! [group]
642 Remove all autocommands in given group (current group by de‐
643 fault).
644
645 :aug[roup] {name}
646 Define the autocmd group name for the following ":autocmd" com‐
647 mands. The name "end" selects the default group.
648
649 :aug[roup]! {name}
650 Delete the autocmd group name.
651
652 Example:
653 :aug github
654 : au LoadCommitted * set scripts=off|set cookie-accept=never
655 : au LoadCommitted http{s,}://github.com/* set scripts=on
656 :aug end
657
658 Misc
659 :cl[eardata] [dataTypes] [timespan]
660 Asynchronously clears the website data of the given list of
661 dataTypes modified in the past timespan. Note that the
662 dataTypes must not contain spaces. If timespan is not given,
663 all website data will be removed. Note that this effects all
664 running instances of vimb.
665
666 The dataTypes is a comma separated list of following types.
667 memory-cache
668 Memory cache.
669 disk-cache
670 HTTP disk cache.
671 offline-cache
672 Offline web application cache.
673 session-storage
674 Session storage data.
675 local-storage
676 Local storage data.
677 indexeddb-databases
678 IndexedDB databases.
679 plugin-data
680 Plugin data.
681 cookies
682 Cookies. Note that the cookies are not cleared in case a
683 timespan is given.
684 hsts-cache
685 HTTP Strict Transport Security cache.
686 - Can be used to clear all known data types in case a
687 timespan is used.
688
689 The timespan is given as sequence of '[multiplier]unit' tupels
690 with following units.
691 y year (365 days)
692 w week (7 days)
693 d day
694 h hour
695 m minute
696 s second
697
698 Example:
699 :cleardata
700 to clear all known website data types without any times‐
701 pan restriction.
702 :cleardata - 5m
703 to clear all known website data types modified in the
704 last 5 minutes.
705 :cleardata local-storage,session-storage,cookies
706 to completely clear the cookies, local- and session-stor‐
707 age without time restrictions.
708 :cleardata disk-cache 2d4h
709 to clear the disk cache that was modified in the past two
710 days and four hours.
711
712 :sh[ellcmd]! cmd
713 Like :sh[ellcmd] but asynchronous.
714
715 Example:
716 :sh! /bin/sh -c 'echo "`date` $VIMB_URI" >> myhistory.txt'
717
718
719 :sh[ellcmd] cmd
720 Runs the given shell cmd syncron and print the output into in‐
721 putbox. The following patterns in cmd are expanded: '~user‐
722 name', '~/', '$VAR' and '${VAR}'. A '\' before these patterns
723 disables the expansion.
724
725 The following environment variables are set for called shell
726 commands.
727 VIMB_URI
728 This variable is set by Vimb everytime a new page is
729 opened to the URI of the page.
730 VIMB_TITLE
731 Contains the title of the current opened page.
732 VIMB_PID
733 Contains the pid of the running Vimb instance.
734 VIMB_XID
735 Holds the X-Window id of the Vimb window or of the embed‐
736 ding window if Vimb is started with the -e option.
737 :sh[ellcmd]! cmd
738 Like :sh[ellcmd] but asynchronous.
739
740 Example:
741 :sh! /bin/sh -c 'echo "`date` $VIMB_URI" >> myhistory.txt'
742 :s[ave] [path]
743 Download current opened page into configured download directory.
744 If path is given, download under this file name or path. path
745 is expanded and can therefore contain '~/', '${ENV}' and '~user'
746 pattern.
747 :so[urce] [file]
748 Read ex commands from file.
749 :q[uit]
750 Close the browser. This will be refused if there are running
751 downloads.
752 :q[uit]!
753 Close the browser independent from an running download.
754 :reg[ister]
755 Display the contents of all registers.
756 Registers:
757 "a — "z
758 26 named registers "a to "z. Vimb fills these registers
759 only when you say so.
760 ": Last executed `ex` command.
761 "" Last yanked content.
762 "% Curent opened URI.
763 "/ Last search phrase.
764 "; Contains the last hinted URL.
765
766 :e[val] javascript
767 Runs the given javascript in the current page and display the
768 evaluated value.
769
770 Example: :eval document.cookie
771
772 :e[val]! javascript
773 Like :eval, but there is nothing print to the input box.
774
775 :no[rmal] [cmds]
776 Execute normal mode commands cmds. This makes it possible to
777 execute normal mode commands typed on the input box.
778
779 cmds cannot start with a space. Put a count of 1 (one) before
780 it, "1 " is one space.
781
782 Example: :set scripts!|no! R
783
784 :no[rmal]! [cmds]
785 Like :normal, but no mapping is applied to cmds.
786
787 :ha[rdcopy]
788 Print current document. Open a GUI dialog where you can select
789 the printer, number of copies, orientation, etc.
790
792 <Esc>, CTRL-[
793 Switch back to normal mode.
794
795 CTRL-O Executes the next command as normal mode command and return to
796 input mode.
797
798 CTRL-T Open configured editor with content of current form field.
799
800 CTRL-V Pass the next key press directly to WebKit.
801
802 CTRL-Z Enter the pass-through mode.
803
805 The completions are triggered by pressing `<Tab>` or `<S-Tab>` in the
806 activated inputbox. Depending of the current inserted content differ‐
807 ent completions are started. The completion takes additional typed
808 chars to filter the completion list that is shown.
809
810 commands
811 The completion for commands are started when at least `:` is
812 shown in the inputbox. If initial chars are passed, the comple‐
813 tion will lookup those commands that begin with the given chars.
814
815 settings
816 The setting name completion is started if at least `:set ` is
817 shown in inputbox and does also match settings that begins with
818 already typed setting prefix.
819
820 history
821 The history of URIs is shown for the `:open ` and `:tabopen `
822 commands. This completion looks up every given word in the his‐
823 tory URI and titles. Only those history items are shown, where
824 the title or URI contains all tags.
825
826 :open foo bar<Tab>
827 will complete only URIs that contain the words foo and
828 bar.
829
830 bookmarks
831 The bookmark completion is similar to the history completion,
832 but does match only the tags of the bookmarks. The bookmark
833 completion is started by `:open !`, `:tabopen !` or `:bmr ` and
834 does a prefix search for all given words in the bookmark tags.
835
836 :open !foo ba
837 will match all bookmarks that have tags starting with
838 "foo" and "ba". If the bookmark does not have any tags
839 set, the URL is split on `.' and `/' into tags.
840
841 :bmr tag
842 will match all bookmarks that have tags starting with
843 "tag".
844
845 bookmark tags
846 The bookmark tag completion allows the insertion of already used
847 bookmarks for the `:bma ` commands.
848
849 search The search completion allows a filtered list of already done
850 searches. This completion starts by `/` or `?` in inputbox and
851 performs a prefix comparison for further typed chars.
852
854 All settings listed below can be set with the `:set' command. See Set‐
855 tings under COMMAND MODE for syntax.
856
857 accelerated-2d-canvas(bool)
858 Enable or disable accelerated 2D canvas. When accelerated 2D
859 canvas is enabled, WebKit may render some 2D canvas content us‐
860 ing hardware accelerated drawing operations.
861
862 allow-file-access-from-file-urls(bool)
863 Indicates whether file access is allowed from file URLs. By de‐
864 fault, when something is loaded using a file URI, cross origin
865 requests to other file resources are not allowed.
866
867 allow-universal-access-from-file-urls(bool)
868 Indicates whether or not JavaScript running in the context of a
869 file scheme URL should be allowed to access content from any
870 origin. By default, when something is loaded in a using a file
871 scheme URL, access to the local file system and arbitrary local
872 storage is not allowed.
873
874 caret(bool)
875 Whether to enable accessibility enhanced keyboard navigation.
876
877 cookie-accept (string)
878 Cookie accept policy {`always', `never', `origin' (accept all
879 non-third-party cookies)}.
880
881 closed-max-items (int)
882 Maximum number of stored last closed URLs. If closed-max-items
883 is set to 0, closed URLs will not be stored.
884
885 completion-css (string)
886 CSS style applied to the inputbox completion list items.
887
888 completion-hover-css (string)
889 CSS style applied to the inputbox completion list item that is
890 currently hovered by the mouse.
891
892 completion-selected-css (string)
893 CSS style applied to the inputbox completion list item that is
894 currently selected.
895
896 cursiv-font (string)
897 The font family used as the default for content using cursive
898 font.
899
900 dark-mode (bool)
901 Whether to enable dark mode. Websites can use the `prefers-
902 color-scheme' media query to adjust styles according to this op‐
903 tion.
904
905 default-charset (string)
906 The default text charset used when interpreting content with an
907 unspecified charset.
908
909 default-font (string)
910 The font family to use as the default for content that does not
911 specify a font.
912
913 default-zoom (int)
914 Default Full-Content zoom level in percent. Default is 100.
915
916 dns-prefetching (bool)
917 Indicates if Vimb prefetches domain names.
918
919 download-command (string)
920 A command with placeholder '%s' that will be invoked to download
921 a URI in case 'download-use-external' is enabled.
922
923 The following additional environment variable are available:
924 $VIMB_URI
925 The URI of the current opened page, normally the page
926 where the download was started from, also known as ref‐
927 erer.
928 $VIMB_DOWNLOAD_PATH
929 Setting value of 'download-path' which would be used nor‐
930 mally for downloads.
931
932 :set download-command=/bin/sh -c "cd '$VIMB_DOWNLOAD_PATH' &&
933 curl -sLJOC - -e '$VIMB_URI' %s"
934
935 download-path (string)
936 Path to the default download directory. If no download direc‐
937 tory is set, download will be written into current directory.
938 The following pattern will be expanded if the download is
939 started '~/', '~user', '$VAR' and '${VAR}'.
940
941 download-use-external (bool)
942 Indicates if the external download tool set as 'download-com‐
943 mand' should be used to handle downloads. If this is disabled
944 Vimb will handle the download.
945
946 editor-command (string)
947 Command with placeholder '%s' called if form field is opened
948 with $EDITOR to spawn the editor-like `x-terminal-emulator -e
949 vim %s'. To use Gvim as the editor, it's necessary to call it
950 with `-f' to run it in the foreground.
951
952 font-size (int)
953 The default font size used to display text.
954
955 frame-flattening (bool)
956 Whether to enable the Frame Flattening. With this setting each
957 subframe is expanded to its contents, which will flatten all the
958 frames to become one scrollable page.
959
960 fullscreen (bool)
961 Show the current window full-screen.
962
963 hardware-acceleration-policy (string)
964 This setting decides how to enable and disable hardware acceler‐
965 ation.
966 ondemand
967 enables the hardware acceleration when the web contents
968 request it, disabling it again when no longer needed.
969 always enforce hardware acceleration to be enabled.
970 never disables it completely. Note that disabling hardware ac‐
971 celeration might cause some websites to not render cor‐
972 rectly or consume more CPU.
973
974 header (list)
975 Comma separated list of headers that replaces default header
976 sent by WebKit or new headers. The format for the header list
977 elements is `name[=[value]]'.
978
979 Note that these headers will replace already existing headers.
980 If there is no '=' after the header name, then the complete
981 header will be removed from the request, if the '=' is present
982 means that the header value is set to empty value.
983
984 Note that webkit reused already set headers in case of a reload
985 of a page. So if there are headers removed that where previ‐
986 ously use to access a certain page and the page is reloaded or
987 opened via back/forward history the header will still be sent.
988 To apply the new header setting properly it's required to re‐
989 quest another page or to open current page new by `O<Cr>`.
990
991 To use '=' within a header value the value must be quoted like
992 shown in Example for the Cookie header.
993
994 :set header=DNT=1,User-Agent,Cookie='name=value'
995 Send the 'Do Not Track' header with each request and re‐
996 move the User-Agent Header completely from request.
997
998 hint-follow-last (bool)
999 If on, vimb automatically follows the last remaining hint on the
1000 page. If off hints are fired only if enter is pressed.
1001
1002 hint-keys-same-length (bool)
1003 If on, all hint labels will have the same length, so no hints
1004 will be ambiguous.
1005
1006 hint-timeout (int)
1007 Timeout before automatically following a non-unique numerical
1008 hint. To disable auto fire of hints, set this value to 0.
1009
1010 hint-keys (string)
1011 The keys used to label and select hints. With its default
1012 value, each hint has a unique label which can be typed to select
1013 it, while all other characters are used to filter hints based on
1014 their text. With a value such as asdfg;lkjh, each hint is `la‐
1015 beled' based on the characters of the home row.
1016
1017 If the hint-keys string starts with a '0' the keys are consid‐
1018 ered to follow the rules of numeric labeling. So that the ifrst
1019 char of the label will never start with the '0'.
1020
1021 Note that the hint matching by label built of hint-keys is case
1022 sensitive. In this vimb differs from some other browsers that
1023 show hint labels in upper case, but match them lowercase.
1024
1025 To have upper case hint labels, it's possible to add following
1026 css to the `style.css' file in vimb's configuration directory.
1027
1028 "span[vimbhint="label"] {text-transform: uppercase !important;}"
1029
1030 hint-match-element (bool)
1031 If this is set to 'true' typed chars that are not part of the
1032 set 'hint-keys' are used to filter hinted DOM elements by their
1033 text value. If 'hint-keys' are set to chars instead of numbers
1034 it might be useful to disable matching of the elements by 'hint-
1035 match-element=false'.
1036
1037 history-max-items (int)
1038 Maximum number of unique items stored in search-, command or URI
1039 history. If history-max-items is set to 0, the history file
1040 will not be changed. This setting has no effect if option
1041 --incognito is set.
1042
1043 home-page (string)
1044 Homepage that vimb opens if started without a URI.
1045
1046 html5-database (bool)
1047 Whether to enable HTML5 client-side SQL database support.
1048 Client-side SQL database allows web pages to store structured
1049 data and be able to use SQL to manipulate that data asyn‐
1050 chronously.
1051
1052 html5-local-storage (bool)
1053 Whether to enable HTML5 localStorage support. localStorage pro‐
1054 vides simple synchronous storage access.
1055
1056 hyperlink-auditing (bool)
1057 Enable or disable support for <a ping>.
1058
1059 images (bool)
1060 Determines whether images should be automatically loaded or not.
1061
1062 incsearch (bool)
1063 While typing a search command, show where the pattern typed so
1064 far matches.
1065
1066 input-autohide (bool)
1067 If enabled the inputbox will be hidden whenever it contains no
1068 text.
1069
1070 input-css (string)
1071 CSS style applied to the inputbox in normal state.
1072
1073 input-error-css (string)
1074 CSS style applied to the inputbox in case of displayed error.
1075
1076 javascript-can-access-clipboard (bool)
1077 Whether JavaScript can access the clipboard.
1078
1079 javascript-can-open-windows-automatically (bool)
1080 Whether JavaScript can open popup windows automatically without
1081 user interaction.
1082
1083 geolocation (string)
1084 Controls website access to the geolocation API {`always',
1085 `never', `ask' (display a prompt each time)}
1086
1087 media-playback-allows-inline (bool)
1088 Whether media playback is full-screen only or inline playback is
1089 allowed. Setting it to false allows specifying that media play‐
1090 back should be always fullscreen.
1091
1092 media-playback-requires-user-gesture (bool)
1093 Whether a user gesture (such as clicking the play button) would
1094 be required to start media playback or load media. Setting it
1095 on requires a gesture by the user to start playback, or to load
1096 the media.
1097
1098 media-stream (bool)
1099 Enable or disable support for MediaSource on pages. MediaSource
1100 is an experimental proposal which extends HTMLMediaElement to
1101 allow JavaScript to generate media streams for playback.
1102
1103 mediasource (bool)
1104 Enable or disable support for MediaSource on pages. MediaSource
1105 is an experimental proposal which extends HTMLMediaElement to
1106 allow JavaScript to generate media streams for playback.
1107
1108 minimum-font-size (int)
1109 The minimum font size used to display text.
1110
1111 monospace-font (string)
1112 The font family used as the default for content using monospace
1113 font.
1114
1115 monospace-font-size (int)
1116 Default font size for the monospace font.
1117
1118 offline-cache (bool)
1119 Whether to enable HTML5 offline web application cache support.
1120 Offline web application cache allows web applications to run
1121 even when the user is not connected to the network.
1122
1123 print-backgrounds (bool)
1124 Whether background images should be drawn during printing.
1125
1126 plugins (bool)
1127 Determines whether or not plugins on the page are enabled.
1128
1129 prevent-newwindow (bool)
1130 Whether to open links, that would normally open in a new window,
1131 in the current window. This option does not affect links fired
1132 by hinting.
1133
1134 sans-serif-font (string)
1135 The font family used as the default for content using sans-serif
1136 font.
1137
1138 scripts (bool)
1139 Determines whether or not JavaScript executes within a page.
1140
1141 scroll-step (int)
1142 Number of pixel vimb scrolls if 'j' or 'k' is used.
1143
1144 serif-font (string)
1145 The font family used as the default for content using serif
1146 font.
1147
1148 show-titlebar (bool)
1149 Determines whether the titlebar is shown (on systems that pro‐
1150 vide window decoration). Defaults to true.
1151
1152 site-specific-quirks (bool)
1153 Enables the site-specific compatibility workarounds.
1154
1155 smooth-scrolling (bool)
1156 Enable or disable support for smooth scrolling.
1157
1158 spacial-navigation (bool)
1159 Whether to enable the Spatial Navigation. This feature consists
1160 in the ability to navigate between focusable elements in a Web
1161 page, such as hyperlinks and form controls, by using Left,
1162 Right, Up and Down arrow keys. For example, if a user presses
1163 the Right key, heuristics determine whether there is an element
1164 they might be trying to reach towards the right, and if there
1165 are multiple elements, which element they probably want.
1166
1167 spell-checking (bool)
1168 Enable or disable the spell checking feature.
1169
1170 spell-checking-languages (string)
1171 Set comma separated list of spell checking languages to be used
1172 for spell checking.
1173 The locale string typically is in the form lang_COUNTRY, where
1174 lang is an ISO-639 language code, and COUNTRY is an ISO-3166
1175 country code. For instance, sv_FI for Swedish as written in Fin‐
1176 land or pt_BR for Portuguese as written in Brazil.
1177
1178 status-bar (bool)
1179 Indicates if the status bar should be shown.
1180
1181 status-css (string)
1182 CSS style applied to the status bar on none https pages.
1183
1184 status-ssl-css (string)
1185 CSS style applied to the status bar on https pages with trusted
1186 certificate.
1187
1188 status-ssl-invalid-css (string)
1189 CSS style applied to the status bar on https pages with un‐
1190 trusted certificate.
1191
1192 strict-ssl (bool)
1193 If 'on', vimb will not load a untrusted https site.
1194
1195 stylesheet (bool)
1196 If 'on' the user defined styles-sheet is used.
1197
1198 tabs-to-links (bool)
1199 Whether the Tab key cycles through elements on the page.
1200
1201 If true, pressing the Tab key will focus the next element in the
1202 web view. Otherwise, the web view will interpret Tab key
1203 presses as normal key presses. If the selected element is ed‐
1204 itable, the Tab key will cause the insertion of a Tab character.
1205
1206 timeoutlen (int)
1207 The time in milliseconds that is waited for a key code or mapped
1208 key sequence to complete.
1209
1210 user-agent (string)
1211 The user-agent string used by WebKit.
1212
1213 user-scripts (bool)
1214 If 'on' the user scripts are injected into every page.
1215
1216 webaudio (bool)
1217 Enable or disable support for WebAudio on pages. WebAudio is an
1218 experimental proposal for allowing web pages to generate Audio
1219 WAVE data from JavaScript.
1220
1221 webgl (bool)
1222 Enable or disable support for WebGL on pages.
1223
1224 webinspector (bool)
1225 Determines whether or not developer tools, such as the Web In‐
1226 spector, are enabled.
1227
1228 x-hint-command (string)
1229 Command used if hint mode ;x is fired. The command can be any
1230 vimb command string. Note that the command is run through the
1231 mapping mechanism of vimb so it might change the behaviour by
1232 adding or changing mappings.
1233
1234 :set x-hint-command=:sh! curl -e <C-R>% <C-R>;
1235 This fills the inputbox with the prefilled download com‐
1236 mand and replaces `<C-R>%' with the current URI and `<C-
1237 R>;' with the URI of the hinted element.
1238
1239 xss-auditor (bool)
1240 Whether to enable the XSS auditor. This feature filters some
1241 kinds of reflective XSS attacks on vulnerable web sites.
1242
1244 $XDG_CONFIG_HOME/vimb[/PROFILE]
1245 Directory for configuration data. If executed with -p PROFILE
1246 parameter, configuration is read from this subdirectory.
1247 config Configuration file to set WebKit setting, some GUI styles
1248 and keybindings.
1249 cookies.db
1250 Sqlite cookie storage. This file will not be touched if
1251 option --incognito is set.
1252 closed Holds the URIs of last closed browser windows. This file
1253 will not be touched if option --incognito is set.
1254 history
1255 This file holds the history of unique opened URIs. This
1256 file will not be touched if option --incognito is set.
1257 bookmark
1258 This file holds the list of bookmarked URIs with tags.
1259 command
1260 This file holds the history of commands and search
1261 queries performed via input box. This file will not be
1262 touched if option --incognito is set.
1263 queue Holds the read it later queue filled by `qpush'.
1264 search This file holds the history of search queries. This file
1265 will not be touched if option --incognito is set.
1266 scripts.js
1267 This file can be used to run user scripts, that are in‐
1268 jected into every page that is opened.
1269 style.css
1270 File for userdefined CSS styles. These file is used if
1271 the config variable `stylesheet' is enabled.
1272
1273 There are also some sample scripts installed together with Vimb under
1274 /usr/share/vimb/examples.
1275
1277 http_proxy, HTTP_PROXY
1278 If either environment variable is non-empty, the specified host
1279 and optional port is used to tunnel requests. For example:
1280 HTTP_PROXY=localhost:8118.
1281
1283 Report bugs to the main project page on https://github.com/fan‐
1284 glingsu/vimb/issues
1285 or on the mailing list https://lists.source‐
1286 forge.net/lists/listinfo/vimb-users.
1287
1289 Daniel Carl
1290
1291
1292
1293vimb/3.6.0 01 2020 VIMB(1)