1VIMB(1)                           Vimb Manual                          VIMB(1)
2
3
4

NAME

6       Vimb  -  Vim Browser - A modal web browser based on WebKit, inspired by
7       Vim: the great editor.
8

SYNOPSIS

10       vimb [OPTIONS] [URI|file|-]
11

DESCRIPTION

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

OPTIONS

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

MODES

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

NORMAL MODE COMMANDS

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

COMMAND MODE

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

INPUT MODE

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

COMPLETIONS

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

SETTINGS

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

FILES

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

ENVIRONMENT

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

REPORTING BUGS

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

AUTHOR

1289       Daniel Carl
1290
1291
1292
1293vimb/3.6.0                          01 2020                            VIMB(1)
Impressum