&dactyl.appName; has a number of internal variables and switches which can be set to
achieve special effects. These options come in 8 forms:
boolean
Can only be on or off
number
A numeric value
string
A string value
charlist
A string containing a discrete set of distinct characters
stringlist
A comma-separated list of strings. Any comma appearing within single
or double quotes, or prefixed with a \, will not be treated
as an item separator.
stringmap
A comma-separated list of key-value pairs, e.g., key:val,foo:bar
regexplist
A comma-separated list of regular expressions. Expressions may be
prefixed with a !, in which case the match will be negated. A
literal ! at the beginning of the expression may be matched
with [!] or by placing the regular expression in quotes.
Generally, the first matching regular expression is used. Any comma
appearing within single or double quotes, or prefixed with a
\, will not be treated as an item separator.
regexpmap
A combination of a stringmap and a regexplist. Each key
in the key:value pair is a regexp. If the regexp begins with a
!, the sense of the match is negated, such that a non-matching
expression will be considered a match and vice versa.
The first key to match yields value.
sitelist
sitemap
Like regexplist and regexpmap, but the keys are
site-filters rather than regular expressions.
Some options may be given format strings containing macro replacements in
the form of <name>. These tokens are replaced by
the parameter name as specified in the relevant documentation.
If the token is in the form <q-name>, the value of the
parameter is automatically quoted. If it is in
the form of <e-name>, its value is never shown but may be
used to test whether the given parameter is empty.
Array elements, such as in the <args> parameter
of :command macros, may be accessed by appending
[n], where n is the one-based array
index, to the macro name. The first argument of a command is
therefore accessed with <args[1]>.
Any substring enclosed by <{ and }>
is automatically elided if any of the contained macros aren't currently
valid. A literal < or > character may
be included with the special escape sequences <lt> or
<gt> respectively.
For example, given the format string
<{(cmd: <column>) }><{line: <line> }><file>,
where line=32 and
file=Lieder eines fahrenden Gesellen.txt,
the result is formatted as
line: 32 'Lieder eines fahrenden Gesellen.txt'
Setting options
:set :se:set
Show all options which differ from their default values.
Add the value to a number option, or append the value
to a string option. When the option is a comma separated list, a
comma is added, unless the value was empty. If the option is a list
of flags, superfluous flags are removed. When adding a flag that
was already present the option value doesn't change.
Multiply the value to a number option, or prepend the
value to a string option. When the option is a comma
separated list, a comma is added, unless the value was empty.
Subtract the value from a number option, or remove the
value from a string option if it is there. If the
value is not found in a string option, there is no error or
warning. When the option is a comma separated list, a comma is
deleted, unless the option becomes empty. When the option is a list
of flags, value must be exactly as they appear in the option.
Remove flags one by one to avoid problems.
:setlocal :setl:setlocal …
The same as :set command, but operates on current tab options
only. See :set for details.
:setglobal :setg:setglobal …
The same as :set command, but operates on global options only.
See :set for details.
Environment variables are expanded for path options like cdpath and
runtimepath. The variable notation is $VAR (terminated by a non-word
character) or ${VAR}. %VAR% is also supported on Windows.
Setting &dactyl.host; options
&dactyl.host; options can be viewed and set with the following commands:
:pref :prefs :preferences:preferences
Show the &dactyl.host; preferences dialog. You can change the browser
preferences from this dialog. Be aware that not all &dactyl.host;
preferences work, because &dactyl.appName; overrides some key bindings and
changes &dactyl.host;'s GUI.
:pref! :prefs! :preferences!:preferences!
Opens about:config in the current tab, where you can change advanced &dactyl.host;
preferences.
Change any &dactyl.host; preference (those on the about:config
page). You can also reset/delete these preferences with
:set! preference&.
&dactyl.appName; needs to set several &dactyl.host; preferences at
startup in order to function properly. If this is unacceptable,
they can be changed in your RC file with the :set!
command, but beware of unexpected behavior. The affected
preferences are:
Enables automatic completion for completion contexts (see
:contexts) matching the given regular expressions. When
automatic completion is enabled, the completion list is
automatically opened when the &tag.command-line; is focused.
Thereafter, any key press triggers a completion update for the
matching contexts. Non-matching contexts will only be updated when
the key is pressed. This option is useful
for disabling auto-completion for computationally intensive
contexts that don't perform well when your system is under load.
Completion contexts have names very much like Unix path names.
These denote the tree in which they're called. A completer will
never be called unless every completer preceding it in the tree
was also called. For example, if your completer excludes
/ex/, it will also exclude /ex/bmarks, and
so on.
To enable auto-completion for everything but :history or
:bmarks, you would choose a value such as
!/ex/(bmarks|history),.?
To go in the other direction, i.e. only enable
auto-completion for those commands, you have to jump through
some hoops, due to the way contexts work (see the note above):
/ex/(bmarks|history),^(/|/ex/?)$
Replace occurrences of ! with the previous command when
executing external commands.
$CDPATH'cd' 'cdpath''cdpath' 'cd'&option.cdpath.type;equivalent to . or .,$CDPATH
List of directories searched when executing the :cd
command. This is only used for relative paths; if an absolute path is
specified, this option is ignored.
If the CDPATH environment variable is set this path list
is appended to the default value of ..
Items which are completed at the :open prompts. Available items:
s
Search engines and keyword URLs
f
Local files
l
&dactyl.host; location bar entries (bookmarks and history sorted in an intelligent way)
b
Bookmarks
h
History
S
Search engine suggestions
The order is important, such that bsf will
list bookmarks followed by matching quick searches and then
matching files.
Using b and h can make completion very slow if
there are many items.
'dls' 'dlsort' 'downloadsort''downloadsort'stringlist-active,+filename
:downloads sort order, in order of precedence.
Each element must be preceded by a + or
-, indicating ascending or descending sorting,
respectively. Valid sort orders are:
Sets the default search engine. The default search engine is
used by :open and related commands for arguments which
include no search or bookmark keywords and can't otherwise be
converted into URLs or existing file names.
This means that with defsearch set to youtube,
:open Tim Minchin behaves exactly as
:open youtube Tim Minchin, so long as you don't have a
search or bookmark keyword called ‘Tim’.
Set the external text editor.
This is the editor used by , gF, and
other commands which launch an external text editor.
Accepts a macro-string with the following escapes available.
Arguments containing escapes which are not relevant to a given call
are automatically elided. All field splitting is done before format
characters are processed.
<file>
The file to edit. Appended as the final argument if missing.
<line>
The line number at which to position the cursor.
<column>
The column at which to position the cursor.
&dactyl.appName; will not behave correctly if the editor forks its
own process rather than blocking until editing is complete. Gvim
invoked without the -f option is one such example.
'enc' 'encoding''encoding' 'enc'&option.encoding.type;&option.encoding.default;
Changes the character encoding of the current buffer. Valid only
until a new page is loaded.
Defines specialized CSS selectors or XPath expressions for arbitrary
extended-hints modes. The syntax is the same as for
hinttags. If no matches are found, the value of
hinttags is used.
Always show the command line outside of the status line
M
Always show messages outside of the status line
N
Tab number over image
T
Toolbar
b
Bottom scrollbar
c
Always show the command line, even when empty
l
Left scrollbar (l and r are mutually exclusive)
m
Menu bar
n
Tab number
r
Right scrollbar
s
Status bar
See also showtabline.
Scrollbar changes require a page reload to take effect.Only one of l or r may be included.'hf' 'helpfile''helpfile' 'hf'&option.helpfile.type;&option.helpfile.default;
Name of the main help file. This is that page shown if the
:help command is called without any arguments.
When generating hints for input elements that do not have an
explicit caption, this specifies the methods used to generate a
textual hint. The options are attempted in the order they are
given, and the first successful value is used.
value
The hint is the value displayed in a text input, or the selected option for a drop-down.
label
The value of an explicit label for the input; this will not match most manually added labels that are found on sites.
name
The name of the input will be used; although the name is not designed for user consumption, it is frequently very similar to the label.
The keys used to label and select hints. With its default value,
each hint has a unique number 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
‘numbered’ based on the characters of the home row.
Change the hint matching algorithm used in Hints mode.
Possible values:
contains
The typed characters are split on whitespace, and
these character groups have to match anywhere inside
the text of the link.
wordstartswith
The typed characters are matched with the beginning
of the first word (see wordseparators) in the
link as long as possible. If no matches occur in the
current word, then the matching is continued at the
beginning of the next word. The words are worked
through in the order they appear in the link. If the
typed characters contain spaces, then the characters
are split on whitespace. These character groups are
then matched with the beginning of the words,
beginning at the first one and continuing with the
following words in the order they appear in the
link.
firstletters
Behaves like wordstartswith, but non-matching words
aren't skipped.
custom
Delegate to the function
dactyl.plugins.customHintMatcher.
transliterated
Certain alphanumeric characters are transliterated into their
unaccented equivalents, such that ‘euro’ will match 'æuró',
and ‘Ångström’ will match ‘angstrom’.
A list of CSS selectors or XPath expressions used to select elements
for hinting. Values beginning with the
string xpath: are treated as XPath expressions, while any
other values are treated as CSS selectors. Can be overridden for
individual extended-hints modes with the
extendedhinttags option.
Timeout in milliseconds before automatically following a non-unique
hint. The timeout is measured since the last time a key listed in
hintkeys was pressed. It has no effect when narrowing hints
by typing part of their text. Set to 0 (the default) to only follow
hints after pressing or when the hint is unique.
Use Insert mode as the default for text areas. This is useful if you
want to use the known &dactyl.host; interface for editing text areas.
Input fields default to this behavior irrespective of this option's
setting.
TextEdit mode can be entered with from Insert mode.
A regular expression list that defines which plugins are loaded at
startup or via :loadplugins. The first item to match is
the one that takes effect. If no items match, the file is not
loaded. Setting this to a blank value effectively disables plugin
loading.
For example, to prepend to the default value of this option to load
all plugins except for foobar-plugin, you could use:
!foobar-plugin
Alternatively, you can specify which plugins to load and which to
omit in your &dactyl.name;rc using something like
the following:
!foo|bar,\.(js|&dactyl.fileExt;)$
That will load all plugins but foo and bar.
Note that in the first expression of the latter example you don't
need parentheses, as the ! negates the whole of the
following expression (cf. regexplist).
Defines which Ex commands open pages in new tabs rather than the
current tab by default. This may be overridden with the
:tab command, and is usually inverted by affixing a
! to the command in question.
Patterns to use when guessing the next page in a document
sequence after pressing the ]] key. Each pattern is
successively tested against each link in the page (as defined by
hinttags, starting with the last), and the first link to
match is followed.
Pass certain keys through directly for the given URLs.
For any page with a URL matching a given regexp, all key
events for keys listed in that regexp's value are passed
through directly to &dactyl.host;, and are not processed
by &dactyl.appName; in any way. Key names are separated
by commas, where the first key name is treated as a list
of individual keys and each subsequent key is treated as
a key chain. Individual key entries always apply to all
modes. Key chains apply only to non-input modes unless
they begin with a key requiring a modifier other than
shift.
mail.google.com:jk<CR>,gi
More subtle and complex pass through can be achieved
using groups and mode-specific mappings utilizing
the pseudo-key.
Pass unknown keys through to &dactyl.host; in these
modes. The first element matching a currently
active mode is the one that takes effect. Modes may be
negated by prefixing them with a !.
Defines where to show requested pop-up windows. Applies only to
links which request to open in a new window. The behavior of
middle-, shift-, or control- clicking a link is unaffected by this
option.
Possible values are:
tab
Open pop-ups in a new tab
window
Open pop-ups in a new window
resized
Open resized pop-ups in a new window
If neither tab nor window is provided, all
pop-ups open in the current tab. tab and window
are mutually exclusive, and the last one listed is effective.
This option does not alter the &dactyl.host; pop-up blocker behavior
in any way.
'previouspattern''previouspattern'&option.previouspattern.type;&option.previouspattern.default;
Patterns to use when guessing the previous page in a document
sequence after pressing the [[ key. Each pattern is
successively tested against each link in the page (as defined by
hinttags, starting with the last), and the first link to
match is followed.
Set the private browsing option. In private browsing mode
history, cache files, cookies, form data, passwords, download list
entries, local and URL marks, command-line history
and macros are available only for the duration of the private
browsing session and deleted when returning to normal browsing
mode. See also privacy.
$&dactyl.idName;_RUNTIME'rtp' 'runtimepath''runtimepath' 'rtp'&option.runtimepath.type;$&dactyl.idName;_RUNTIME or
Unix, Mac: ~/.&dactyl.name;
Windows: ~/&dactyl.name;
List of directories searched for runtime files:
colors/
macros/
plugins/
Example:
~/my&dactyl.name;,~/.&dactyl.name;
This will search for plugins in both
~/my&dactyl.name;/plugins and
~/.&dactyl.name;/plugins
On startup, if the environment variable $&dactyl.idName;_RUNTIME does not
exist, &dactyl.appName; will set it to match this value.
Number of lines to scroll with and
commands. The number of lines scrolled defaults to half the window
size. When a count is specified to the or
commands, that value is used instead. When the
value is 0, it defaults to half the window height.
'sh' 'shell''shell' 'sh'&option.shell.type;$SHELL or sh, Windows: cmd.exe
When this option is set and a key sequence interpretable both as a
complete command and as a start of a longer command is typed,
execute the shorter command after timeoutlen milliseconds.
Set the application name shown after the current page title in
&dactyl.host;'s title bar.
Mozilla &dactyl.host;'us' 'urlsep' 'urlseparator''urlseparator' 'urlsep' 'us'&option.urlseparator.type;&option.urlseparator.default;
The regular expression used to split URL lists in commands
like :open. When set to the empty string, URL lists
are never split. With the default value, the following will open
three URLs in the current tab and two new background tabs,
:open google Linux | wikipedia Arch Linux | imdb Serenity'noum' 'nousermode''um' 'usermode''usermode' 'um'&option.usermode.type;&option.usermode.default;
Define which info messages are displayed. As the value increases,
&dactyl.appName; will show more messages about its progress.
These can be viewed at any time with the :messages
command. The highest useful value is 15, being the most verbose
mode.
Regular expression list defining which completion groups show only
matches anchored to the beginning of the result. The first
matching expression is the one that applies. If the match is
negated, then the current filter may match anywhere in the result.
If it is not negated, then the match may only occur at the
beginning of the result. If no items match, then a
context-dependent default value is used.
Defines how completions are matched with regard to character case.
Keys in the regexpmap refer to completion context names (see
:contexts) for which the value applies. Possible values
are:
smart
Case is significant when capital letters are typed
List of file patterns to ignore when completing files. For example,
the following will ignore object files and Vim swap files:
\.o$,^\..*\.s[a-z]{2}$Unlike Vim, each pattern is a regular expression rather than a glob.'wim' 'wildmode''wildmode' 'wim'&option.wildmode.type;&option.wildmode.default;
Defines how command-line completion works. It is a comma-separated
list of parts, where each part specifies what to do for each
consecutive press of the key. The last
element in the list is used for each succeeding
after it has been reached.
These are the possible values for each part:
Complete only the first match.
full
Complete the next full match. After the last, the original string is used.
longest
Complete the longest common substring of all completions.
list
When more than one match, list all matches.
list:full
When more than one match, list all matches and complete the first match.
list:longest
When more than one match, list all matches and
complete till the longest common string. When there
is only a single match, it is fully completed
regardless of the case.
A list of regular expressions defining which completion contexts
should be sorted. The main purpose of this option is to prevent
sorting of certain completion lists that don't perform well under
load.
A regular expression which defines how words are split for
the hintmatching types wordstartswith and
firstletters. Words are split on each occurrence of the
given pattern.