From b1518d7d72421cae4b157943dd07e2030a918289 Mon Sep 17 00:00:00 2001 From: rafa_99 Date: Sat, 25 Sep 2021 01:23:25 +0100 Subject: Project branch off --- doc/neovimb.1 | 1604 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ doc/vimb.1 | 1623 --------------------------------------------------------- 2 files changed, 1604 insertions(+), 1623 deletions(-) create mode 100644 doc/neovimb.1 delete mode 100644 doc/vimb.1 (limited to 'doc') diff --git a/doc/neovimb.1 b/doc/neovimb.1 new file mode 100644 index 0000000..f62f102 --- /dev/null +++ b/doc/neovimb.1 @@ -0,0 +1,1604 @@ +.\" vim: ft=groff +.TH neovimb 1 "DATE" "neovimb/VERSION" "neovimb Manual" +.SH NAME +neovimb - Vim Browser - A modal web browser based on WebKit, inspired by vimb. +. +. +.SH SYNOPSIS +.B neovimb +.OP OPTIONS +.RI [ URI "|" file "|" - ] +. +. +.SH DESCRIPTION +neovimb is a WebKit based web browser that behaves like the Vimperator +plugin for Firefox and has usage paradigms from the great editor, Vim. +The goal of neovimb is to build a completely keyboard-driven, efficient +and pleasurable browsing-experience. +. +. +.SH OPTIONS +If no \fIURI\fP or \fIfile\fP is given, neovimb will open the configured +home-page. +If \fIURI\fP is '-', neovimb reads the HTML to display from stdin. +.P +Mandatory arguments to long options are mandatory for short options too. +.TP +.BI "\-C, \-\-cmd " "CMD" +Run \fICMD\fP as ex command line right before the first page is loaded. +If the flag is used more than one time, the commands are called in order they +are given. +You could also pass several ex commands in one \fICMD\fP, +if they are separated by "|". +.sp +.EX +neovimb --cmd "set dark-mode=on|set header=Referer,DNT=1" +.EE +.TP +.BI "\-c, \-\-config " "FILE" +Use custom configuration given as \fIFILE\fP. +This will also be applied on new spawned instances. +.TP +.BI "\-e, \-\-embed " "WINID" +.I WINID +of an XEmbed-aware application, that neovimb will use as its parent. +.TP +.B "\-i, \-\-incognito" +Start an instance with user data read-only (see \fIFILES\fP section). +.TP +.B "\-h, \-\-help" +Show help options. +.TP +.BI "\-p, \-\-profile " "PROFILE-NAME" +Create or open specified configuration profile. +Configuration data for the profile is stored in a directory named +\fIPROFILE-NAME\fP under default directory for configuration data. +.TP +.B "\-v, \-\-version" +Print build and version information and then quit. +.TP +.B "\-\-no-maximize" +Do no attempt to maximize window. +.TP +.B "\-\-bug-info" +Prints information about used libraries for bug reports and then quit. +. +. +.SH MODES +neovimb is modal and has the following main modes: +.IP "Normal Mode" +The default mode. +Pressing Escape always enter normal mode. +.IP "Input Mode" +Used for editing text elements in a webpage. +.IP "Command Mode" +Execute `ex` commands from the builtin inputbox (commandline). +.IP "Pass-Through Mode" +In Pass-Through mode only the `` and `` keybindings are interpreted +by neovimb, all other keystrokes are given to the webview to handle them. +This allows the use of a website's configured keybindings, that might otherwise +be swallowed by neovimb. +. +. +.SH NORMAL MODE COMMANDS +Some of the Normal Model Commands can have a numeric count to multiply the +effect of the command. +If a command supports the count this is shown as [\fBN\fP]. +. +.SS General +.TP +.B : +Start Command Mode and print `:' to the input box. +.TP +.B gi +Set cursor to the first editable element in the page and switch to Input +Mode. +.TP +.B i +Set cursor to the last focused element in the page and switch to Input Mode. +If no element was focused before the first element is focused like with `gi'. +.TP +.B CTRL\-Z +Switch neovimb into Pass-Through Mode. +.TP +.B gf +Open the configured editor (`editor-command') with the current page's content. +.TP +.B gF +Open the Web Inspector for the current page. +.TP +.B CTRL\-V +Pass the next key press directly to GTK. +.TP +.B CTRL\-Q +Quit the browser if there are no running downloads. +. +.SS Navigation +.TP +.B o +Start Command Mode and print `:open ' to the input box. +.TP +.B O +Start Command Mode and print `:open URI' to the input box. +.TP +.B t +Start Command Mode and print `:tabopen ' to the input box. +.TP +.B T +Start Command Mode and print `:tabopen URI' to the input box. +.TP +.B gh +Open the configured home-page. +.TP +.B gH +Open the configured home-page in a new window. +.TP +.B u +Open the last closed page. +.TP +.B U +Open the last closed page in a new window. +.TP +.B CTRL\-P +Open the oldest entry from the read it later queue in the current browser +window. +.TP +.BI [ \(dqx ]p +Open the URI out of the register \fIx\fP or, if not given, from the clipboard. +.TP +.BI [ \(dqx ]P +Open the URI out of the register \fIx\fP or, if not given, from the clipboard in a +new window. +.TP +.BI [ N ]CTRL\-O +Go back \fIN\fP steps in the browser history. +.TP +.BI [ N ]CTRL\-I +Go forward \fIN\fP steps in the browser history. +.TP +.BI [ N ]gu +Go to the \fIN\fPth descendent directory of the current opened URI. +.TP +.B gU +Go to the domain of the current opened page. +.TP +.B r +Reload the website. +.TP +.B R +Reload the website without using caches. +.TP +.B CTRL\-C +Stop loading the current page. +.TP +.B CTRL-LeftMouse, MiddleMouse +Opens the clicket link into new window. +.TP +.B Shift-LeftMouse +Push the link url under the cursor to the end of the Read It Later queue like +the `:qpush' command. +. +.SS Motion +.TP +.BI [ N ]CTRL\-F +Scroll \fIN\fP pages down. +.TP +.BI [ N ]CTRL\-B +Scroll \fIN\fP pages up. +.TP +.BI [ N ]CTRL\-D +Scroll \fIN\fP half pages down. +.TP +.BI [ N ]CTRL\-U +Scroll \fIN\fP half pages up. +.TP +.BI [ N ]gg +Scroll to the top of the current page. +Or if \fIN\fP is given to \fIN\fP% of the page. +.TP +.BI [ N ]G +Scroll to the bottom of the current page. +Or if \fIN\fP is given to \fIN\fP% of the page. +.TP +.B 0, ^ +Scroll to the absolute left of the document. +Unlike in Vim, 0 and ^ work exactly the same way. +.TP +.B $ +Scroll to the absolute right of the document. +.TP +.BI [ N ]h +Scroll \fIN\fP steps to the left of page. +.TP +.BI [ N ]l +Scroll \fIN\fP steps to the right of page. +.TP +.BI [ N ]j +Scroll page \fIN\fP steps down. +.TP +.BI [ N ]k +Scroll page \fIN\fP steps up. +.TP +.BI m{ a-z } +Set a page mark {\fIa-z\fP} at the current position on the page. +Such set marks are only available on the current page; +if the page is left, all marks will be removed. +.TP +.BI '{ a-z } +Jump to the mark {\fIa-z\fP} on the current page. +.TP +.B '' +Jumps to the position before the latest jump, or where the last "m'" command +was given. +. +.SS Hinting +Hinting in neovimb is how you accomplish the tasks that you would do with the +mouse in common mouse-driven browsers: open a URI, yank a URI, save a page and +so on. When hinting is started, the relevant elements on the page will +be marked by labels generated from configured `hint-keys'. +Hints can be selected by using , or , , +by typing the chars of the label, or filtering the elements by some text +that is part of the hinted element (like URI, link text, button label) +or any combination of these methods. +If is pressed, the current active hint will be fired. +If only one possible hint remains, this will be fired automatically. +.P +.BR Syntax: " ;{mode}{hint}" +.P +Start Hints mode. +Different elements depending on \fImode\fP are highlighted and `numbered'. +Elements can be selected either by typing their label, or by typing part +of their text (\fIhint\fP) to narrow down the result. +When an element has been selected, it is automatically clicked +or used (depending on \fImode\fP) and hint mode ends. +.P +The filtering of hints by text splits the query at ' ' and use the single parts +as separate queries to filter the hints. +This is useful for hints that have a lot of filterable chars in common +and many chars are required to make a distinct selection. +For example ';over tw' will easily select the second hint out of +{'very long link text one', 'very long link text two'}. +.P +The following keys have special meanings in Hints modes: +.PD 0 +.TP +.B +Selects the first highlighted element, or the current focused. +.TP +.B +Moves the focus to the next hint element. +.TP +.B +Moves the focus to the previous hint element. +.TP +.B , CTRL\-C, CTRL\-[ +Exits Hints mode without selecting an element. +.PD +.TP +.B Hint modes: +.RS +.PD 0 +.TP +.B f +Is an alias for the \fB;o\fP hint mode. +.TP +.B F +Is an alias for the \fB;t\fP hint mode. +.TP +.B ;o +Open hint's location in the current window. +.TP +.B ;t +Open hint's location in a new window. +.TP +.B ;s +Saves the hint's destination under the configured `download-path'. +.TP +.B ;O +Generate an `:open' prompt with hint's URI. +.TP +.B ;T +Generate an `:tabopen' prompt with hint's URI. +.TP +.B ;e +Open the configured editor (`editor-command') with the hinted form element's +content. +If the file in editor is saved and the editor is closed, the file +content will be put back in the form field. +.TP +.B ;i +Open hinted image in the current window. +.TP +.B ;I +Open hinted image in a new window. +.TP +.B ;k +Kill (remove) hinted element from the page. +.TP +.B ;p +Push the hint's URI to the end of the Read It Later queue like the `:qpush' +command. +This is only available if neovimb was compiled with the QUEUE feature. +.TP +.B ;P +Push the hint's URI to the beginning of the Read It Later queue like the +`:qunshift' command. +This is only available if neovimb was compiled with the QUEUE feature. +.TP +.B ;x +Hints like ;o, but instead of opening the hinted URI, the +`x-hint-command' is run in neovimb. +.TP +.BI [ \(dqx ];y +Yank hint's destination location into primary and secondary clipboard and into +the register \fIx\fP. +.TP +.BI [ \(dqx ];Y +Yank hint's text description or form text into primary and secondary clipboard +and into the register \fIx\fP. +.PD +.RE +.TP +.BR Syntax: " g;{mode}{hint}" +Start an extended hints mode and stay there until is pressed. +Like normal hinting, except that after a hint is selected, hints +remain visible so that another one can be selected with the same action +as the first. +Note that the extended hint mode can only be combined with the following +hint modes +.IR "I o p P s t y Y" . +.PD +.TP +.B Motion +.RS +Motions commands are like those for normal mode except that CTRL is used as +modifier. +But they can not be used together with a count. +.P +.PD 0 +.TP +.B CTRL-F +Scroll one page down. +.TP +.B CTRL-B +Scroll one page up. +.TP +.B CTRL-D +Scroll half page down. +.TP +.B CTRL-U +Scroll half page up. +.TP +.B CTRL-J +Scroll one step down. +.TP +.B CTRL-K +Scroll one step up. +.PD +.RE +. +.SS Searching +.TP +.BI / QUERY ", ?" QUERY +Start searching for \fIQUERY\fP in the current page. +\fI/\fP start search forward, \fI?\fP in backward direction. +.TP +.BR * , " #" +Start searching for the current selected text, or if no text is selected for +the content of the primary or secondary clipboard. +\fI*\fP start the search in forward direction and \fI#\fP in backward +direction. +.sp +Note that these commands will yank the text selection into the clipboard and +may remove other content from there! +.TP +.BI [ N ]n +Search for \fIN\fPnth next search result depending on current search +direction. +.TP +.BI [ N ]N +Search for \fIN\fPnth previous search result depending on current search +.TP +.B +Perform a click on element containing the current highlighted search result. +direction. +. +.SS Zooming +.TP +.BI [ N ]zi +Zoom-In the text of the page by \fIN\fP steps. +.TP +.BI [ N ]zo +Zoom-Out the text of the page by \fIN\fP steps. +.TP +.BI [ N ]zI +Full-Content Zoom-In the page by \fIN\fP steps. +.TP +.BI [ N ]zO +Full-Content Zoom-Out the page by \fIN\fP steps. +.TP +.B zz +Reset Zoom. +. +.SS Yank +.TP +.BI [ \(dqx ]y +Yank the URI or current page into register \fIx\fP and clipboard. +.TP +.BI [ \(dqx ]Y +Yank the current selection into register x and clipboard. +. +. +.SH COMMAND MODE +Commands that are listed below are ex-commands like in Vim, that are typed +into the inputbox (the command line of neovimb). +The commands may vary in their syntax or in the parts they allow, +but in general they follow a simple syntax. +.P +.BR Syntax: " :[:| ][N]cmd[name][!][ lhs][ rhs]" +.sp +Where \fIlhs\fP (left hand side) must not contain any unescaped space. +The syntax of the rhs (right hand side) if this is available depends on the +command. +At the moment the count parts [N] of commands is parsed, but currently there is +no command that uses the count. +.sp +To avoid this, the commands can be prefixed by one or more additional `:' or +whitespace. +.P +Multiple commands, separated by a `|' can be given in a single command line +and will be executed consecutively. +The pipe can be included as an argument to a command by escaping it with a +backslash. +.br +Following commands process the entire command-line string literally. +These commands will include any `|' as part of their argument string and so +can not be followed by another command. +.P +.PD 0 +.IP - 2 +autocmd +.IP - +cmap, cnoremap, imap, inoremap, nmap, nnoremap +.IP - +eval +.IP - +normal +.IP - +open, tabopen +.IP - +shellcmd +.PD +. +.SS Command Line Editing +.TP +.B , CTRL\-[, CTRL-C +Ignore all typed content and switch back to normal mode. +.TP +.B +Submit the entered `ex` command or search query to run it. +.TP +.B CTRL\-H +Deletes the char before the cursor. +.TP +.B CTRL\-W +Deletes the last word before the cursor. +.TP +.B CTRL\-U +Remove everything between cursor and prompt. +.TP +.B CTRL\-B +Moves the cursor directly behind the prompt `:'. +.TP +.B CTRL\-E +Moves the cursor after the prompt in inputbox. +.TP +.B CTRL\-V +Pass the next key press directly to GTK. +.TP +.B CTRL\-R {a-z"%:/;} +Insert the content of given register at cursor position. +See also section about `:reg[ister]' command. +. +.SS Command Line History +.TP +.B +Start completion of the content in the inputbox in forward direction. +.TP +.B +Start completion of the content in the inputbox in backward direction. +.TP +.B +Step backward in the command history. +.TP +.B +Step forward in the command history. +Yank the current selection into register \fIx\fP and clipboard. +. +.SS Open +.TP +.BI ":o[pen] [" URI ] +Open the give \fIURI\fP in the current window. +If \fIURI\fP is empty, the configured 'home-page' is opened. +.TP +.BI ":t[abopen] [" URI ] +Open the give \fIURI\fP in a new window. +If \fIURI\fP is empty, the configured 'home-page' is opened. +. +.SS Key Mapping +Key mappings allow users to alter the actions of key presses. +Each key mapping is associated with a mode and only has effect +when the mode is active. +The following commands allow the user to substitute one sequence +of key presses by another. +.P +.BR Syntax: " :{m}map {lhs} {rhs}" +.P +Note that the \fIlhs\fP ends with the first found space. +If you want to use space also in the {lhs} you have to escape this +with a single `\\', as shown in the examples. +.sp +The \fIrhs\fP starts with the first non-space char. If you want a \fIrhs\fP +that starts with a space, you have to use "". +.P +Standard key mapping commands are provided for these modes \fIm\fP: +.PD 0 +.TP +.B n +Normal mode: when browsing normally. +.TP +.B i +Insert mode: when interacting with text fields on a website. +.TP +.B c +Command Line mode: when typing into neovimb's command line. +.PD +.P +Most keys in key sequences are represented simply by the character that you +see on the screen when you type them. +However, as a number of these characters have special meanings, and a +number of keys have no visual representation, a special notation is required. +.P +As special key names have the format \fI<...>\fP. +The following special keys can be used: , , , +for the cursor keys, , , , , , - and -. +.TP +.PD 0 +.BI ":nm[ap] {" lhs "} {" rhs } +.TP +.BI ":im[ap] {" lhs "} {" rhs } +.TP +.BI ":cm[ap] {" lhs "} {" rhs } +Map the key sequence \fIlhs\fP to \fIrhs\fP for the modes where the map +command applies. +The result, including \fIrhs\fP, is then further scanned for mappings. +This allows for nested and recursive use of mappings. +.RS +.sp +.IP ":cmap h /home/user/downloads/" +Adds a keybind to insert a file path into the input box. +This could be useful for the `:save' command +that could be used as ":save ^Gh". +.IP ":nmap :set scripts=on:open !glib" +This will enable scripts and lookup the first bookmarked URI with the tag +`glib' and open it immediately if F1 key is pressed. +.IP ":nmap \e \e 50G" +Example which maps two spaces to go to 50% of the page. +.RE +.TP +.BI ":nn[oremap] {" lhs "} {" rhs } +.TP +.BI ":ino[remap] {" lhs "} {" rhs } +.TP +.BI ":cno[remap] {" lhs "} {" rhs } +Map the key sequence \fIlhs\fP to \fIrhs\fP for the mode where the map command +applies. +Disallow mapping of \fIrhs\fP, to avoid nested and recursive mappings. +Often used to redefine a command. +.TP +.BI ":nu[nmap] {" lhs } +.TP +.BI ":iu[nmap] {" lhs } +.TP +.BI ":cu[nmap] {" lhs } +Remove the mapping of \fIlhs\fP for the applicable mode. +.PD +. +.SS Bookmarks +.TP +.BI ":bma [" tags ] +Save the current opened URI with \fItags\fP to the bookmark file. +.TP +.BI ":bmr [" URI ] +Removes all bookmarks for given \fIURI\fP or, if not given, the current opened +page. +. +.SS Handlers +Handlers allow specifying external scripts to handle alternative URI methods. +.TP +.BI ":handler-add " "handler" "=" "cmd" +Adds a handler to direct \fIhandler\fP links to the external \fIcmd\fP. +The \fIcmd\fP can contain one placeholder `%s` that will be filled by the +full URI given when the command is called. +.RS +.P +.PD 0 +.IP ":handler-add mailto=urxvt -e mutt %s" +to start email client for mailto links. +.IP ":handler-add magnet=xdg-open %s" +to open magnet links with xdg-open. +.IP ":handler-add ftp=urxvt -e wget %s -P ~/ftp-downloads" +to handle ftp downloads via wget. +.PD +.RE +.TP +.BI ":handler-remove " "handler" +Remove the handler for the given URI \fIhandler\fP. +. +.SS Shortcuts +Shortcuts allow the opening of an URI built up from a named template with additional +parameters. +If a shortcut named 'dd' is defined, you can use it with `:open dd +list of parameters' to open the generated URI. +.P +Shortcuts are convenient to use with search engines where the URI is standardised +and a single parameter is user defined. +.TP +.BI ":shortcut-add " shortcut = URI +Adds a shortcut with the \fIshortcut\fP and \fIURI\fP template. +The \fIURI\fP can contain multiple placeholders $0-$9 that will be +filled by the parameters given when the shortcut is called. +The parameters given when the shortcut is called will be split +into as many parameters like the highest used placeholder. +.sp +To use spaces within the parameters, the parameters can be grouped by +surrounding them with single-or double quotes-as shown in example shortcut +`map'. +.RS +.P +.PD 0 +.IP ":shortcut-add dl=https://duckduckgo.com/lite/?q=$0" +to setup a search engine. +Can be called by `:open dl my search phrase'. +.IP ":shortcut-add gh=https://github.com/$0/$1" +to build URIs from given parameters. +Can be called `:open gh fanglingsu neovimb'. +.IP ":shortcut-add map=https://maps.google.com/maps?saddr=$0&daddr=$1" +to search for a route, all but the last parameter must be quoted if they +contain spaces like `:open map "city hall, London" railway station, London' +.PD +.RE +.TP +.BI ":shortcut-remove " shortcut +Remove the search engine to the given \fIshortcut\fP. +.TP +.BI ":shortcut-default " shortcut +Set the shortcut for given \fIshortcut\fP as the default, that is the shortcut +to be used if no shortcut is given and the string to open is not an URI. It +doesn't matter if the \fIshortcut\fP is already in use or not to be able to set +it. +. +.SS Settings +.TP +.BI ":se[t] " var = value +Set configuration values named by \fIvar\fP. +To set boolean variable you should use 'on', 'off' or 'true' and 'false'. +Colors are given as hexadecimal value like '#f57700'. Spaces or more equals +signs in \fIvalue\fP just work without quotes: for example, +":set sans-serif-font=Some Sans Font". +.TP +.BI ":se[t] " var += value +Add the \fIvalue\fP to a number option, or append the \fIvalue\fP to a string +option. +When the option is a comma separated list, a comma is added, unless +the value was empty. +.TP +.BI ":se[t] " var ^= value +Multiply the \fIvalue\fP to a number option, or prepend the \fIvalue\fP to a +string option. +When the option is a comma separated list, a comma is added, +unless the value was empty. +.TP +.BI ":se[t] " var -= value +Subtract the \fIvalue\fP from a number option, or remove the \fIvalue\fP from +a string option, if it is there. +When the option is a comma separated list, a +comma is deleted, unless the option becomes empty. +.TP +.BI ":se[t] " var ? +Show the current set value of variable. +.IR VAR . +.TP +.BI ":se[t] " var ! +Toggle the value of boolean variable \fIvar\fP and display the new set value. +. +.SS Queue +The queue allows the marking of URIs for later reading. +This list is shared between the single instances of neovimb. +.TP +.BI ":qpu[sh] [" URI ] +Push \fIURI\fP or, if not given, the current URI to the end of the queue. +.TP +.BI ":qun[shift] [" URI ] +Push \fIURI\fP or, if not given, the current URI to the beginning of the queue. +.TP +.B :qp[op] +Open the oldest queue entry in the current browser window and remove it from the +queue. +.TP +.B :qc[lear] +Removes all entries from queue. +. +.SS Automatic commands +An autocommand is a command that is executed automatically in response to some +event, such as a URI being opened. +Autocommands are very powerful. +Use them with care and they will help you avoid typing many commands. +.P +Autocommands are built with following properties. +.TP +.I group +When the [\fIgroup\fP] argument is not given, neovimb uses the current group as +defined with ':augroup', otherwise, neovimb uses the group defined with +[\fIgroup\fP]. +Groups are useful to remove multiple grouped autocommands. +.TP +.I event +You can specify a comma separated list of event names. +No white space can be used in this list. +.P +.RS +.PD 0 +Events: +.TP +.B LoadStarting +Fired before a new page is going to be opened. +No data has been sent or received yet, the load may still fail for transport issues. +.TP +.B LoadStarted +Fired if a new page is going to be opened. +No data has been received yet, the load may still fail for transport issues. +.TP +.B LoadCommitted +Fired if first data chunk has arrived, meaning that the necessary transport +requirements are established, and the load is being performed. +This is the right event to toggle content related setting +like 'scripts', 'plugins' and such things. +.TP +.B LoadFinished +Fires when everything that was required to display on the page has been loaded. +.TP +.B DownloadStarted +Fired right after a download is started. +.TP +.B DownloadFinished +Fired if a neovimb managed download is finished. +.TP +.B DownloadFailed +Fired if a neovimb managed download failed. +.PD +.RE +.TP +.I pat +Comma separated list of patterns, matches in order to check if a autocommand +applies to the URI associated to an event. +To use ',' within the single patterns this must be escaped as '\e,'. +.RS +.P +.PD 0 +Patterns: +.IP "\fB*\fP" +Matches any sequence of characters. +This includes also '/' in contrast to shell patterns. +.IP "\fB?\fP" +Matches any single character except of '/'. +.IP "\fB{one,two}\fP" +Matches 'one' or 'two'. +Any '{', ',' and '}' within this pattern must be escaped by a '\\'. +\&'*' and '?' have no special meaning within the curly braces. +.IP "\fB\e\fP" +Use backslash to escape the special meaning of '?*{},' in the pattern or +pattern list. +.PD +.RE +.TP +.I cmd +Any `ex` command neovimb understands. +The leading ':' is not required. +Multiple commands can be separated by '|'. +.TP +.BI ":au[tocmd] [" group "] {" event "} {" pat "} {" cmd "}" +Add \fIcmd\fP to the list of commands that neovimb will execute automatically on +\fIevent\fP for a URI matching \fIpat\fP autocmd-patterns. +neovimb always adds the \fIcmd\fP after existing autocommands, so that the +autocommands are executed in the order in which they were given. +.TP +.BI ":au[tocmd]! [" group "] {" event "} {" pat "} {" cmd "}" +Remove all autocommands associated with \fIevent\fP and which pattern match +\fIpat\fP, and add the command \fIcmd\fP. +Note that the pattern is not matches literally to find autocommands +to remove, like Vim does. +neovimb matches the autocommand pattern with \fIpat\fP. +If [\fIgroup\fP] is not given, deletes autocommands in current group, +as noted above. +.TP +.BI ":au[tocmd]! [" group "] {" event "} {" pat "}" +Remove all autocommands associated with \fIevent\fP and which pattern matches +\fIpat\fP in given group (current group by default). +.TP +.BI ":au[tocmd]! [" group "] * {" pat "}" +Remove all autocommands with patterns matching \fIpat\fP for all events +in given group (current group by default). +.TP +.BI ":au[tocmd]! [" group "] {" event "}" +Remove all autocommands for \fIevent\fP in given group (current group +by default). +.TP +.BI ":au[tocmd]! [" group "]" +Remove all autocommands in given group (current group by default). +.TP +.BI ":aug[roup] {" name "}" +Define the autocmd group \fIname\fP for the following ":autocmd" commands. +The name "end" selects the default group. +.TP +.BI ":aug[roup]! {" name "}" +Delete the autocmd group \fIname\fP. +.P +Example: +.EX +:aug github +: au LoadCommitted * set scripts=off|set cookie-accept=never +: au LoadCommitted http{s,}://github.com/* set scripts=on +:aug end +.EE +. +.SS Misc +.TP +.BI ":cl[eardata] [" dataTypes "] [" timespan "]" +Asynchronously clears the website data of the given list of \fIdataTypes\fP +modified in the past \fItimespan\fP. +Note that the \fIdataTypes\fP must not contain spaces. +If \fItimespan\fP is not given, all website data will be removed. +Note that this effects all running instances of neovimb. +.RS +.P +.PD 0 +The \fIdataTypes\fP is a comma separated list of following types. +.TP +.B memory-cache +Memory cache. +.TP +.B disk-cache +HTTP disk cache. +.TP +.B offline-cache +Offline web application cache. +.TP +.B session-storage +Session storage data. +.TP +.B local-storage +Local storage data. +.TP +.B indexeddb-databases +IndexedDB databases. +.TP +.B plugin-data +Plugin data. +.TP +.B cookies +Cookies. Note that the cookies are not cleared in case a \fItimespan\fP is +given. +.TP +.B hsts-cache +HTTP Strict Transport Security cache. +.TP +.B - +Can be used to clear all known data types in case a \fItimespan\fP is used. +.PD +.RE +.RS +.P +.PD 0 +The \fItimespan\fP is given as sequence of '[multiplier]\fIunit\fP' tupels +with following units. +.TP +.B y +year (365 days) +.TP +.B w +week (7 days) +.TP +.B d +day +.TP +.B h +hour +.TP +.B m +minute +.TP +.B s +second +.PD +.P +.I Example: +.PD 0 +.IP ":cleardata" +to clear all known website data types without any timespan restriction. +.IP ":cleardata - 5m" +to clear all known website data types modified in the last 5 minutes. +.IP ":cleardata local-storage,session-storage,cookies" +to completely clear the cookies, local- and session-storage without time +restrictions. +.IP ":cleardata disk-cache 2d4h" +to clear the disk cache that was modified in the past two days and four hours. +.PD +.RE +.TP +.BI ":sh[ellcmd]! " cmd +Like :sh[ellcmd] but asynchronous. +.sp +Example: +.EX +:sh! /bin/sh -c 'echo "`date` $neovimb_URI" >> myhistory.txt' +.EE +.TP +.TP +.BI ":sh[ellcmd] " cmd +Runs the given shell \fIcmd\fP syncron and print the output into inputbox. +The following patterns in \fIcmd\fP are expanded: '~username', '~/', '$VAR' +and '${VAR}'. +A '\e' before these patterns disables the expansion. +.P +.RS +.P +.PD 0 +The following environment variables are set for called shell commands. +.TP +.B neovimb_URI +This variable is set by neovimb everytime a new page is opened to the URI of the +page. +.TP +.B neovimb_SELECTION +This variable is set to the current selected text on the page. +.TP +.B neovimb_TITLE +Contains the title of the current opened page. +.TP +.B neovimb_PID +Contains the pid of the running neovimb instance. +.TP +.B neovimb_WIN_ID +Holds the X-Window id of the neovimb window. +.TP +.B neovimb_XID +Holds the X-Window id of the neovimb window or of the embedding window if neovimb is +compiled with XEMBED and started with the -e option. +.EE +.RE +.TP +.BI ":sh[ellcmd]! " cmd +Like :sh[ellcmd] but asynchronous. +.sp +Example: +.EX +:sh! /bin/sh -c 'echo "`date` $neovimb_URI" >> myhistory.txt' +.EE +.TP +.BI ":s[ave] [" path "]" +Download current opened page into configured download directory. +If \fIpath\fP is given, download under this file name or path. +\fIpath\fP is expanded and can therefore contain '~/', '${ENV}' +and '~user' pattern. +.TP +.BI ":so[urce] [" file "]" +Read ex commands from \fIfile\fP. +.TP +.B :q[uit] +Close the browser. +This will be refused if there are running downloads. +.TP +.B :q[uit]! +Close the browser independent from an running download. +.TP +.B :reg[ister] +Display the contents of all registers. +.RS +.P +.PD 0 +Registers: +.TP +.BR \(dqa " \(em " \(dqz +26 named registers "a to "z. +neovimb fills these registers only when you say so. +.TP +.B \(dq: +Last executed `ex` command. +.TP +.B \(dq" +Last yanked content. +.TP +.B \(dq% +Curent opened URI. +.TP +.B \(dq/ +Last search phrase. +.TP +.B \(dq; +Contains the last hinted URL. +.PD +.RE +.TP +.BI :e[val] " javascript" +Runs the given \fIjavascript\fP in the current page and display the evaluated +value. +.sp +Example: :eval document.cookie +.TP +.BI :e[val]! " javascript" +Like :eval, but there is nothing print to the input box. +.TP +.BI ":no[rmal] [" cmds ] +Execute normal mode commands \fIcmds\fP. +This makes it possible to execute normal mode commands typed on the input box. +.sp +\fIcmds\fP cannot start with a space. +Put a count of 1 (one) before it, "1 " is one space. +.sp +Example: :set scripts!|no! R +.TP +.BI ":no[rmal]! [" cmds ] +Like :normal, but no mapping is applied to \fIcmds\fP. +.TP +.B :ha[rdcopy] +Print current document. +Open a GUI dialog where you can select the printer, +number of copies, orientation, etc. +. +. +.SH INPUT MODE +.TP +.BR , " CTRL\-[" +Switch back to normal mode. +.TP +.B CTRL\-O +Executes the next command as normal mode command and return to input mode. +.TP +.B CTRL\-T +Open configured editor with content of current form field. +.TP +.B CTRL\-V +Pass the next key press directly to WebKit. +.TP +.B CTRL\-Z +Enter the pass-through mode. +. +. +.SH COMPLETIONS +The completions are triggered by pressing `` or `` in the +activated inputbox. +Depending of the current inserted content different completions are started. +The completion takes additional typed chars to filter +the completion list that is shown. +.TP +.B commands +The completion for commands are started when at least `:` is shown in the +inputbox. +If initial chars are passed, the completion will lookup those +commands that begin with the given chars. +.TP +.B settings +The setting name completion is started if at least `:set ` is shown in +inputbox and does also match settings that begins with already typed setting +prefix. +.TP +.RS +.IP ":open foo bar" +will complete only URIs that contain the words foo and bar. +.RE +.TP +.B bookmarks +The bookmark completion is started by `:open \fB!\fP`, `:tabopen \fB!\fP` or +`:bmr ` and does a prefix search for all given words in the bookmark tags. +.RS +.IP ":open \fB!\fPfoo ba" +will match all bookmarks that have tags starting with "foo" and "ba". +If the bookmark does not have any tags set, the URL is split on `.' and `/' +into tags. +.IP ":bmr tag" +will match all bookmarks that have tags starting with "tag". +.RE +.TP +.B bookmark tags +The bookmark tag completion allows the insertion of already used bookmarks for the +`:bma ` commands. +.TP +.B search +The search completion allows a filtered list of already done searches. +This completion starts by `/` or `?` in inputbox and performs a prefix +comparison for further typed chars. +. +. +.SH SETTINGS +All settings listed below can be set with the `:set' command. +See \fBSettings\fP under \fBCOMMAND MODE\fP for syntax. +.TP +.BR accelerated-2d-canvas (bool) +Enable or disable accelerated 2D canvas. +When accelerated 2D canvas is enabled, WebKit may render some 2D canvas +content using hardware accelerated drawing operations. +.TP +.BR allow-file-access-from-file-urls (bool) +Indicates whether file access is allowed from file URLs. +By default, when something is loaded using a file URI, cross origin requests +to other file resources are not allowed. +.TP +.BR allow-universal-access-from-file-urls (bool) +Indicates whether or not JavaScript running in the context of a file scheme +URL should be allowed to access content from any origin. +By default, when something is loaded in a using a file scheme URL, access to +the local file system and arbitrary local storage is not allowed. +.TP +.BR caret (bool) +Whether to enable accessibility enhanced keyboard navigation. +.TP +.B cookie-accept (string) +Cookie accept policy {`always', `never', `origin' (accept all non-third-party +cookies)}. +.TP +.B closed-max-items (int) +Maximum number of stored last closed URLs. +If closed-max-items is set to 0, closed URLs will not be stored. +.TP +.B completion-css (string) +CSS style applied to the inputbox completion list items. +.TP +.B completion-hover-css (string) +CSS style applied to the inputbox completion list item that is currently +hovered by the mouse. +.TP +.B completion-selected-css (string) +CSS style applied to the inputbox completion list item that is currently +selected. +.TP +.B cursiv-font (string) +The font family used as the default for content using cursive font. +.TP +.B dark-mode (bool) +Whether to enable dark mode. Websites can use the `prefers-color-scheme' media +query to adjust styles according to this option. +.TP +.B default-charset (string) +The default text charset used when interpreting content with an unspecified +charset. +.TP +.B default-font (string) +The font family to use as the default for content that does not specify a +font. +.TP +.B default-zoom (int) +Default Full-Content zoom level in percent. Default is 100. +.TP +.B dns-prefetching (bool) +Indicates if neovimb prefetches domain names. +.TP +.B download-command (string) +A command with placeholder '%s' that will be invoked to download a URI in +case 'download-use-external' is enabled. +.RS +.TP +The following additional environment variable are available: +.PD 0 +.TP +.B $neovimb_URI +The URI of the current opened page, normally the page where the download was +started from, also known as referer. +.TP +.B $neovimb_DOWNLOAD_PATH +Setting value of 'download-path' which would be used normally for downloads. +.PD +.P +.PD 0 +.IP ":set download-command=/bin/sh -c ""cd '$neovimb_DOWNLOAD_PATH' \ +&& curl -sLJOC - -e '$neovimb_URI' %s""" +.PD +.RE +.TP +.B download-path (string) +Path to the default download directory. +If no download directory is set, download will be written into current +directory. +The following pattern will be expanded if the download is +started '~/', '~user', '$VAR' and '${VAR}'. +.TP +.B download-use-external (bool) +Indicates if the external download tool set as 'download-command' should be +used to handle downloads. +If this is disabled neovimb will handle the download. +.TP +.B editor-command (string) +Command with placeholder '%s' called if form field is opened with $EDITOR to +spawn the editor-like `x-terminal-emulator -e vim %s'. +To use Gvim as the editor, it's necessary to call it with `-f' to run it in +the foreground. +.TP +.B font-size (int) +The default font size used to display text. +.TP +.B frame-flattening (bool) +Whether to enable the Frame Flattening. +With this setting each subframe is expanded to its contents, +which will flatten all the frames to become one scrollable page. +.TP +.B fullscreen (bool) +Show the current window full-screen. +.TP +.B hardware-acceleration-policy (string) +This setting decides how to enable and disable hardware acceleration. +.PD 0 +.RS +.TP +.B ondemand +enables the hardware acceleration when the web contents request it, disabling +it again when no longer needed. +.TP +.B always +enforce hardware acceleration to be enabled. +.TP +.B never +disables it completely. +Note that disabling hardware acceleration might cause some websites to not +render correctly or consume more CPU. +.RE +.PD +.TP +.B header (list) +Comma separated list of headers that replaces default header sent by WebKit or +new headers. +The format for the header list elements is `name[=[value]]'. +.sp +Note that these headers will replace already existing headers. +If there is no '=' after the header name, then the complete header +will be removed from the request, if the '=' is present means that +the header value is set to empty value. +.sp +Note that webkit reused already set headers in case of a reload of a page. +So if there are headers removed that where previously use to access a certain +page and the page is reloaded or opened via back/forward history the header +will still be sent. +To apply the new header setting properly it's required to request another page +or to open current page new by `O`. +.sp +To use '=' within a header value the value must be quoted like shown in +Example for the Cookie header. +.RS +.P +.PD 0 +.IP ":set header=DNT=1,User-Agent,Cookie='name=value'" +Send the 'Do Not Track' header with each request and remove the User-Agent +Header completely from request. +.PD +.RE +.TP +.B hint-follow-last (bool) +If on, neovimb automatically follows the last remaining hint on the page. +If off hints are fired only if enter is pressed. +.TP +.B hint-keys-same-length (bool) +If on, all hint labels will have the same length, so no hints will be +ambiguous. +.TP +.B hint-timeout (int) +Timeout before automatically following a non-unique numerical hint. +To disable auto fire of hints, set this value to 0. +.TP +.B hint-keys (string) +The keys used to label and select hints. +With its default value, each hint has a unique label which can be typed +to select it, while all other characters are used to filter hints based +on their text. +With a value such as asdfg;lkjh, +each hint is `labeled' based on the characters of the home row. +.IP +If the hint-keys string starts with a '0' the keys are considered to follow +the rules of numeric labeling. So that the ifrst char of the label will never +start with the '0'. +.IP +Note that the hint matching by label built of hint-keys is case sensitive. +In this neovimb differs from some other browsers that show hint labels in upper +case, but match them lowercase. +.IP +To have upper case hint labels, it's possible to add following css to the +`style.css' file in neovimb's configuration directory. +.IP +"span[neovimbhint="label"] {text-transform: uppercase !important;}" +.TP +.B hint-match-element (bool) +If this is set to 'true' typed chars that are not part of the set 'hint-keys' +are used to filter hinted DOM elements by their text value. +If 'hint-keys' are set to chars instead of numbers it might be useful to +disable matching of the elements by 'hint-match-element=false'. +.TP +.B home-page (string) +Homepage that neovimb opens if started without a URI. +.TP +.B html5-database (bool) +Whether to enable HTML5 client-side SQL database support. +Client-side SQL database allows web pages to store structured data +and be able to use SQL to manipulate that data asynchronously. +.TP +.B html5-local-storage (bool) +Whether to enable HTML5 localStorage support. +localStorage provides simple synchronous storage access. +.TP +.B hyperlink-auditing (bool) +Enable or disable support for . +.TP +.B images (bool) +Determines whether images should be automatically loaded or not. +.TP +.B incsearch (bool) +While typing a search command, show where the pattern typed so far matches. +.TP +.B input-autohide (bool) +If enabled the inputbox will be hidden whenever it contains no text. +.TP +.B input-css (string) +CSS style applied to the inputbox in normal state. +.TP +.B input-error-css (string) +CSS style applied to the inputbox in case of displayed error. +.TP +.B javascript-can-access-clipboard (bool) +Whether JavaScript can access the clipboard. +.TP +.B javascript-can-open-windows-automatically (bool) +Whether JavaScript can open popup windows automatically without user +interaction. +.TP +.B geolocation (string) +Controls website access to the geolocation API {`always', `never', `ask' (display a prompt each time)} +.TP +.B media-playback-allows-inline (bool) +Whether media playback is full-screen only or inline playback is allowed. +Setting it to false allows specifying that media playback should be always +fullscreen. +.TP +.B media-playback-requires-user-gesture (bool) +Whether a user gesture (such as clicking the play button) would be required to +start media playback or load media. +Setting it on requires a gesture by the +user to start playback, or to load the media. +.TP +.B media-stream (bool) +Enable or disable support for MediaSource on pages. +MediaSource is an experimental proposal which extends HTMLMediaElement +to allow JavaScript to generate media streams for playback. +.TP +.B mediasource (bool) +Enable or disable support for MediaSource on pages. +MediaSource is an experimental proposal which extends HTMLMediaElement +to allow JavaScript to generate media streams for playback. +.TP +.B minimum-font-size (int) +The minimum font size used to display text. +.TP +.B monospace-font (string) +The font family used as the default for content using monospace font. +.TP +.B monospace-font-size (int) +Default font size for the monospace font. +.TP +.B notification (string) +Controls website access to the notification API, that sends notifications via +dbus. {`always', `never', `ask' (display a prompt each time)} +.TP +.B offline-cache (bool) +Whether to enable HTML5 offline web application cache support. +Offline web application cache allows web applications to run even +when the user is not connected to the network. +.TP +.B print-backgrounds (bool) +Whether background images should be drawn during printing. +.TP +.B plugins (bool) +Determines whether or not plugins on the page are enabled. +.TP +.B prevent-newwindow (bool) +Whether to open links, that would normally open in a new window, in the +current window. +This option does not affect links fired by hinting. +.TP +.B sans-serif-font (string) +The font family used as the default for content using sans-serif font. +.TP +.B scripts (bool) +Determines whether or not JavaScript executes within a page. +.TP +.B scroll-step (int) +Number of pixel neovimb scrolls if 'j' or 'k' is used. +.TP +.B scroll-multiplier (int) +Multiplier to increase the scroll distance if window is scrolled by mouse +wheel. +.TP +.B serif-font (string) +The font family used as the default for content using serif font. +.TP +.B show-titlebar (bool) +Determines whether the titlebar is shown (on systems that provide window +decoration). +Defaults to true. +.TP +.B site-specific-quirks (bool) +Enables the site-specific compatibility workarounds. +.TP +.B smooth-scrolling (bool) +Enable or disable support for smooth scrolling. +.TP +.B spatial-navigation (bool) +Whether to enable the Spatial Navigation. +This feature consists in the ability to navigate between focusable +elements in a Web page, such as hyperlinks and form controls, by using +Left, Right, Up and Down arrow keys. +For example, if a user presses the Right key, heuristics determine whether +there is an element they might be trying to reach towards the right, and if +there are multiple elements, which element they probably want. +.TP +.B spell-checking (bool) +Enable or disable the spell checking feature. +.TP +.B spell-checking-languages (string) +Set comma separated list of spell checking languages to be used for spell +checking. +.br +The locale string typically is in the form lang_COUNTRY, where lang is an +ISO-639 language code, and COUNTRY is an ISO-3166 country code. For instance, +sv_FI for Swedish as written in Finland or pt_BR for Portuguese as written in +Brazil. +.TP +.B status-bar (bool) +Indicates if the status bar should be shown. +.TP +.B status-css (string) +CSS style applied to the status bar on none https pages. +.TP +.B status-ssl-css (string) +CSS style applied to the status bar on https pages with trusted certificate. +.TP +.B status-ssl-invalid-css (string) +CSS style applied to the status bar on https pages with untrusted certificate. +.TP +.B strict-ssl (bool) +If 'on', neovimb will not load a untrusted https site. +.TP +.B stylesheet (bool) +If 'on' the user defined styles-sheet is used. +.TP +.B tabs-to-links (bool) +Whether the Tab key cycles through elements on the page. +.sp +If true, pressing the Tab key will focus the next element in the web view. +Otherwise, the web view will interpret Tab key presses as normal key presses. +If the selected element is editable, the Tab key will cause the insertion +of a Tab character. +.TP +.B timeoutlen (int) +The time in milliseconds that is waited for a key code or mapped key sequence +to complete. +.TP +.B user-agent (string) +The user-agent string used by WebKit. +.TP +.B user-scripts (bool) +If 'on' the user scripts are injected into every page. +.TP +.B webaudio (bool) +Enable or disable support for WebAudio on pages. +WebAudio is an experimental proposal for allowing web pages +to generate Audio WAVE data from JavaScript. +.TP +.B webgl (bool) +Enable or disable support for WebGL on pages. +.TP +.B webinspector (bool) +Determines whether or not developer tools, such as the Web Inspector, are +enabled. +.TP +.B x-hint-command (string) +Command used if hint mode ;x is fired. +The command can be any neovimb command string. +Note that the command is run through the mapping mechanism of neovimb so +it might change the behaviour by adding or changing mappings. +.RS +.P +.PD 0 +.IP ":set x-hint-command=:sh! curl -e % ;" +This fills the inputbox with the prefilled download command and replaces +`%' with the current URI and `;' with the URI of the hinted element. +.PD +.RE +.TP +.B xss-auditor (bool) +Whether to enable the XSS auditor. +This feature filters some kinds of reflective XSS attacks on vulnerable web +sites. +.PD +.RE +.TP +.B javascript-enable-markup (bool) +Whether JavaScript markup is enabled. +Disabling can help with some older systems (ppc, ppc64, etc.) that don't have complete JavaScript support to run webpages without crashing. +. +. +.SH FILES +.TP +.IR $XDG_CONFIG_HOME/neovimb[/PROFILE] +Directory for configuration data. +If executed with \fB-p \fIPROFILE\fR parameter, configuration is read from +this subdirectory. +.RS +.PD 0 +.TP +.I config +Configuration file to set WebKit setting, some GUI styles and keybindings. +.TP +.I scripts.js +This file can be used to run user scripts, that are injected into every page +that is opened. +.TP +.I style.css +File for userdefined CSS styles. +These file is used if the config variable `stylesheet' is enabled. +.PD +.RE +. +.TP +.IR $XDG_DATA_HOME/neovimb[/PROFILE] +Directory for runtime data. +If executed with \fB-p \fIPROFILE\fR parameter, data files are written from +this subdirectory. +. +.RS +.PD 0 +.I cookies.db +Sqlite cookie storage. +This file will not be touched if option \-\-incognito is set. +.TP +.I closed +Holds the URIs of last closed browser windows. +This file will not be touched if option \-\-incognito is set. +.TP +.TP +.I bookmark +This file holds the list of bookmarked URIs with tags. +.TP +.I command +box. +This file will not be touched if option \-\-incognito is set. +.TP +.I queue +Holds the read it later queue filled by `qpush'. +.TP +.I search +This file will not be touched if option \-\-incognito is set. +.PD +.RE +. +.SH ENVIRONMENT +.TP +.B http_proxy, HTTP_PROXY +If either environment variable is non-empty, the specified host and +optional port is used to tunnel requests. For example: +HTTP_PROXY=localhost:8118. +. +. +.SH "REPORTING BUGS" +Report bugs to the main project page on https://github.com/fanglingsu/neovimb/issues +.br +or on the mailing list https://lists.sourceforge.net/lists/listinfo/neovimb-users. +. +. +.SH AUTHOR +Daniel Carl diff --git a/doc/vimb.1 b/doc/vimb.1 deleted file mode 100644 index e2c6a40..0000000 --- a/doc/vimb.1 +++ /dev/null @@ -1,1623 +0,0 @@ -.\" vim: ft=groff -.TH VIMB 1 "DATE" "vimb/VERSION" "Vimb Manual" -.SH NAME -Vimb - Vim Browser - A modal web browser based on WebKit, inspired by Vim: the -great editor. -. -. -.SH SYNOPSIS -.B vimb -.OP OPTIONS -.RI [ URI "|" file "|" - ] -. -. -.SH DESCRIPTION -Vimb is a WebKit based web browser that behaves like the Vimperator -plugin for Firefox and has usage paradigms from the great editor, Vim. -The goal of Vimb is to build a completely keyboard-driven, efficient -and pleasurable browsing-experience. -. -. -.SH OPTIONS -If no \fIURI\fP or \fIfile\fP is given, Vimb will open the configured -home-page. -If \fIURI\fP is '-', Vimb reads the HTML to display from stdin. -.P -Mandatory arguments to long options are mandatory for short options too. -.TP -.BI "\-C, \-\-cmd " "CMD" -Run \fICMD\fP as ex command line right before the first page is loaded. -If the flag is used more than one time, the commands are called in order they -are given. -You could also pass several ex commands in one \fICMD\fP, -if they are separated by "|". -.sp -.EX -vimb --cmd "set dark-mode=on|set header=Referer,DNT=1" -.EE -.TP -.BI "\-c, \-\-config " "FILE" -Use custom configuration given as \fIFILE\fP. -This will also be applied on new spawned instances. -.TP -.BI "\-e, \-\-embed " "WINID" -.I WINID -of an XEmbed-aware application, that Vimb will use as its parent. -.TP -.B "\-i, \-\-incognito" -Start an instance with user data read-only (see \fIFILES\fP section). -.TP -.B "\-h, \-\-help" -Show help options. -.TP -.BI "\-p, \-\-profile " "PROFILE-NAME" -Create or open specified configuration profile. -Configuration data for the profile is stored in a directory named -\fIPROFILE-NAME\fP under default directory for configuration data. -.TP -.B "\-v, \-\-version" -Print build and version information and then quit. -.TP -.B "\-\-no-maximize" -Do no attempt to maximize window. -.TP -.B "\-\-bug-info" -Prints information about used libraries for bug reports and then quit. -. -. -.SH MODES -Vimb is modal and has the following main modes: -.IP "Normal Mode" -The default mode. -Pressing Escape always enter normal mode. -.IP "Input Mode" -Used for editing text elements in a webpage. -.IP "Command Mode" -Execute `ex` commands from the builtin inputbox (commandline). -.IP "Pass-Through Mode" -In Pass-Through mode only the `` and `` keybindings are interpreted -by Vimb, all other keystrokes are given to the webview to handle them. -This allows the use of a website's configured keybindings, that might otherwise -be swallowed by Vimb. -. -. -.SH NORMAL MODE COMMANDS -Some of the Normal Model Commands can have a numeric count to multiply the -effect of the command. -If a command supports the count this is shown as [\fBN\fP]. -. -.SS General -.TP -.B : -Start Command Mode and print `:' to the input box. -.TP -.B gi -Set cursor to the first editable element in the page and switch to Input -Mode. -.TP -.B i -Set cursor to the last focused element in the page and switch to Input Mode. -If no element was focused before the first element is focused like with `gi'. -.TP -.B CTRL\-Z -Switch Vimb into Pass-Through Mode. -.TP -.B gf -Open the configured editor (`editor-command') with the current page's content. -.TP -.B gF -Open the Web Inspector for the current page. -.TP -.B CTRL\-V -Pass the next key press directly to GTK. -.TP -.B CTRL\-Q -Quit the browser if there are no running downloads. -. -.SS Navigation -.TP -.B o -Start Command Mode and print `:open ' to the input box. -.TP -.B O -Start Command Mode and print `:open URI' to the input box. -.TP -.B t -Start Command Mode and print `:tabopen ' to the input box. -.TP -.B T -Start Command Mode and print `:tabopen URI' to the input box. -.TP -.B gh -Open the configured home-page. -.TP -.B gH -Open the configured home-page in a new window. -.TP -.B u -Open the last closed page. -.TP -.B U -Open the last closed page in a new window. -.TP -.B CTRL\-P -Open the oldest entry from the read it later queue in the current browser -window. -.TP -.BI [ \(dqx ]p -Open the URI out of the register \fIx\fP or, if not given, from the clipboard. -.TP -.BI [ \(dqx ]P -Open the URI out of the register \fIx\fP or, if not given, from the clipboard in a -new window. -.TP -.BI [ N ]CTRL\-O -Go back \fIN\fP steps in the browser history. -.TP -.BI [ N ]CTRL\-I -Go forward \fIN\fP steps in the browser history. -.TP -.BI [ N ]gu -Go to the \fIN\fPth descendent directory of the current opened URI. -.TP -.B gU -Go to the domain of the current opened page. -.TP -.B r -Reload the website. -.TP -.B R -Reload the website without using caches. -.TP -.B CTRL\-C -Stop loading the current page. -.TP -.B CTRL-LeftMouse, MiddleMouse -Opens the clicket link into new window. -.TP -.B Shift-LeftMouse -Push the link url under the cursor to the end of the Read It Later queue like -the `:qpush' command. -. -.SS Motion -.TP -.BI [ N ]CTRL\-F -Scroll \fIN\fP pages down. -.TP -.BI [ N ]CTRL\-B -Scroll \fIN\fP pages up. -.TP -.BI [ N ]CTRL\-D -Scroll \fIN\fP half pages down. -.TP -.BI [ N ]CTRL\-U -Scroll \fIN\fP half pages up. -.TP -.BI [ N ]gg -Scroll to the top of the current page. -Or if \fIN\fP is given to \fIN\fP% of the page. -.TP -.BI [ N ]G -Scroll to the bottom of the current page. -Or if \fIN\fP is given to \fIN\fP% of the page. -.TP -.B 0, ^ -Scroll to the absolute left of the document. -Unlike in Vim, 0 and ^ work exactly the same way. -.TP -.B $ -Scroll to the absolute right of the document. -.TP -.BI [ N ]h -Scroll \fIN\fP steps to the left of page. -.TP -.BI [ N ]l -Scroll \fIN\fP steps to the right of page. -.TP -.BI [ N ]j -Scroll page \fIN\fP steps down. -.TP -.BI [ N ]k -Scroll page \fIN\fP steps up. -.TP -.BI m{ a-z } -Set a page mark {\fIa-z\fP} at the current position on the page. -Such set marks are only available on the current page; -if the page is left, all marks will be removed. -.TP -.BI '{ a-z } -Jump to the mark {\fIa-z\fP} on the current page. -.TP -.B '' -Jumps to the position before the latest jump, or where the last "m'" command -was given. -. -.SS Hinting -Hinting in Vimb is how you accomplish the tasks that you would do with the -mouse in common mouse-driven browsers: open a URI, yank a URI, save a page and -so on. When hinting is started, the relevant elements on the page will -be marked by labels generated from configured `hint-keys'. -Hints can be selected by using , or , , -by typing the chars of the label, or filtering the elements by some text -that is part of the hinted element (like URI, link text, button label) -or any combination of these methods. -If is pressed, the current active hint will be fired. -If only one possible hint remains, this will be fired automatically. -.P -.BR Syntax: " ;{mode}{hint}" -.P -Start Hints mode. -Different elements depending on \fImode\fP are highlighted and `numbered'. -Elements can be selected either by typing their label, or by typing part -of their text (\fIhint\fP) to narrow down the result. -When an element has been selected, it is automatically clicked -or used (depending on \fImode\fP) and hint mode ends. -.P -The filtering of hints by text splits the query at ' ' and use the single parts -as separate queries to filter the hints. -This is useful for hints that have a lot of filterable chars in common -and many chars are required to make a distinct selection. -For example ';over tw' will easily select the second hint out of -{'very long link text one', 'very long link text two'}. -.P -The following keys have special meanings in Hints modes: -.PD 0 -.TP -.B -Selects the first highlighted element, or the current focused. -.TP -.B -Moves the focus to the next hint element. -.TP -.B -Moves the focus to the previous hint element. -.TP -.B , CTRL\-C, CTRL\-[ -Exits Hints mode without selecting an element. -.PD -.TP -.B Hint modes: -.RS -.PD 0 -.TP -.B f -Is an alias for the \fB;o\fP hint mode. -.TP -.B F -Is an alias for the \fB;t\fP hint mode. -.TP -.B ;o -Open hint's location in the current window. -.TP -.B ;t -Open hint's location in a new window. -.TP -.B ;s -Saves the hint's destination under the configured `download-path'. -.TP -.B ;O -Generate an `:open' prompt with hint's URI. -.TP -.B ;T -Generate an `:tabopen' prompt with hint's URI. -.TP -.B ;e -Open the configured editor (`editor-command') with the hinted form element's -content. -If the file in editor is saved and the editor is closed, the file -content will be put back in the form field. -.TP -.B ;i -Open hinted image in the current window. -.TP -.B ;I -Open hinted image in a new window. -.TP -.B ;k -Kill (remove) hinted element from the page. -.TP -.B ;p -Push the hint's URI to the end of the Read It Later queue like the `:qpush' -command. -This is only available if Vimb was compiled with the QUEUE feature. -.TP -.B ;P -Push the hint's URI to the beginning of the Read It Later queue like the -`:qunshift' command. -This is only available if Vimb was compiled with the QUEUE feature. -.TP -.B ;x -Hints like ;o, but instead of opening the hinted URI, the -`x-hint-command' is run in Vimb. -.TP -.BI [ \(dqx ];y -Yank hint's destination location into primary and secondary clipboard and into -the register \fIx\fP. -.TP -.BI [ \(dqx ];Y -Yank hint's text description or form text into primary and secondary clipboard -and into the register \fIx\fP. -.PD -.RE -.TP -.BR Syntax: " g;{mode}{hint}" -Start an extended hints mode and stay there until is pressed. -Like normal hinting, except that after a hint is selected, hints -remain visible so that another one can be selected with the same action -as the first. -Note that the extended hint mode can only be combined with the following -hint modes -.IR "I o p P s t y Y" . -.PD -.TP -.B Motion -.RS -Motions commands are like those for normal mode except that CTRL is used as -modifier. -But they can not be used together with a count. -.P -.PD 0 -.TP -.B CTRL-F -Scroll one page down. -.TP -.B CTRL-B -Scroll one page up. -.TP -.B CTRL-D -Scroll half page down. -.TP -.B CTRL-U -Scroll half page up. -.TP -.B CTRL-J -Scroll one step down. -.TP -.B CTRL-K -Scroll one step up. -.PD -.RE -. -.SS Searching -.TP -.BI / QUERY ", ?" QUERY -Start searching for \fIQUERY\fP in the current page. -\fI/\fP start search forward, \fI?\fP in backward direction. -.TP -.BR * , " #" -Start searching for the current selected text, or if no text is selected for -the content of the primary or secondary clipboard. -\fI*\fP start the search in forward direction and \fI#\fP in backward -direction. -.sp -Note that these commands will yank the text selection into the clipboard and -may remove other content from there! -.TP -.BI [ N ]n -Search for \fIN\fPnth next search result depending on current search -direction. -.TP -.BI [ N ]N -Search for \fIN\fPnth previous search result depending on current search -.TP -.B -Perform a click on element containing the current highlighted search result. -direction. -. -.SS Zooming -.TP -.BI [ N ]zi -Zoom-In the text of the page by \fIN\fP steps. -.TP -.BI [ N ]zo -Zoom-Out the text of the page by \fIN\fP steps. -.TP -.BI [ N ]zI -Full-Content Zoom-In the page by \fIN\fP steps. -.TP -.BI [ N ]zO -Full-Content Zoom-Out the page by \fIN\fP steps. -.TP -.B zz -Reset Zoom. -. -.SS Yank -.TP -.BI [ \(dqx ]y -Yank the URI or current page into register \fIx\fP and clipboard. -.TP -.BI [ \(dqx ]Y -Yank the current selection into register x and clipboard. -. -. -.SH COMMAND MODE -Commands that are listed below are ex-commands like in Vim, that are typed -into the inputbox (the command line of vimb). -The commands may vary in their syntax or in the parts they allow, -but in general they follow a simple syntax. -.P -.BR Syntax: " :[:| ][N]cmd[name][!][ lhs][ rhs]" -.sp -Where \fIlhs\fP (left hand side) must not contain any unescaped space. -The syntax of the rhs (right hand side) if this is available depends on the -command. -At the moment the count parts [N] of commands is parsed, but currently there is -no command that uses the count. -.sp -Commands that are typed interactivly are normally recorded into command -history and register. -To avoid this, the commands can be prefixed by one or more additional `:' or -whitespace. -.P -Multiple commands, separated by a `|' can be given in a single command line -and will be executed consecutively. -The pipe can be included as an argument to a command by escaping it with a -backslash. -.br -Following commands process the entire command-line string literally. -These commands will include any `|' as part of their argument string and so -can not be followed by another command. -.P -.PD 0 -.IP - 2 -autocmd -.IP - -cmap, cnoremap, imap, inoremap, nmap, nnoremap -.IP - -eval -.IP - -normal -.IP - -open, tabopen -.IP - -shellcmd -.PD -. -.SS Command Line Editing -.TP -.B , CTRL\-[, CTRL-C -Ignore all typed content and switch back to normal mode. -.TP -.B -Submit the entered `ex` command or search query to run it. -.TP -.B CTRL\-H -Deletes the char before the cursor. -.TP -.B CTRL\-W -Deletes the last word before the cursor. -.TP -.B CTRL\-U -Remove everything between cursor and prompt. -.TP -.B CTRL\-B -Moves the cursor directly behind the prompt `:'. -.TP -.B CTRL\-E -Moves the cursor after the prompt in inputbox. -.TP -.B CTRL\-V -Pass the next key press directly to GTK. -.TP -.B CTRL\-R {a-z"%:/;} -Insert the content of given register at cursor position. -See also section about `:reg[ister]' command. -. -.SS Command Line History -.TP -.B -Start completion of the content in the inputbox in forward direction. -.TP -.B -Start completion of the content in the inputbox in backward direction. -.TP -.B -Step backward in the command history. -.TP -.B -Step forward in the command history. -Yank the current selection into register \fIx\fP and clipboard. -. -.SS Open -.TP -.BI ":o[pen] [" URI ] -Open the give \fIURI\fP in the current window. -If \fIURI\fP is empty, the configured 'home-page' is opened. -.TP -.BI ":t[abopen] [" URI ] -Open the give \fIURI\fP in a new window. -If \fIURI\fP is empty, the configured 'home-page' is opened. -. -.SS Key Mapping -Key mappings allow users to alter the actions of key presses. -Each key mapping is associated with a mode and only has effect -when the mode is active. -The following commands allow the user to substitute one sequence -of key presses by another. -.P -.BR Syntax: " :{m}map {lhs} {rhs}" -.P -Note that the \fIlhs\fP ends with the first found space. -If you want to use space also in the {lhs} you have to escape this -with a single `\\', as shown in the examples. -.sp -The \fIrhs\fP starts with the first non-space char. If you want a \fIrhs\fP -that starts with a space, you have to use "". -.P -Standard key mapping commands are provided for these modes \fIm\fP: -.PD 0 -.TP -.B n -Normal mode: when browsing normally. -.TP -.B i -Insert mode: when interacting with text fields on a website. -.TP -.B c -Command Line mode: when typing into Vimb's command line. -.PD -.P -Most keys in key sequences are represented simply by the character that you -see on the screen when you type them. -However, as a number of these characters have special meanings, and a -number of keys have no visual representation, a special notation is required. -.P -As special key names have the format \fI<...>\fP. -The following special keys can be used: , , , -for the cursor keys, , , , , , - and -. -.TP -.PD 0 -.BI ":nm[ap] {" lhs "} {" rhs } -.TP -.BI ":im[ap] {" lhs "} {" rhs } -.TP -.BI ":cm[ap] {" lhs "} {" rhs } -Map the key sequence \fIlhs\fP to \fIrhs\fP for the modes where the map -command applies. -The result, including \fIrhs\fP, is then further scanned for mappings. -This allows for nested and recursive use of mappings. -.RS -.sp -.IP ":cmap h /home/user/downloads/" -Adds a keybind to insert a file path into the input box. -This could be useful for the `:save' command -that could be used as ":save ^Gh". -.IP ":nmap :set scripts=on:open !glib" -This will enable scripts and lookup the first bookmarked URI with the tag -`glib' and open it immediately if F1 key is pressed. -.IP ":nmap \e \e 50G" -Example which maps two spaces to go to 50% of the page. -.RE -.TP -.BI ":nn[oremap] {" lhs "} {" rhs } -.TP -.BI ":ino[remap] {" lhs "} {" rhs } -.TP -.BI ":cno[remap] {" lhs "} {" rhs } -Map the key sequence \fIlhs\fP to \fIrhs\fP for the mode where the map command -applies. -Disallow mapping of \fIrhs\fP, to avoid nested and recursive mappings. -Often used to redefine a command. -.TP -.BI ":nu[nmap] {" lhs } -.TP -.BI ":iu[nmap] {" lhs } -.TP -.BI ":cu[nmap] {" lhs } -Remove the mapping of \fIlhs\fP for the applicable mode. -.PD -. -.SS Bookmarks -.TP -.BI ":bma [" tags ] -Save the current opened URI with \fItags\fP to the bookmark file. -.TP -.BI ":bmr [" URI ] -Removes all bookmarks for given \fIURI\fP or, if not given, the current opened -page. -. -.SS Handlers -Handlers allow specifying external scripts to handle alternative URI methods. -.TP -.BI ":handler-add " "handler" "=" "cmd" -Adds a handler to direct \fIhandler\fP links to the external \fIcmd\fP. -The \fIcmd\fP can contain one placeholder `%s` that will be filled by the -full URI given when the command is called. -.RS -.P -.PD 0 -.IP ":handler-add mailto=urxvt -e mutt %s" -to start email client for mailto links. -.IP ":handler-add magnet=xdg-open %s" -to open magnet links with xdg-open. -.IP ":handler-add ftp=urxvt -e wget %s -P ~/ftp-downloads" -to handle ftp downloads via wget. -.PD -.RE -.TP -.BI ":handler-remove " "handler" -Remove the handler for the given URI \fIhandler\fP. -. -.SS Shortcuts -Shortcuts allow the opening of an URI built up from a named template with additional -parameters. -If a shortcut named 'dd' is defined, you can use it with `:open dd -list of parameters' to open the generated URI. -.P -Shortcuts are convenient to use with search engines where the URI is standardised -and a single parameter is user defined. -.TP -.BI ":shortcut-add " shortcut = URI -Adds a shortcut with the \fIshortcut\fP and \fIURI\fP template. -The \fIURI\fP can contain multiple placeholders $0-$9 that will be -filled by the parameters given when the shortcut is called. -The parameters given when the shortcut is called will be split -into as many parameters like the highest used placeholder. -.sp -To use spaces within the parameters, the parameters can be grouped by -surrounding them with single-or double quotes-as shown in example shortcut -`map'. -.RS -.P -.PD 0 -.IP ":shortcut-add dl=https://duckduckgo.com/lite/?q=$0" -to setup a search engine. -Can be called by `:open dl my search phrase'. -.IP ":shortcut-add gh=https://github.com/$0/$1" -to build URIs from given parameters. -Can be called `:open gh fanglingsu vimb'. -.IP ":shortcut-add map=https://maps.google.com/maps?saddr=$0&daddr=$1" -to search for a route, all but the last parameter must be quoted if they -contain spaces like `:open map "city hall, London" railway station, London' -.PD -.RE -.TP -.BI ":shortcut-remove " shortcut -Remove the search engine to the given \fIshortcut\fP. -.TP -.BI ":shortcut-default " shortcut -Set the shortcut for given \fIshortcut\fP as the default, that is the shortcut -to be used if no shortcut is given and the string to open is not an URI. It -doesn't matter if the \fIshortcut\fP is already in use or not to be able to set -it. -. -.SS Settings -.TP -.BI ":se[t] " var = value -Set configuration values named by \fIvar\fP. -To set boolean variable you should use 'on', 'off' or 'true' and 'false'. -Colors are given as hexadecimal value like '#f57700'. Spaces or more equals -signs in \fIvalue\fP just work without quotes: for example, -":set sans-serif-font=Some Sans Font". -.TP -.BI ":se[t] " var += value -Add the \fIvalue\fP to a number option, or append the \fIvalue\fP to a string -option. -When the option is a comma separated list, a comma is added, unless -the value was empty. -.TP -.BI ":se[t] " var ^= value -Multiply the \fIvalue\fP to a number option, or prepend the \fIvalue\fP to a -string option. -When the option is a comma separated list, a comma is added, -unless the value was empty. -.TP -.BI ":se[t] " var -= value -Subtract the \fIvalue\fP from a number option, or remove the \fIvalue\fP from -a string option, if it is there. -When the option is a comma separated list, a -comma is deleted, unless the option becomes empty. -.TP -.BI ":se[t] " var ? -Show the current set value of variable. -.IR VAR . -.TP -.BI ":se[t] " var ! -Toggle the value of boolean variable \fIvar\fP and display the new set value. -. -.SS Queue -The queue allows the marking of URIs for later reading. -This list is shared between the single instances of Vimb. -.TP -.BI ":qpu[sh] [" URI ] -Push \fIURI\fP or, if not given, the current URI to the end of the queue. -.TP -.BI ":qun[shift] [" URI ] -Push \fIURI\fP or, if not given, the current URI to the beginning of the queue. -.TP -.B :qp[op] -Open the oldest queue entry in the current browser window and remove it from the -queue. -.TP -.B :qc[lear] -Removes all entries from queue. -. -.SS Automatic commands -An autocommand is a command that is executed automatically in response to some -event, such as a URI being opened. -Autocommands are very powerful. -Use them with care and they will help you avoid typing many commands. -.P -Autocommands are built with following properties. -.TP -.I group -When the [\fIgroup\fP] argument is not given, Vimb uses the current group as -defined with ':augroup', otherwise, Vimb uses the group defined with -[\fIgroup\fP]. -Groups are useful to remove multiple grouped autocommands. -.TP -.I event -You can specify a comma separated list of event names. -No white space can be used in this list. -.P -.RS -.PD 0 -Events: -.TP -.B LoadStarting -Fired before a new page is going to be opened. -No data has been sent or received yet, the load may still fail for transport issues. -.TP -.B LoadStarted -Fired if a new page is going to be opened. -No data has been received yet, the load may still fail for transport issues. -.TP -.B LoadCommitted -Fired if first data chunk has arrived, meaning that the necessary transport -requirements are established, and the load is being performed. -This is the right event to toggle content related setting -like 'scripts', 'plugins' and such things. -.TP -.B LoadFinished -Fires when everything that was required to display on the page has been loaded. -.TP -.B DownloadStarted -Fired right after a download is started. -.TP -.B DownloadFinished -Fired if a Vimb managed download is finished. -.TP -.B DownloadFailed -Fired if a Vimb managed download failed. -.PD -.RE -.TP -.I pat -Comma separated list of patterns, matches in order to check if a autocommand -applies to the URI associated to an event. -To use ',' within the single patterns this must be escaped as '\e,'. -.RS -.P -.PD 0 -Patterns: -.IP "\fB*\fP" -Matches any sequence of characters. -This includes also '/' in contrast to shell patterns. -.IP "\fB?\fP" -Matches any single character except of '/'. -.IP "\fB{one,two}\fP" -Matches 'one' or 'two'. -Any '{', ',' and '}' within this pattern must be escaped by a '\\'. -\&'*' and '?' have no special meaning within the curly braces. -.IP "\fB\e\fP" -Use backslash to escape the special meaning of '?*{},' in the pattern or -pattern list. -.PD -.RE -.TP -.I cmd -Any `ex` command vimb understands. -The leading ':' is not required. -Multiple commands can be separated by '|'. -.TP -.BI ":au[tocmd] [" group "] {" event "} {" pat "} {" cmd "}" -Add \fIcmd\fP to the list of commands that Vimb will execute automatically on -\fIevent\fP for a URI matching \fIpat\fP autocmd-patterns. -Vimb always adds the \fIcmd\fP after existing autocommands, so that the -autocommands are executed in the order in which they were given. -.TP -.BI ":au[tocmd]! [" group "] {" event "} {" pat "} {" cmd "}" -Remove all autocommands associated with \fIevent\fP and which pattern match -\fIpat\fP, and add the command \fIcmd\fP. -Note that the pattern is not matches literally to find autocommands -to remove, like Vim does. -Vimb matches the autocommand pattern with \fIpat\fP. -If [\fIgroup\fP] is not given, deletes autocommands in current group, -as noted above. -.TP -.BI ":au[tocmd]! [" group "] {" event "} {" pat "}" -Remove all autocommands associated with \fIevent\fP and which pattern matches -\fIpat\fP in given group (current group by default). -.TP -.BI ":au[tocmd]! [" group "] * {" pat "}" -Remove all autocommands with patterns matching \fIpat\fP for all events -in given group (current group by default). -.TP -.BI ":au[tocmd]! [" group "] {" event "}" -Remove all autocommands for \fIevent\fP in given group (current group -by default). -.TP -.BI ":au[tocmd]! [" group "]" -Remove all autocommands in given group (current group by default). -.TP -.BI ":aug[roup] {" name "}" -Define the autocmd group \fIname\fP for the following ":autocmd" commands. -The name "end" selects the default group. -.TP -.BI ":aug[roup]! {" name "}" -Delete the autocmd group \fIname\fP. -.P -Example: -.EX -:aug github -: au LoadCommitted * set scripts=off|set cookie-accept=never -: au LoadCommitted http{s,}://github.com/* set scripts=on -:aug end -.EE -. -.SS Misc -.TP -.BI ":cl[eardata] [" dataTypes "] [" timespan "]" -Asynchronously clears the website data of the given list of \fIdataTypes\fP -modified in the past \fItimespan\fP. -Note that the \fIdataTypes\fP must not contain spaces. -If \fItimespan\fP is not given, all website data will be removed. -Note that this effects all running instances of vimb. -.RS -.P -.PD 0 -The \fIdataTypes\fP is a comma separated list of following types. -.TP -.B memory-cache -Memory cache. -.TP -.B disk-cache -HTTP disk cache. -.TP -.B offline-cache -Offline web application cache. -.TP -.B session-storage -Session storage data. -.TP -.B local-storage -Local storage data. -.TP -.B indexeddb-databases -IndexedDB databases. -.TP -.B plugin-data -Plugin data. -.TP -.B cookies -Cookies. Note that the cookies are not cleared in case a \fItimespan\fP is -given. -.TP -.B hsts-cache -HTTP Strict Transport Security cache. -.TP -.B - -Can be used to clear all known data types in case a \fItimespan\fP is used. -.PD -.RE -.RS -.P -.PD 0 -The \fItimespan\fP is given as sequence of '[multiplier]\fIunit\fP' tupels -with following units. -.TP -.B y -year (365 days) -.TP -.B w -week (7 days) -.TP -.B d -day -.TP -.B h -hour -.TP -.B m -minute -.TP -.B s -second -.PD -.P -.I Example: -.PD 0 -.IP ":cleardata" -to clear all known website data types without any timespan restriction. -.IP ":cleardata - 5m" -to clear all known website data types modified in the last 5 minutes. -.IP ":cleardata local-storage,session-storage,cookies" -to completely clear the cookies, local- and session-storage without time -restrictions. -.IP ":cleardata disk-cache 2d4h" -to clear the disk cache that was modified in the past two days and four hours. -.PD -.RE -.TP -.BI ":sh[ellcmd]! " cmd -Like :sh[ellcmd] but asynchronous. -.sp -Example: -.EX -:sh! /bin/sh -c 'echo "`date` $VIMB_URI" >> myhistory.txt' -.EE -.TP -.TP -.BI ":sh[ellcmd] " cmd -Runs the given shell \fIcmd\fP syncron and print the output into inputbox. -The following patterns in \fIcmd\fP are expanded: '~username', '~/', '$VAR' -and '${VAR}'. -A '\e' before these patterns disables the expansion. -.P -.RS -.P -.PD 0 -The following environment variables are set for called shell commands. -.TP -.B VIMB_URI -This variable is set by Vimb everytime a new page is opened to the URI of the -page. -.TP -.B VIMB_SELECTION -This variable is set to the current selected text on the page. -.TP -.B VIMB_TITLE -Contains the title of the current opened page. -.TP -.B VIMB_PID -Contains the pid of the running Vimb instance. -.TP -.B VIMB_WIN_ID -Holds the X-Window id of the Vimb window. -.TP -.B VIMB_XID -Holds the X-Window id of the Vimb window or of the embedding window if Vimb is -compiled with XEMBED and started with the -e option. -.EE -.RE -.TP -.BI ":sh[ellcmd]! " cmd -Like :sh[ellcmd] but asynchronous. -.sp -Example: -.EX -:sh! /bin/sh -c 'echo "`date` $VIMB_URI" >> myhistory.txt' -.EE -.TP -.BI ":s[ave] [" path "]" -Download current opened page into configured download directory. -If \fIpath\fP is given, download under this file name or path. -\fIpath\fP is expanded and can therefore contain '~/', '${ENV}' -and '~user' pattern. -.TP -.BI ":so[urce] [" file "]" -Read ex commands from \fIfile\fP. -.TP -.B :q[uit] -Close the browser. -This will be refused if there are running downloads. -.TP -.B :q[uit]! -Close the browser independent from an running download. -.TP -.B :reg[ister] -Display the contents of all registers. -.RS -.P -.PD 0 -Registers: -.TP -.BR \(dqa " \(em " \(dqz -26 named registers "a to "z. -Vimb fills these registers only when you say so. -.TP -.B \(dq: -Last executed `ex` command. -.TP -.B \(dq" -Last yanked content. -.TP -.B \(dq% -Curent opened URI. -.TP -.B \(dq/ -Last search phrase. -.TP -.B \(dq; -Contains the last hinted URL. -.PD -.RE -.TP -.BI :e[val] " javascript" -Runs the given \fIjavascript\fP in the current page and display the evaluated -value. -.sp -Example: :eval document.cookie -.TP -.BI :e[val]! " javascript" -Like :eval, but there is nothing print to the input box. -.TP -.BI ":no[rmal] [" cmds ] -Execute normal mode commands \fIcmds\fP. -This makes it possible to execute normal mode commands typed on the input box. -.sp -\fIcmds\fP cannot start with a space. -Put a count of 1 (one) before it, "1 " is one space. -.sp -Example: :set scripts!|no! R -.TP -.BI ":no[rmal]! [" cmds ] -Like :normal, but no mapping is applied to \fIcmds\fP. -.TP -.B :ha[rdcopy] -Print current document. -Open a GUI dialog where you can select the printer, -number of copies, orientation, etc. -. -. -.SH INPUT MODE -.TP -.BR , " CTRL\-[" -Switch back to normal mode. -.TP -.B CTRL\-O -Executes the next command as normal mode command and return to input mode. -.TP -.B CTRL\-T -Open configured editor with content of current form field. -.TP -.B CTRL\-V -Pass the next key press directly to WebKit. -.TP -.B CTRL\-Z -Enter the pass-through mode. -. -. -.SH COMPLETIONS -The completions are triggered by pressing `` or `` in the -activated inputbox. -Depending of the current inserted content different completions are started. -The completion takes additional typed chars to filter -the completion list that is shown. -.TP -.B commands -The completion for commands are started when at least `:` is shown in the -inputbox. -If initial chars are passed, the completion will lookup those -commands that begin with the given chars. -.TP -.B settings -The setting name completion is started if at least `:set ` is shown in -inputbox and does also match settings that begins with already typed setting -prefix. -.TP -.B history -The history of URIs is shown for the `:open ` and `:tabopen ` commands. -This completion looks up every given word in the history URI and titles. -Only those history items are shown, where the title or URI contains all tags. -.RS -.IP ":open foo bar" -will complete only URIs that contain the words foo and bar. -.RE -.TP -.B bookmarks -The bookmark completion is similar to the history completion, but does match -only the tags of the bookmarks. -The bookmark completion is started by `:open \fB!\fP`, `:tabopen \fB!\fP` or -`:bmr ` and does a prefix search for all given words in the bookmark tags. -.RS -.IP ":open \fB!\fPfoo ba" -will match all bookmarks that have tags starting with "foo" and "ba". -If the bookmark does not have any tags set, the URL is split on `.' and `/' -into tags. -.IP ":bmr tag" -will match all bookmarks that have tags starting with "tag". -.RE -.TP -.B bookmark tags -The bookmark tag completion allows the insertion of already used bookmarks for the -`:bma ` commands. -.TP -.B search -The search completion allows a filtered list of already done searches. -This completion starts by `/` or `?` in inputbox and performs a prefix -comparison for further typed chars. -. -. -.SH SETTINGS -All settings listed below can be set with the `:set' command. -See \fBSettings\fP under \fBCOMMAND MODE\fP for syntax. -.TP -.BR accelerated-2d-canvas (bool) -Enable or disable accelerated 2D canvas. -When accelerated 2D canvas is enabled, WebKit may render some 2D canvas -content using hardware accelerated drawing operations. -.TP -.BR allow-file-access-from-file-urls (bool) -Indicates whether file access is allowed from file URLs. -By default, when something is loaded using a file URI, cross origin requests -to other file resources are not allowed. -.TP -.BR allow-universal-access-from-file-urls (bool) -Indicates whether or not JavaScript running in the context of a file scheme -URL should be allowed to access content from any origin. -By default, when something is loaded in a using a file scheme URL, access to -the local file system and arbitrary local storage is not allowed. -.TP -.BR caret (bool) -Whether to enable accessibility enhanced keyboard navigation. -.TP -.B cookie-accept (string) -Cookie accept policy {`always', `never', `origin' (accept all non-third-party -cookies)}. -.TP -.B closed-max-items (int) -Maximum number of stored last closed URLs. -If closed-max-items is set to 0, closed URLs will not be stored. -.TP -.B completion-css (string) -CSS style applied to the inputbox completion list items. -.TP -.B completion-hover-css (string) -CSS style applied to the inputbox completion list item that is currently -hovered by the mouse. -.TP -.B completion-selected-css (string) -CSS style applied to the inputbox completion list item that is currently -selected. -.TP -.B cursiv-font (string) -The font family used as the default for content using cursive font. -.TP -.B dark-mode (bool) -Whether to enable dark mode. Websites can use the `prefers-color-scheme' media -query to adjust styles according to this option. -.TP -.B default-charset (string) -The default text charset used when interpreting content with an unspecified -charset. -.TP -.B default-font (string) -The font family to use as the default for content that does not specify a -font. -.TP -.B default-zoom (int) -Default Full-Content zoom level in percent. Default is 100. -.TP -.B dns-prefetching (bool) -Indicates if Vimb prefetches domain names. -.TP -.B download-command (string) -A command with placeholder '%s' that will be invoked to download a URI in -case 'download-use-external' is enabled. -.RS -.TP -The following additional environment variable are available: -.PD 0 -.TP -.B $VIMB_URI -The URI of the current opened page, normally the page where the download was -started from, also known as referer. -.TP -.B $VIMB_DOWNLOAD_PATH -Setting value of 'download-path' which would be used normally for downloads. -.PD -.P -.PD 0 -.IP ":set download-command=/bin/sh -c ""cd '$VIMB_DOWNLOAD_PATH' \ -&& curl -sLJOC - -e '$VIMB_URI' %s""" -.PD -.RE -.TP -.B download-path (string) -Path to the default download directory. -If no download directory is set, download will be written into current -directory. -The following pattern will be expanded if the download is -started '~/', '~user', '$VAR' and '${VAR}'. -.TP -.B download-use-external (bool) -Indicates if the external download tool set as 'download-command' should be -used to handle downloads. -If this is disabled Vimb will handle the download. -.TP -.B editor-command (string) -Command with placeholder '%s' called if form field is opened with $EDITOR to -spawn the editor-like `x-terminal-emulator -e vim %s'. -To use Gvim as the editor, it's necessary to call it with `-f' to run it in -the foreground. -.TP -.B font-size (int) -The default font size used to display text. -.TP -.B frame-flattening (bool) -Whether to enable the Frame Flattening. -With this setting each subframe is expanded to its contents, -which will flatten all the frames to become one scrollable page. -.TP -.B fullscreen (bool) -Show the current window full-screen. -.TP -.B hardware-acceleration-policy (string) -This setting decides how to enable and disable hardware acceleration. -.PD 0 -.RS -.TP -.B ondemand -enables the hardware acceleration when the web contents request it, disabling -it again when no longer needed. -.TP -.B always -enforce hardware acceleration to be enabled. -.TP -.B never -disables it completely. -Note that disabling hardware acceleration might cause some websites to not -render correctly or consume more CPU. -.RE -.PD -.TP -.B header (list) -Comma separated list of headers that replaces default header sent by WebKit or -new headers. -The format for the header list elements is `name[=[value]]'. -.sp -Note that these headers will replace already existing headers. -If there is no '=' after the header name, then the complete header -will be removed from the request, if the '=' is present means that -the header value is set to empty value. -.sp -Note that webkit reused already set headers in case of a reload of a page. -So if there are headers removed that where previously use to access a certain -page and the page is reloaded or opened via back/forward history the header -will still be sent. -To apply the new header setting properly it's required to request another page -or to open current page new by `O`. -.sp -To use '=' within a header value the value must be quoted like shown in -Example for the Cookie header. -.RS -.P -.PD 0 -.IP ":set header=DNT=1,User-Agent,Cookie='name=value'" -Send the 'Do Not Track' header with each request and remove the User-Agent -Header completely from request. -.PD -.RE -.TP -.B hint-follow-last (bool) -If on, vimb automatically follows the last remaining hint on the page. -If off hints are fired only if enter is pressed. -.TP -.B hint-keys-same-length (bool) -If on, all hint labels will have the same length, so no hints will be -ambiguous. -.TP -.B hint-timeout (int) -Timeout before automatically following a non-unique numerical hint. -To disable auto fire of hints, set this value to 0. -.TP -.B hint-keys (string) -The keys used to label and select hints. -With its default value, each hint has a unique label which can be typed -to select it, while all other characters are used to filter hints based -on their text. -With a value such as asdfg;lkjh, -each hint is `labeled' based on the characters of the home row. -.IP -If the hint-keys string starts with a '0' the keys are considered to follow -the rules of numeric labeling. So that the ifrst char of the label will never -start with the '0'. -.IP -Note that the hint matching by label built of hint-keys is case sensitive. -In this vimb differs from some other browsers that show hint labels in upper -case, but match them lowercase. -.IP -To have upper case hint labels, it's possible to add following css to the -`style.css' file in vimb's configuration directory. -.IP -"span[vimbhint="label"] {text-transform: uppercase !important;}" -.TP -.B hint-match-element (bool) -If this is set to 'true' typed chars that are not part of the set 'hint-keys' -are used to filter hinted DOM elements by their text value. -If 'hint-keys' are set to chars instead of numbers it might be useful to -disable matching of the elements by 'hint-match-element=false'. -.TP -.B history-max-items (int) -Maximum number of unique items stored in search-, command or URI history. -If history-max-items is set to 0, the history file will not be changed. -This setting has no effect if option \-\-incognito is set. -.TP -.B home-page (string) -Homepage that vimb opens if started without a URI. -.TP -.B html5-database (bool) -Whether to enable HTML5 client-side SQL database support. -Client-side SQL database allows web pages to store structured data -and be able to use SQL to manipulate that data asynchronously. -.TP -.B html5-local-storage (bool) -Whether to enable HTML5 localStorage support. -localStorage provides simple synchronous storage access. -.TP -.B hyperlink-auditing (bool) -Enable or disable support for . -.TP -.B images (bool) -Determines whether images should be automatically loaded or not. -.TP -.B incsearch (bool) -While typing a search command, show where the pattern typed so far matches. -.TP -.B input-autohide (bool) -If enabled the inputbox will be hidden whenever it contains no text. -.TP -.B input-css (string) -CSS style applied to the inputbox in normal state. -.TP -.B input-error-css (string) -CSS style applied to the inputbox in case of displayed error. -.TP -.B javascript-can-access-clipboard (bool) -Whether JavaScript can access the clipboard. -.TP -.B javascript-can-open-windows-automatically (bool) -Whether JavaScript can open popup windows automatically without user -interaction. -.TP -.B geolocation (string) -Controls website access to the geolocation API {`always', `never', `ask' (display a prompt each time)} -.TP -.B media-playback-allows-inline (bool) -Whether media playback is full-screen only or inline playback is allowed. -Setting it to false allows specifying that media playback should be always -fullscreen. -.TP -.B media-playback-requires-user-gesture (bool) -Whether a user gesture (such as clicking the play button) would be required to -start media playback or load media. -Setting it on requires a gesture by the -user to start playback, or to load the media. -.TP -.B media-stream (bool) -Enable or disable support for MediaSource on pages. -MediaSource is an experimental proposal which extends HTMLMediaElement -to allow JavaScript to generate media streams for playback. -.TP -.B mediasource (bool) -Enable or disable support for MediaSource on pages. -MediaSource is an experimental proposal which extends HTMLMediaElement -to allow JavaScript to generate media streams for playback. -.TP -.B minimum-font-size (int) -The minimum font size used to display text. -.TP -.B monospace-font (string) -The font family used as the default for content using monospace font. -.TP -.B monospace-font-size (int) -Default font size for the monospace font. -.TP -.B notification (string) -Controls website access to the notification API, that sends notifications via -dbus. {`always', `never', `ask' (display a prompt each time)} -.TP -.B offline-cache (bool) -Whether to enable HTML5 offline web application cache support. -Offline web application cache allows web applications to run even -when the user is not connected to the network. -.TP -.B print-backgrounds (bool) -Whether background images should be drawn during printing. -.TP -.B plugins (bool) -Determines whether or not plugins on the page are enabled. -.TP -.B prevent-newwindow (bool) -Whether to open links, that would normally open in a new window, in the -current window. -This option does not affect links fired by hinting. -.TP -.B sans-serif-font (string) -The font family used as the default for content using sans-serif font. -.TP -.B scripts (bool) -Determines whether or not JavaScript executes within a page. -.TP -.B scroll-step (int) -Number of pixel vimb scrolls if 'j' or 'k' is used. -.TP -.B scroll-multiplier (int) -Multiplier to increase the scroll distance if window is scrolled by mouse -wheel. -.TP -.B serif-font (string) -The font family used as the default for content using serif font. -.TP -.B show-titlebar (bool) -Determines whether the titlebar is shown (on systems that provide window -decoration). -Defaults to true. -.TP -.B site-specific-quirks (bool) -Enables the site-specific compatibility workarounds. -.TP -.B smooth-scrolling (bool) -Enable or disable support for smooth scrolling. -.TP -.B spatial-navigation (bool) -Whether to enable the Spatial Navigation. -This feature consists in the ability to navigate between focusable -elements in a Web page, such as hyperlinks and form controls, by using -Left, Right, Up and Down arrow keys. -For example, if a user presses the Right key, heuristics determine whether -there is an element they might be trying to reach towards the right, and if -there are multiple elements, which element they probably want. -.TP -.B spell-checking (bool) -Enable or disable the spell checking feature. -.TP -.B spell-checking-languages (string) -Set comma separated list of spell checking languages to be used for spell -checking. -.br -The locale string typically is in the form lang_COUNTRY, where lang is an -ISO-639 language code, and COUNTRY is an ISO-3166 country code. For instance, -sv_FI for Swedish as written in Finland or pt_BR for Portuguese as written in -Brazil. -.TP -.B status-bar (bool) -Indicates if the status bar should be shown. -.TP -.B status-css (string) -CSS style applied to the status bar on none https pages. -.TP -.B status-ssl-css (string) -CSS style applied to the status bar on https pages with trusted certificate. -.TP -.B status-ssl-invalid-css (string) -CSS style applied to the status bar on https pages with untrusted certificate. -.TP -.B strict-ssl (bool) -If 'on', vimb will not load a untrusted https site. -.TP -.B stylesheet (bool) -If 'on' the user defined styles-sheet is used. -.TP -.B tabs-to-links (bool) -Whether the Tab key cycles through elements on the page. -.sp -If true, pressing the Tab key will focus the next element in the web view. -Otherwise, the web view will interpret Tab key presses as normal key presses. -If the selected element is editable, the Tab key will cause the insertion -of a Tab character. -.TP -.B timeoutlen (int) -The time in milliseconds that is waited for a key code or mapped key sequence -to complete. -.TP -.B user-agent (string) -The user-agent string used by WebKit. -.TP -.B user-scripts (bool) -If 'on' the user scripts are injected into every page. -.TP -.B webaudio (bool) -Enable or disable support for WebAudio on pages. -WebAudio is an experimental proposal for allowing web pages -to generate Audio WAVE data from JavaScript. -.TP -.B webgl (bool) -Enable or disable support for WebGL on pages. -.TP -.B webinspector (bool) -Determines whether or not developer tools, such as the Web Inspector, are -enabled. -.TP -.B x-hint-command (string) -Command used if hint mode ;x is fired. -The command can be any vimb command string. -Note that the command is run through the mapping mechanism of vimb so -it might change the behaviour by adding or changing mappings. -.RS -.P -.PD 0 -.IP ":set x-hint-command=:sh! curl -e % ;" -This fills the inputbox with the prefilled download command and replaces -`%' with the current URI and `;' with the URI of the hinted element. -.PD -.RE -.TP -.B xss-auditor (bool) -Whether to enable the XSS auditor. -This feature filters some kinds of reflective XSS attacks on vulnerable web -sites. -.PD -.RE -.TP -.B javascript-enable-markup (bool) -Whether JavaScript markup is enabled. -Disabling can help with some older systems (ppc, ppc64, etc.) that don't have complete JavaScript support to run webpages without crashing. -. -. -.SH FILES -.TP -.IR $XDG_CONFIG_HOME/vimb[/PROFILE] -Directory for configuration data. -If executed with \fB-p \fIPROFILE\fR parameter, configuration is read from -this subdirectory. -.RS -.PD 0 -.TP -.I config -Configuration file to set WebKit setting, some GUI styles and keybindings. -.TP -.I scripts.js -This file can be used to run user scripts, that are injected into every page -that is opened. -.TP -.I style.css -File for userdefined CSS styles. -These file is used if the config variable `stylesheet' is enabled. -.PD -.RE -. -.TP -.IR $XDG_DATA_HOME/vimb[/PROFILE] -Directory for runtime data. -If executed with \fB-p \fIPROFILE\fR parameter, data files are written from -this subdirectory. -. -.RS -.PD 0 -.I cookies.db -Sqlite cookie storage. -This file will not be touched if option \-\-incognito is set. -.TP -.I closed -Holds the URIs of last closed browser windows. -This file will not be touched if option \-\-incognito is set. -.TP -.I history -This file holds the history of unique opened URIs. -This file will not be touched if option \-\-incognito is set. -.TP -.I bookmark -This file holds the list of bookmarked URIs with tags. -.TP -.I command -This file holds the history of commands and search queries performed via input -box. -This file will not be touched if option \-\-incognito is set. -.TP -.I queue -Holds the read it later queue filled by `qpush'. -.TP -.I search -This file holds the history of search queries. -This file will not be touched if option \-\-incognito is set. -.PD -.RE -. -.SH ENVIRONMENT -.TP -.B http_proxy, HTTP_PROXY -If either environment variable is non-empty, the specified host and -optional port is used to tunnel requests. For example: -HTTP_PROXY=localhost:8118. -. -. -.SH "REPORTING BUGS" -Report bugs to the main project page on https://github.com/fanglingsu/vimb/issues -.br -or on the mailing list https://lists.sourceforge.net/lists/listinfo/vimb-users. -. -. -.SH AUTHOR -Daniel Carl -- cgit v1.2.3