1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2026-02-20 19:55:48 +01:00

Major documentation updates and formatting fixes, and many, many other changes thanks to an MQ glitch, including:

* Significant completion speed improvements
 * Significantly improve startup speed, in large part by lazily
   instantiating Options and Commands, lazily installing highlight
   stylesheets, etc.
 * Update logos and icons, fix atrocious about page
 * Fix Teledactyl
 * JavaScript completion now avoids accessing property values
 * Add Option#persist to define which options are saved with :mkp
 * Add new Dactyl component which holds add-on-specific configuration
   information and removes need for separate components for each dactyl
   host
 * Several fixes for latest nightlies
 * Significant code cleanup and many bug fixes

--HG--
rename : muttator/AUTHORS => teledactyl/AUTHORS
rename : muttator/Donors => teledactyl/Donors
rename : muttator/Makefile => teledactyl/Makefile
rename : muttator/NEWS => teledactyl/NEWS
rename : muttator/TODO => teledactyl/TODO
rename : muttator/chrome.manifest => teledactyl/chrome.manifest
rename : muttator/components/commandline-handler.js => teledactyl/components/commandline-handler.js
rename : muttator/components/protocols.js => teledactyl/components/protocols.js
rename : muttator/content/addressbook.js => teledactyl/content/addressbook.js
rename : muttator/content/compose/compose.js => teledactyl/content/compose/compose.js
rename : muttator/content/compose/compose.xul => teledactyl/content/compose/compose.xul
rename : muttator/content/compose/dactyl.dtd => teledactyl/content/compose/dactyl.dtd
rename : muttator/content/compose/dactyl.xul => teledactyl/content/compose/dactyl.xul
rename : muttator/content/config.js => teledactyl/content/config.js
rename : muttator/content/dactyl.dtd => teledactyl/content/dactyl.dtd
rename : muttator/content/logo.png => teledactyl/content/logo.png
rename : muttator/content/mail.js => teledactyl/content/mail.js
rename : muttator/content/muttator.xul => teledactyl/content/pentadactyl.xul
rename : muttator/contrib/vim/Makefile => teledactyl/contrib/vim/Makefile
rename : muttator/contrib/vim/ftdetect/muttator.vim => teledactyl/contrib/vim/ftdetect/muttator.vim
rename : muttator/contrib/vim/mkvimball.txt => teledactyl/contrib/vim/mkvimball.txt
rename : muttator/contrib/vim/syntax/muttator.vim => teledactyl/contrib/vim/syntax/muttator.vim
rename : muttator/install.rdf => teledactyl/install.rdf
rename : muttator/locale/en-US/Makefile => teledactyl/locale/en-US/Makefile
rename : muttator/locale/en-US/all.xml => teledactyl/locale/en-US/all.xml
rename : muttator/locale/en-US/autocommands.xml => teledactyl/locale/en-US/autocommands.xml
rename : muttator/locale/en-US/gui.xml => teledactyl/locale/en-US/gui.xml
rename : muttator/locale/en-US/intro.xml => teledactyl/locale/en-US/intro.xml
rename : muttator/skin/icon.png => teledactyl/skin/icon.png
This commit is contained in:
Kris Maglione
2010-09-17 06:21:33 -04:00
parent bfbb4b1313
commit 1557b70f45
125 changed files with 4409 additions and 3969 deletions

View File

@@ -6,8 +6,8 @@
<document
name="all"
title="&dactyl.appname; All"
xmlns="http://vimperator.org/namespaces/liberator"
xmlns:html="http://www.w3.org/1999/xhtml">
xmlns="&xmlns.dactyl;"
xmlns:html="&xmlns.html;">
<tags>all</tags>
<toc/>

View File

@@ -6,8 +6,8 @@
<document
name="autocommands"
title="&dactyl.appname; Autocommands"
xmlns="http://vimperator.org/namespaces/liberator"
xmlns:html="http://www.w3.org/1999/xhtml">
xmlns="&xmlns.dactyl;"
xmlns:html="&xmlns.html;">
<h1 tag="autocommands">Automatic commands</h1>
<toc start="2"/>
@@ -18,48 +18,57 @@
<item>
<tags>:au :autocmd</tags>
<spec>:au[tocmd]</spec>
<spec>:au<oa>tocmd</oa><oa>!</oa> <oa>events</oa> <oa>pat</oa> <oa>cmd</oa></spec>
<description>
<p>Execute commands automatically on events.</p>
<p><ex>:au[tocmd]</ex> <a>event</a> <a>pat</a> <a>cmd</a></p>
<p>
If the <em>-javascript</em> (short name <em>-js</em>)
option is specified, <a>cmd</a> is executed as JavaScript
code, with any supplied arguments available as
variables.
When <oa>cmd</oa> is not given, list all commands
defined for the given <oa>events</oa> and <oa>pat</oa>.
When <oa>!</oa> is given, delete the matching commands
rather than listing them.
</p>
<p>Add <a>cmd</a> to the list of commands &dactyl.appname; will execute on <a>event</a> for a URL matching <a>pat</a>:</p>
<p>
When <oa>cmd</oa> is given, add it to the list of
commands to be executed when <oa>events</oa> occur for
pages matching the regular expression <oa>pat</oa>. If
the <em>-javascript</em> (short name <em>-js</em>)
option is given, <oa>cmd</oa> is interperated as
JavaScript code. Otherwise, it is interperated as an ex
command.
</p>
<ul>
<li><ex>:autocmd[!]</ex> <a>events</a> <a>pat</a>: list/remove autocommands filtered by <a>events</a> and <a>pat</a></li>
<li><ex>:autocmd[!]</ex> <a>events</a>: list/remove autocommands matching <a>events</a></li>
<li><ex>:autocmd[!]</ex> <a>pat</a>: list/remove autocommands matching <a>pat</a></li>
<li><ex>:autocmd[!]</ex>: list/remove all autocommands</li>
</ul>
<note>
This behavior differs from Vim's implementation in that
<oa>pat</oa> is a regular expression rather than a glob.
</note>
<p>Available <a>events</a>:</p>
<p>Available <oa>events</oa>:</p>
<dl tag="autocommand-list"/>
<p><a>pat</a> is a regular expression, use <tt>.*</tt> if you want to match all URLs.</p>
<note>This differs from Vim which uses a glob rather than a regex for <a>pat</a>.</note>
<p>The following keywords are available where relevant:</p>
<p>
For ex <oa>cmd</oa>s, the following keywords are
replaced with the appropriate value before the commands
are executed. For JavaScript commands, they may be
accessed as ordinary variables, sans angle brackets.
</p>
<dl tag="autocommand-args"/>
</description>
</item>
<item>
</item>
<item>
<tags>:doautoa :doautoall</tags>
<spec>:doautoa[ll] <a>event</a> <oa>url</oa></spec>
<spec>:doautoa<oa>ll</oa> <a>event</a> <oa>url</oa></spec>
<description>
<p>
Apply the autocommands matching the specified URL to all buffers. If no
Apply all <a>event</a> autocommands matching the
specified <oa>url</oa> to all buffers. If no
<oa>url</oa> is specified use the current URL.
</p>
</description>
@@ -67,11 +76,12 @@
<item>
<tags>:do :doautocmd</tags>
<spec>:do[autocmd] <a>event</a> <oa>url</oa></spec>
<spec>:do<oa>autocmd</oa> <a>event</a> <oa>url</oa></spec>
<description>
<p>
Apply the autocommands matching the specified URL to the current buffer. If no
<oa>url</oa> is specified use the current URL.
Apply all autocommands matching the specified
<oa>url</oa> to the current buffer. If no <oa>url</oa>
is specified use the current URL.
</p>
</description>
</item>
@@ -91,7 +101,7 @@
<code><!-- Why is the XSLT processor mangling newlines? -->
<ex>:autocmd LocationChange .* :set editor=<str>gvim -f</str></ex>
<ex>:autocmd LocationChange mail\\.google\\.com :set editor=<str>gvim -f -c 'set ft=mail'</str></ex>
<ex>:autocmd LocationChange 'mail\.google\.com' :set editor=<str>gvim -f -c 'set ft=mail'</str></ex>
</code>
</document>

View File

@@ -6,26 +6,27 @@
<document
name="browsing"
title="&dactyl.appname; Browsing"
xmlns="http://vimperator.org/namespaces/liberator"
xmlns:html="http://www.w3.org/1999/xhtml">
xmlns="&xmlns.dactyl;"
xmlns:html="&xmlns.html;">
<h1 tag="surfing browsing">Browsing</h1>
<toc start="2"/>
&dactyl.appname; overrides nearly all &dactyl.host; keys in order to make browsing more
pleasant for Vim users. On the rare occasions when you want to pass a keystroke
to &dactyl.host;, or to the web page, and have it retain its original meaning you
have 2 possibilities:
<h2 tag="bypassing-&dactyl.name;">Bypassing &dactyl.appname;</h2>
&dactyl.appname; overrides nearly all &dactyl.host; keys in order to
make browsing more pleasant for Vim users. On the occasions when you
want to bypass &dactyl.appname;'s key handling and pass keys directly to
&dactyl.host; or to a web page, you have two options:
<item>
<tags><![CDATA[pass-through <C-z> CTRL-Z]]></tags>
<spec>CTRL-Z</spec>
<description>
<p>
Disable all &dactyl.appname; keys except <k name="Esc"/> and pass them to the next event
handler. This is especially useful if JavaScript controlled forms (e.g., the
RichEdit form fields of Gmail) don't work anymore. To exit this mode, press
<k name="Esc"/>. If you also need to pass <k name="Esc"/> in this mode to the web page,
prepend it with <k name="C-v"/>.
Pass all keys except for <k name="Esc"/> directly to
&dactyl.host;. When <k name="Esc"/> is pressed,
resume normal key handling. This is especially useful
for web sites which make heavy use of key bindings.
</p>
</description>
</item>
@@ -36,11 +37,7 @@ have 2 possibilities:
<spec>CTRL-V</spec>
<description>
<p>
If you only need to pass a single key to a JavaScript form field or another
extension prefix the key with <k name="C-v"/>. Also works to unshadow &dactyl.host;
shortcuts like <k name="C-o"/> which are otherwise hidden in &dactyl.appname;. When
&dactyl.appname; mode is temporarily disabled with <k name="C-z"/>, <k name="C-v"/> will pass
the next key to &dactyl.appname; instead of the web page.
Pass the next key press directly to &dactyl.host;.
</p>
</description>
</item>
@@ -54,52 +51,55 @@ have 2 possibilities:
<spec>o</spec>
<description>
<p>
Open one or more URLs in the current tab.
Multiple URLs can be separated with <o>urlseparator</o> (default: ", " Note that the
space after the comma is required.)
The first URL is opened in the current tab, and all other URLs are
opened in new tabs.
Each token is analyzed and in this order:
Open a single URL in the current tab, or multiple URLs
in the current tab and background tabs. URLs may be
separated with <o>urlseparator</o>, in which case the
first URL is opened in the current tab and the rest are
opened in new background tabs.
</p>
<p>
Each URL may be one of the following:
</p>
<ol>
<li>
Opened as a local file if it is an existing relative or absolute filename.
<ul>
<li><ex>:open /etc/fstab</ex> shows the file system table.</li>
<li><ex>:open ../other/foo.html</ex> in your home directory opens <tt>/home/other/foo.html</tt></li>
</ul>
A local filename, if it begins with <em>/</em>,
<em>./</em>, or <em>~/</em> and the specified file
exists.
</li>
<li>
Opened with the specified search engine if the
token looks like a search string and the first word
is the name of a search engine (
<ex>:open wikipedia linus torvalds</ex> opens the Wikipedia entry for
linus torvalds). The short name of a search engine
is automatically guessed from its name. If you want
to set a custom name, you can change it with
<ex>:dialog searchengines</ex>.
<p>
A search or bookmark keyword, or a search engine
name, followed by search arguments.
</p>
<example><ex>:open wikipedia Linus Torvalds</ex></example>
<p>
Search engines can be edited via
<ex>:dialog searchengines</ex> and search
keywords may be added by right clicking any
search box and selecting <str>Add a Keyword for
this Search</str>.
</p>
</li>
<li>
Opened with the default search engine or keyword
(specified with the <o>defsearch</o> option) if the first
word is no search engine (<ex>:open linus torvalds</ex>
opens a Google search for linus torvalds).
<p>
Any search string which does not look like a URL or
hostname, which will be passed to the default
search engine (see <o>defsearch</o>).
</p>
<example><ex>:open Linus Torvalds</ex></example>
</li>
<li>
Passed directly to &dactyl.host; in all other cases
(<ex>:open www.osnews.com, www.slashdot.org</ex>
opens OSNews in the current, and Slashdot in a new
background tab).
Any other value is passed directly &dactyl.host; and
must be a valid URL or hostname.
</li>
</ol>
<p>
You can use <ex>:open -tags linux torvalds<k name="Tab"/></ex> to complete bookmarks with
tag "linux" and which contain "torvalds". Note that -tags support is only
available for tab completion, not for the actual command.
The items which are completed on <k name="Tab"/> are specified in the <o>complete</o>
option.
<ex>:open</ex> provides powerful URL completion from
several possible sources, which can be adjusted via the
<o>complete</o> option.
</p>
</description>
</item>
@@ -111,8 +111,9 @@ have 2 possibilities:
<spec>t</spec>
<description>
<p>
Just like <ex>:open</ex> but also uses a new tab for the first URL. When
used with <oa>!</oa>, the <em>tabopen</em> value of the <o>activate</o> option is negated.
Like <ex>:open</ex>, but all arguments are opened in new
tabs. The first new tab is activated if <o>activate</o>
contains <str>tabopen</str> or <oa>!</oa> is provided.
</p>
</description>
</item>
@@ -121,10 +122,9 @@ have 2 possibilities:
<item>
<tags>T</tags>
<spec>T</spec>
<description>
<description short="true">
<p>
Show a <ex>:tabopen</ex> prompt containing the current URL. Useful if you want to
go somewhere by editing the URL of the current page.
Open a <ex>:tabopen</ex> prompt followed by the current URL.
</p>
</description>
</item>
@@ -135,9 +135,9 @@ have 2 possibilities:
<spec>:<oa>count</oa>tabdu<oa>plicate</oa><oa>!</oa></spec>
<description>
<p>
Duplicates current tab <oa>count</oa> times. Uses <em>tabopen</em> value of the <o>activate</o>
option to determine if the last cloned tab should be activated. When used with
<oa>!</oa>, <em>tabopen</em> value is negated.
Duplicates current tab <oa>count</oa> times. The first
new tab is activated if <o>activate</o> contains
<str>tabopen</str> or <oa>!</oa> is provided.
</p>
</description>
</item>
@@ -146,10 +146,9 @@ have 2 possibilities:
<item>
<tags>O</tags>
<spec>O</spec>
<description>
<description short="true">
<p>
Show an <ex>:open</ex> prompt containing the current URL. Useful if you want to
go somewhere by editing the URL of the current page.
Open an <ex>:open</ex> prompt followed by the current URL.
</p>
</description>
</item>
@@ -160,7 +159,10 @@ have 2 possibilities:
<spec>:wino<oa>pen</oa><oa>!</oa> <oa>arg1</oa>, <oa>arg2</oa>, …</spec>
<spec>w</spec>
<description>
<p>Just like <ex>:tabopen</ex> but opens the resulting web page(s) in a new window.</p>
<p>
Like <ex>:tabopen</ex>, but all arguments are opened in
a single new window.
</p>
</description>
</item>
@@ -168,10 +170,9 @@ have 2 possibilities:
<item>
<tags>W</tags>
<spec>W</spec>
<description>
<description short="true">
<p>
Open one or more URLs in a new window based on current location. Works like
<k>w</k> but preselects current URL in the <ex>:winopen</ex> query.
Open a <ex>:winopen</ex> prompt followed by the current URL.
</p>
</description>
</item>
@@ -179,13 +180,14 @@ have 2 possibilities:
<item>
<tags><![CDATA[<MiddleMouse> p]]></tags>
<strut/>
<spec>p</spec>
<description>
<p>
Open (put) a URL based on the current clipboard contents in the current buffer.
You can also just select (for non-X11 users: copy) some non-URL text, and
search for it with the default search engine or keyword (specified by the
<o>defsearch</o> option) with <k>p</k>.
Open (put) a URL based on the current clipboard
contents, or, on X11 systems, the currently selected
text. All white space is stripped from the selection and
it is opened in the same manner as <ex>:open</ex>.
</p>
</description>
</item>
@@ -193,14 +195,14 @@ have 2 possibilities:
<item>
<tags>P</tags>
<strut/>
<spec>P</spec>
<description>
<p>
Open (put) a URL based on the current clipboard contents in a new buffer. Works
like <k>p</k> but opens a new tab.
</p>
<p>
Whether the new buffer is activated, depends on the <o>activate</o> option.
Open (put) a URL based on the current clipboard contents
in a new buffer. Works like <k>p</k> but opens a new
tab. The new tab is activated if <o>activate</o>
contains <str>paste</str>.
</p>
</description>
</item>
@@ -208,11 +210,13 @@ have 2 possibilities:
<item>
<tags>gP</tags>
<strut/>
<spec>gP</spec>
<description>
<p>
Open (put) a URL based on the current clipboard contents in a new buffer.
Works like <k>P</k> but inverts the <o>activate</o> option.
Open (put) a URL based on the current clipboard contents
in a new buffer. The new tab is activated if <o>activate</o>
does <em>not</em> contain <str>paste</str>.
</p>
</description>
</item>
@@ -220,12 +224,14 @@ have 2 possibilities:
<item>
<tags><![CDATA[<C-x>]]></tags>
<strut/>
<spec><oa>count</oa>&lt;C-x></spec>
<description>
<p>
Decrements the last number in URL by 1, or by <oa>count</oa> if given. Negative
numbers are not supported, as this is not generally useful, so the number cannot
be decremented past 0.
Decrements the last number in URL by 1, or by
<oa>count</oa> if given. Negative numbers are not
supported as trailing numbers in URLs are often preceded
by hyphens.
</p>
</description>
</item>
@@ -233,9 +239,13 @@ have 2 possibilities:
<item>
<tags><![CDATA[<C-a>]]></tags>
<strut/>
<spec><oa>count</oa>&lt;C-a></spec>
<description>
<p>Increments the last number in URL by 1, or by <oa>count</oa> if given.</p>
<p>
Increments the last number in URL by 1, or by
<oa>count</oa> if given.
</p>
</description>
</item>
@@ -243,11 +253,8 @@ have 2 possibilities:
<item>
<tags>~</tags>
<spec>~</spec>
<description>
<p>
Open home directory. You can also use the hints and have the probably fastest
file browser on earth. :)
</p>
<description short="true">
<p>Open home directory. Equivalent to <ex>:open ~/</ex></p>
</description>
</item>
@@ -261,9 +268,10 @@ have 2 possibilities:
<spec>CTRL-o</spec>
<description>
<p>
Go <oa>count</oa> pages back in the browser history. If <oa>url</oa> is specified go back to
the first matching URL. The special version <ex>:back!</ex> goes to the beginning
of the browser history.
Go <oa>count</oa> pages back in the browser history. If
<oa>url</oa> is specified go back to the first matching
URL. The special version <ex>:back!</ex> goes to the
beginning of the browser history.
</p>
</description>
</item>
@@ -276,9 +284,10 @@ have 2 possibilities:
<spec>CTRL-i</spec>
<description>
<p>
Go <oa>count</oa> pages forward in the browser history. If <oa>url</oa> is specified go
forward to the first matching URL. The special version <ex>:forward!</ex> goes to
the end of the browser history.
Go <oa>count</oa> pages forward in the browser history.
If <oa>url</oa> is specified go forward to the first
matching URL. The special version <ex>:forward!</ex>
goes to the end of the browser history.
</p>
</description>
</item>
@@ -288,11 +297,12 @@ have 2 possibilities:
<tags>:ju :jumps</tags>
<spec>:ju<oa>mps</oa></spec>
<description>
<p>List all jumps aka current tab's history aka session history.</p>
<p>List all jumps, i.e., the current tab's session history.</p>
<p>
Current history position is marked with >, jump numbers are counters to be used
with <ex>:back</ex> (above zero record) or <ex>:forward</ex> (below zero record).
Current history position is marked with <em>></em>.
Jump numbers may be used as counts for with
<ex>:back</ex> or <ex>:forward</ex>.
</p>
</description>
</item>
@@ -301,7 +311,7 @@ have 2 possibilities:
<item>
<tags>gh</tags>
<spec>gh</spec>
<description>
<description short="true">
<p>Go home. Opens the homepage in the current tab.</p>
</description>
</item>
@@ -309,11 +319,13 @@ have 2 possibilities:
<item>
<tags>gH</tags>
<strut/>
<spec>gH</spec>
<description>
<p>
Go home in a new tab. Opens the homepage in a new tab. Whether the new tab is
activated or not depends on the <o>activate</o> option.
Go home in a new tab. Opens the homepage in a new tab.
The new tab is activated if <o>activate</o> contains
<str>homepage</str>.
</p>
</description>
</item>
@@ -322,13 +334,13 @@ have 2 possibilities:
<item>
<tags>gu</tags>
<spec><oa>count</oa>gu</spec>
<description>
<description short="true">
<p>Go to <oa>count</oa>th parent directory.</p>
<p>
<k>2gu</k> on
<tt>http://www.example.com/dir1/dir2/file.htm</tt> opens
<tt>http://www.example.com/dir1/</tt>.
For example, at the URL
<tt>http://www.example.com/dir1/dir2/file.htm</tt>,
<k>2gu</k> opens <tt>http://www.example.com/dir1/</tt>.
</p>
</description>
</item>
@@ -337,13 +349,13 @@ have 2 possibilities:
<item>
<tags>gU</tags>
<spec>gU</spec>
<description>
<description short="true">
<p>Go to the root of the web site.</p>
<p>
<k>gU</k> on <tt>http://www.example.com/dir1/dir2/file.htm</tt> opens
<tt>http://www.example.com/</tt>.
When browsing a local directory, it goes to the root directory.
For example, at the URL
<tt>http://www.example.com/dir1/dir2/file.htm</tt>,
<k>gU</k> opens <tt>http://www.example.com/</tt>.
</p>
</description>
</item>
@@ -354,8 +366,8 @@ have 2 possibilities:
<item>
<tags>r</tags>
<spec>r</spec>
<description>
<p>Force reloading of the current web page.</p>
<description short="true">
<p>Reload the current web page.</p>
</description>
</item>
@@ -363,8 +375,8 @@ have 2 possibilities:
<item>
<tags>R</tags>
<spec>R</spec>
<description>
<p>Force reloading of the current web page skipping the cache.</p>
<description short="true">
<p>Reload the current web page without using the cache.</p>
</description>
</item>
@@ -374,8 +386,8 @@ have 2 possibilities:
<spec>:re<oa>load</oa><oa>!</oa></spec>
<description>
<p>
Reload current web page. Forces reloading of the current page. If <oa>!</oa> is given,
skip the cache.
Reload current web page. If <oa>!</oa> is given, reload
without using the cache.
</p>
</description>
</item>
@@ -385,7 +397,10 @@ have 2 possibilities:
<tags>:reloada :reloadall</tags>
<spec>:reloada<oa>ll</oa><oa>!</oa></spec>
<description>
<p>Reload all pages. Forces reloading of all pages. If <oa>!</oa> is given, skip the cache.</p>
<p>
Reload all tabs. If <oa>!</oa> is given, reload without
using the cache.
</p>
</description>
</item>
@@ -393,18 +408,11 @@ have 2 possibilities:
<h2 tag="stopping">Stopping</h2>
<item>
<tags><![CDATA[<C-c>]]></tags>
<tags><![CDATA[<C-c> :st :stop]]></tags>
<spec>&lt;C-c></spec>
<description>
<p>Stop loading the current web page.</p>
</description>
</item>
<item>
<tags>:st :stop</tags>
<strut/>
<spec>:st<oa>op</oa></spec>
<description>
<description short="true">
<p>Stop loading the current web page.</p>
</description>
</item>
@@ -413,7 +421,7 @@ have 2 possibilities:
<item>
<tags>:stopa :stopall</tags>
<spec>:stopa<oa>ll</oa></spec>
<description>
<description short="true">
<p>Stop loading all web pages.</p>
</description>
</item>
@@ -423,11 +431,14 @@ have 2 possibilities:
<item>
<tags>:w :write :sav :saveas</tags>
<strut/>
<spec>:sav<oa>eas</oa><oa>!</oa> <oa>file</oa></spec>
<description>
<p>
Save current web page to disk. If <oa>file</oa> is omitted, save to the page's
default filename. Existing documents will only be overwritten if <oa>!</oa> is given.
Save current web page to disk. If <oa>file</oa> is
omitted, save to the page's default filename. Existing
documents will only be overwritten if <oa>!</oa> is
given.
</p>
</description>
</item>
@@ -437,12 +448,12 @@ have 2 possibilities:
<item>
<tags>:q :quit</tags>
<strut/>
<spec>:q<oa>uit</oa></spec>
<description>
<p>
Quit current tab. If this is the last tab in the window, close the window. If
this was the last window, close &dactyl.appname;. When quitting &dactyl.appname;, the
session is not stored.
Quit current tab. If this is the last tab in the window,
close the window.
</p>
</description>
</item>
@@ -450,11 +461,12 @@ have 2 possibilities:
<item>
<tags>:qa :qall :quita :quitall</tags>
<strut/>
<spec>:quita<oa>ll</oa></spec>
<description>
<p>
Quit &dactyl.appname;. Quit &dactyl.appname;, no matter how many tabs/windows are open.
The session is not stored.
Quit &dactyl.appname;, no matter how many tabs/windows
are open. The session is not stored.
</p>
</description>
</item>
@@ -463,8 +475,8 @@ have 2 possibilities:
<item>
<tags>:wc :wclose :winc :winclose</tags>
<spec>:winc<oa>lose</oa></spec>
<description>
<p>Close window.</p>
<description short="true">
<p>Close the current window.</p>
</description>
</item>
@@ -472,8 +484,8 @@ have 2 possibilities:
<item>
<tags>:winon :winonly</tags>
<spec>:winon<oa>ly</oa></spec>
<description>
<p>Close all other windows.</p>
<description short="true">
<p>Close all windows but the current.</p>
</description>
</item>
@@ -481,14 +493,14 @@ have 2 possibilities:
<item>
<tags>:xa :xall :wq :wqa :wqall</tags>
<spec>:wqa<oa>ll</oa></spec>
<strut/>
<spec>:xa<oa>ll</oa></spec>
<description>
<p>
Save the session and quit. Quit &dactyl.appname;, no matter how many tabs/windows
are open. The session is stored. <ex>:wq</ex> is different from Vim, as it
closes the window instead of just one tab by popular demand. Complain on the
mailing list if you want to change that.
</p>
<description short="true">
<p>Save the current session and quit.</p>
<note>
Unlike Vim, <ex>:wq</ex> closes the entire window rather
than just the current tab.
</note>
</description>
</item>
@@ -496,7 +508,7 @@ have 2 possibilities:
<item>
<tags>ZQ</tags>
<spec>ZQ</spec>
<description>
<description short="true">
<p>Quit and don't save the session. Works like <ex>:qall</ex>.</p>
</description>
</item>
@@ -505,10 +517,10 @@ have 2 possibilities:
<item>
<tags>ZZ</tags>
<spec>ZZ</spec>
<description>
<description short="true">
<p>
Quit and save the session. Quit &dactyl.appname;, no matter how many tabs/windows
are open. The session is stored. Works like <ex>:xall</ex>.
Quit &dactyl.appname; and save the session. Works like
<ex>:xall</ex>.
</p>
</description>
</item>
@@ -518,9 +530,14 @@ have 2 possibilities:
<item>
<tags>:chd :chdir :cd</tags>
<spec>:cd <oa>-|path</oa></spec>
<strut/>
<spec>:cd <oa>path</oa></spec>
<description>
<p>Change the current directory. <ex>:cd -</ex> changes to the last directory.</p>
<p>
Change the current directory. If <oa>path</oa> is
<em>-</em>, change to the previous directory. If it is
omitted, change to the home directory.
</p>
</description>
</item>
@@ -528,7 +545,7 @@ have 2 possibilities:
<item>
<tags>:pw :pwd</tags>
<spec>:pw<oa>d</oa></spec>
<description>
<description short="true">
<p>Print the current directory name.</p>
</description>
</item>

View File

@@ -6,23 +6,29 @@
<document
name="buffer"
title="&dactyl.appname; Buffer"
xmlns="http://vimperator.org/namespaces/liberator"
xmlns:html="http://www.w3.org/1999/xhtml">
xmlns="&xmlns.dactyl;"
xmlns:html="&xmlns.html;">
<h1 tag="buffer document">Buffer</h1>
<toc start="2"/>
&dactyl.appname; holds exactly one buffer object for each tab. It is usually an
(X)HTML document with advanced features.
<p>
A buffer the container that holds the given web page, including
all of its history and frames. Each tab contains exactly one
buffer, and for most purposes the two terms are interchangable.
See <t>tabs</t> for more.
</p>
<h2 tag="buffer-information">Buffer information</h2>
<item>
<tags><![CDATA[<C-g>]]></tags>
<strut/>
<spec>&lt;C-g></spec>
<description>
<p>
Print the current file name. Also shows some additional file information like
file size or the last modified date.
Print the current file name along with basic page
information including last modification time, the number
of feeds present, and the page title.
</p>
</description>
</item>
@@ -31,7 +37,7 @@
<item>
<tags><![CDATA[g<C-g>]]></tags>
<spec>g&lt;C-g></spec>
<description>
<description short="true">
<p>Print file information. Same as <ex>:pa<oa>geinfo</oa></ex>.</p>
</description>
</item>
@@ -39,15 +45,20 @@
<item>
<tags>:pa :pageinfo</tags>
<spec>:pa<oa>geinfo</oa></spec>
<spec>:pa<oa>geinfo</oa> <oa>items</oa></spec>
<description>
<p>Show various page information. See <ex>:help <o>pageinfo</o></ex> for available options.</p>
<p>
Show various page information. The information provided
is determined by the value of <o>pageinfo</o>, or
<oa>items</oa> if present.
</p>
</description>
</item>
<item>
<tags>gf</tags>
<strut/>
<spec>gf</spec>
<description>
<p>
@@ -60,12 +71,15 @@
<item>
<tags>gF</tags>
<strut/>
<spec>gF</spec>
<description>
<p>
View source with an external editor. Opens the source code of the current web
site with the external editor specified by the <o>editor</o> option. For now the
external editor must be able to download and open files from a remote URL.
View source with an external editor. Opens the source
code of the current web site with the external editor
specified by the <o>editor</o> option. The external
editor must be able to download and open files from a
remote URL.
</p>
</description>
</item>
@@ -76,8 +90,9 @@
<spec>:vie<oa>wsource</oa><oa>!</oa> <oa>url</oa></spec>
<description>
<p>
View source code of current document. If <oa>url</oa> is specified then view the
source of that document. When <oa>!</oa> is given, it is opened with the external
View source code of current document. If <oa>url</oa> is
specified then view the source of that document. When
<oa>!</oa> is given, it is opened with the external
editor.
</p>
</description>
@@ -88,11 +103,12 @@
<item>
<tags>^ 0</tags>
<strut/>
<spec>0</spec>
<description>
<p>
Scroll to the absolute left of the document. Unlike in Vim, <k>0</k> and <k>^</k>
work exactly the same way.
Scroll to the absolute left of the document. Unlike in
Vim, <k>0</k> and <k>^</k> work exactly the same way.
</p>
</description>
</item>
@@ -101,7 +117,7 @@
<item>
<tags>$</tags>
<spec>$</spec>
<description>
<description short="true">
<p>Scroll to the absolute right of the document</p>
</description>
</item>
@@ -109,11 +125,13 @@
<item>
<tags><![CDATA[<Home> gg]]></tags>
<strut/>
<spec><oa>count</oa>gg</spec>
<description>
<p>
Go to the top of the document. When used with <oa>count</oa> like in <k>35gg</k>, it
scrolls to 35% of the document.
Go to the top of the document. With <oa>count</oa>,
scroll vertically to <oa>count</oa> percent of the
document.
</p>
</description>
</item>
@@ -121,11 +139,12 @@
<item>
<tags><![CDATA[<End> G]]></tags>
<strut/>
<spec><oa>count</oa>G</spec>
<description>
<p>
Go to the end of the document. When used with <oa>count</oa> like in <k>35G</k>, it
scrolls to 35% of the document.
Go to the end of the document. With <oa>count</oa>,
behaves exactly the same as <oa>gg</oa>.
</p>
</description>
</item>
@@ -134,7 +153,7 @@
<item>
<tags>N%</tags>
<spec><a>count</a>%</spec>
<description>
<description short="true">
<p>Scroll to <a>count</a> percent of the document.</p>
</description>
</item>
@@ -142,15 +161,12 @@
<item>
<tags><![CDATA[<Left> h]]></tags>
<strut/>
<spec><oa>count</oa>h</spec>
<description>
<p>
Scroll document to the left. If <oa>count</oa> is specified then move <oa>count</oa> times as
much to the left.
</p>
<p>
If the document cannot scroll more, a beep is emitted (unless <o>visualbell</o> is
set).
Scroll document to the left. If <oa>count</oa> is specified,
repeat <oa>count</oa> times.
</p>
</description>
</item>
@@ -158,15 +174,12 @@
<item>
<tags><![CDATA[<C-e> <Down> j]]></tags>
<strut/>
<spec><oa>count</oa>j</spec>
<description>
<p>
Scroll document down. If <oa>count</oa> is specified then move <oa>count</oa> times as much
down.
</p>
<p>
If the document cannot scroll more, a beep is emitted (unless <o>visualbell</o> is
set).
Scroll document to the down. If <oa>count</oa> is specified,
repeat <oa>count</oa> times.
</p>
</description>
</item>
@@ -174,14 +187,12 @@
<item>
<tags><![CDATA[<C-y> <Up> k]]></tags>
<strut/>
<spec><oa>count</oa>k</spec>
<description>
<p>
Scroll document up. If <oa>count</oa> is specified then move <oa>count</oa> times as much up.
</p>
<p>
If the document cannot scroll more, a beep is emitted (unless <o>visualbell</o> is
set).
Scroll document to the up. If <oa>count</oa> is specified,
repeat <oa>count</oa> times.
</p>
</description>
</item>
@@ -189,15 +200,12 @@
<item>
<tags><![CDATA[<Right> l]]></tags>
<strut/>
<spec><oa>count</oa>l</spec>
<description>
<p>
Scroll document to the right. If <oa>count</oa> is specified then move <oa>count</oa> times
as much to the right.
</p>
<p>
If the document cannot scroll more, a beep is emitted (unless <o>visualbell</o> is
set).
Scroll document to the right. If <oa>count</oa> is specified,
repeat <oa>count</oa> times.
</p>
</description>
</item>
@@ -205,12 +213,13 @@
<item>
<tags><![CDATA[<C-d>]]></tags>
<strut/>
<spec><oa>count</oa>&lt;C-d></spec>
<description>
<p>
Scroll window downwards in the buffer. The number of lines is set by the
<o>scroll</o> option which defaults to half a page. If <oa>count</oa> is given <o>scroll</o> is
first set to this value.
Scroll window downwards by the amount specified in the
<o>scroll</o> option. With <oa>count</oa>, scroll as if
<o>scroll</o> were set to <o>count</o>.
</p>
</description>
</item>
@@ -218,12 +227,13 @@
<item>
<tags><![CDATA[<C-u>]]></tags>
<strut/>
<spec><oa>count</oa>&lt;C-u></spec>
<description>
<p>
Scroll window upwards in the buffer. The number of lines is set by the
<o>scroll</o> option which defaults to half a page. If <oa>count</oa> is given <o>scroll</o> is
first set to this value.
Scroll window upwards by the amount specified in the
<o>scroll</o> option. With <oa>count</oa>, scroll as if
<o>scroll</o> were set to <o>count</o>.
</p>
</description>
</item>
@@ -231,18 +241,26 @@
<item>
<tags><![CDATA[<S-Space> <PageUp> <C-b>]]></tags>
<strut/>
<spec><oa>count</oa>&lt;C-b></spec>
<description>
<p>Scroll up a full page. Scroll window <oa>count</oa> pages Backwards (upwards) in the buffer.</p>
<p>
Scroll up a full page. With <oa>count</oa>, scroll up
<oa>count</oa> full pages.
</p>
</description>
</item>
<item>
<tags><![CDATA[<Space> <PageDown> <C-f>]]></tags>
<strut/>
<spec><oa>count</oa>&lt;C-f></spec>
<description>
<p>Scroll down a full page. Scroll window <oa>count</oa> pages Forwards (downwards) in the buffer.</p>
<p>
Scroll down a full page. With <oa>count</oa>, scroll
down <oa>count</oa> full pages.
</p>
</description>
</item>
@@ -252,7 +270,7 @@
<item>
<tags><![CDATA[<Tab>]]></tags>
<spec>&lt;Tab></spec>
<description>
<description short="true">
<p>Advance keyboard focus to the next element.</p>
</description>
</item>
@@ -261,7 +279,7 @@
<item>
<tags><![CDATA[<S-Tab>]]></tags>
<spec>&lt;S-Tab></spec>
<description>
<description short="true">
<p>Rewind keyboard focus to the previous element.</p>
</description>
</item>
@@ -269,12 +287,13 @@
<item>
<tags>gi</tags>
<strut/>
<spec><oa>count</oa>gi</spec>
<description>
<p>
Focus last used input field. If there is no last input field, it focuses the
first input field. When used with <oa>count</oa> it directly jumps to the <oa>count</oa>th input
field.
Focus last used input field. If there is no last input
field, focus the first input field. With <oa>count</oa>,
focus the <oa>count</oa>th input field.
</p>
</description>
</item>
@@ -282,11 +301,13 @@
<item>
<tags>]f</tags>
<strut/>
<spec><oa>count</oa>]f</spec>
<description>
<p>
Focus next frame. Transfer keyboard focus to the <oa>count</oa>th next frame in
order. The newly focused frame is briefly colored red. Does not wrap.
Transfer keyboard focus to the <oa>count</oa>th next
frame. The newly focused frame is briefly highlighted
with <h>FrameIndicator</h>.
</p>
</description>
</item>
@@ -294,11 +315,13 @@
<item>
<tags>[f</tags>
<strut/>
<spec><oa>count</oa>[f</spec>
<description>
<p>
Focus previous frame. Transfer keyboard focus to the <oa>count</oa>th previous frame
in order. The newly focused frame is briefly colored red. Does not wrap.
Transfer keyboard focus to the <oa>count</oa>th next
previous frame. The newly focused frame is briefly highlighted
with <h>FrameIndicator</h>.
</p>
</description>
</item>
@@ -306,13 +329,13 @@
<item>
<tags>]]</tags>
<strut/>
<spec><oa>count</oa>]]</spec>
<description>
<p>
Follow the link labeled <str>next</str> or <str>></str>
if it exists. Useful when browsing forums or
documentation. Change <o>nextpattern</o> to modify its
behavior. It follows relations between files too.
Follow the last link matching <o>nextpattern</o>. Used,
for instance, to move to the next page of search
results.
</p>
</description>
</item>
@@ -320,14 +343,13 @@
<item>
<tags>[[</tags>
<strut/>
<spec><oa>count</oa>[[</spec>
<description>
<p>
Follow the link labeled <str>prev</str>,
<str>previous</str> or <str>&lt;</str> if it exists. Useful
when browsing forums or documentation. Change
<o>previouspattern</o> to modify its behavior. It
follows relations between files too.
Follow the last link matching <o>previouspattern</o>. Used,
for instance, to move to the previous page of search
results.
</p>
</description>
</item>
@@ -335,31 +357,40 @@
<h2 tag="zooming zoom">Zooming</h2>
The zooming commands are dependent on two properties -- a zoom range and a
series of levels within that range.
<p>
The zooming commands are dependent on two properties—a zoom
range and a series of levels within that range.
</p>
The absolute value of the page zoom is limited to a value within the configured
zoom range (default: 30%--300%). The zoom levels are used by
<k>zi</k>/<k>zo</k>, and similar commands, to change the zoom value in steps. The
default zoom levels are 30%, 50%, 67%, 80%, 90%, 100%, 110%, 120%, 133%, 150%,
170%, 200%, 240%, 300%.
<p>
The absolute value of the page zoom is limited to a value within
the configured zoom range (default: 30%300%). By default,
commands which zoom in or out select between the zoom levels,
30%, 50%, 67%, 80%, 90%, 100%, 110%, 120%, 133%, 150%, 170%,
200%, 240%, 300%.
</p>
The available zoom range can be changed by setting the
<link topic="http://kb.mozillazine.org/Zoom.minPercent">'zoom.minPercent'</link> and
<link topic="http://kb.mozillazine.org/Zoom.maxPercent">'zoom.maxPercent'</link> &dactyl.host;
preferences. The zoom levels can be changed using the
<link topic="http://kb.mozillazine.org/Toolkit.zoomManager.zoomValues">'toolkit.ZoomManager.zoomLevels'</link>
preference.
<p>
The available zoom range can be changed by setting the
<pref>zoom.minPercent</pref>
and
<pref>zoom.maxPercent</pref>
&dactyl.host; preferences. The zoom levels can be changed using the
<pref>toolkit.zoomManager.zoomValues</pref>
preference.
</p>
<note>
'toolkit.ZoomManager.zoomLevels' is specified as a list of
values between 0 and 1, not as a percentage.
<pref>toolkit.zoomManager.zoomValues</pref> is specified as a
list of values between <em>0</em> and <em>1</em> rather than
percentages. For instance, <em>0.5</em> is equivalent to
<em>50%</em>.
</note>
<item>
<tags>+ zi</tags>
<spec><oa>count</oa>zi</spec>
<description>
<description short="true">
<p>Enlarge text zoom of current web page. Mnemonic: zoom in.</p>
</description>
</item>
@@ -367,6 +398,7 @@ preference.
<item>
<tags>zm</tags>
<strut/>
<spec><oa>count</oa>zm</spec>
<description>
<p>Enlarge text zoom of current web page by a larger amount. Mnemonic: zoom more.</p>
@@ -377,7 +409,7 @@ preference.
<item>
<tags>- zo</tags>
<spec><oa>count</oa>zo</spec>
<description>
<description short="true">
<p>Reduce text zoom of current web page. Mnemonic: zoom out.</p>
</description>
</item>
@@ -386,7 +418,7 @@ preference.
<item>
<tags>zr</tags>
<spec><oa>count</oa>zr</spec>
<description>
<description short="true">
<p>Reduce text zoom of current web page by a larger amount. Mnemonic: zoom reduce.</p>
</description>
</item>
@@ -394,11 +426,13 @@ preference.
<item>
<tags>zz</tags>
<strut/>
<spec><oa>count</oa>zz</spec>
<description>
<p>
Set text zoom value of current web page. Zoom value can be between 30% and 300%.
If it is omitted, text zoom is reset to 100%.
Set text zoom value of current web page. Zoom value can
be between 30% and 300%. If it is omitted, text zoom is
reset to 100%.
</p>
</description>
</item>
@@ -407,7 +441,7 @@ preference.
<item>
<tags>ZI zI</tags>
<spec><oa>count</oa>ZI</spec>
<description>
<description short="true">
<p>Enlarge full zoom of current web page. Mnemonic: zoom in.</p>
</description>
</item>
@@ -415,6 +449,7 @@ preference.
<item>
<tags>ZM zM</tags>
<strut/>
<spec><oa>count</oa>ZM</spec>
<description>
<p>Enlarge full zoom of current web page by a larger amount. Mnemonic: zoom more.</p>
@@ -425,7 +460,7 @@ preference.
<item>
<tags>ZO zO</tags>
<spec><oa>count</oa>ZO</spec>
<description>
<description short="true">
<p>Reduce full zoom of current web page. Mnemonic: zoom out.</p>
</description>
</item>
@@ -434,7 +469,7 @@ preference.
<item>
<tags>ZR zR</tags>
<spec><oa>count</oa>ZR</spec>
<description>
<description short="true">
<p>Reduce full zoom of current web page by a larger amount. Mnemonic: zoom reduce.</p>
</description>
</item>
@@ -442,6 +477,7 @@ preference.
<item>
<tags>ZZ zZ</tags>
<strut/>
<spec><oa>count</oa>ZZ</spec>
<description>
<p>
@@ -455,7 +491,8 @@ preference.
<item>
<tags>:zo :zoom</tags>
<spec>:zo<oa>om</oa><oa>!</oa> <oa>value</oa></spec>
<spec>:zo<oa>om</oa><oa>!</oa> +<a>value</a> | -<a>value</a></spec>
<spec>:zo<oa>om</oa><oa>!</oa> +<a>value</a></spec>
<spec>:zo<oa>om</oa><oa>!</oa> -<a>value</a></spec>
<description>
<p>
Set zoom value of current web page. <oa>value</oa> can be an absolute value
@@ -476,7 +513,7 @@ preference.
<item>
<tags>:frameo :frameonly</tags>
<spec>:frameo<oa>nly</oa></spec>
<description>
<description short="true">
<p>Show only the current frame's page.</p>
</description>
</item>
@@ -484,18 +521,17 @@ preference.
<h2 tag="copying yanking">Copying text</h2>
When running in X11, the text of the following commands is not only
copied to the clipboard but is also put into the X11 selection, which
can be pasted with the middle mouse button:
<p>
When running in X11, the text of the following commands is not only
copied to the clipboard but is also put into the X11 selection, which
can be pasted with the middle mouse button:
</p>
<item>
<tags>y</tags>
<spec>y</spec>
<description>
<p>
Yank current location to the clipboard. When running in X11 the location is
also put into the selection, which can be pasted with the middle mouse button.
</p>
<description short="true">
<p>Yank current location to the clipboard.</p>
</description>
</item>
@@ -503,7 +539,7 @@ can be pasted with the middle mouse button:
<item>
<tags>Y</tags>
<spec>Y</spec>
<description>
<description short="true">
<p>Copy currently selected text to the system clipboard.</p>
</description>
</item>
@@ -511,16 +547,18 @@ can be pasted with the middle mouse button:
<h2 tag="alternate-stylesheet">Alternate style sheets</h2>
Page authors may specify alternate style sheets for an HTML document. Users can
then switch between these various style sheets, selecting their favorite.
Page authors may specify alternate style sheets for an HTML
document. Users can then switch between these various style sheets,
selecting their favorite.
<item>
<tags>:pagest :pagestyle</tags>
<spec>:pagest<oa>yle</oa> <oa>stylesheet</oa></spec>
<description>
<p>
Select the author style sheet to apply. If <oa>stylesheet</oa> is not specified
the page's default style sheet is used.
Select the author style sheet to apply. If
<oa>stylesheet</oa> is not specified the page's default
style sheet is used.
</p>
<p>All author styling can be removed by setting the <o>usermode</o> option.</p>

View File

@@ -6,33 +6,52 @@
<document
name="cmdline"
title="&dactyl.appname; Command-line"
xmlns="http://vimperator.org/namespaces/liberator"
xmlns:html="http://www.w3.org/1999/xhtml">
<h1 tag="Command-line-mode Command-line mode-cmdline">Command-line mode</h1>
xmlns="&xmlns.dactyl;"
xmlns:html="&xmlns.html;">
<h1 tag="command-line-mode command-line mode-cmdline">Command-line mode</h1>
<toc start="2"/>
Command-line mode is used to enter Ex commands (<k>:</k>) and text search patterns
(<k>/</k> and <k>?</k>).
<p>
&dactyl.appname;'s command-line mode is perhaps its most
powerful interface. In this mode, the command input bar at the
bottom of the window is given the keyboard focus for any of a
variety of required inputs. In addition to access to almost
every aspect of &dactyl.appname; and &dactyl.host;, the command
line provides power and comprehensive completion for all of its
commands, along with concise descriptions for each command and
all of its arguments. Couple this with persistent, searchable
command history, and you have a very efficient interface for
easily performing simple and complex tasks.
</p>
<p>
Included among the several command-line modes are ex command
mode (the standard mode for entering commands), find mode (for
searching the current page), prompt mode (for selecting files,
confirming actions), and hint mode (for selecting links and
other items on a page).
</p>
<item>
<tags>:</tags>
<strut/>
<spec>:</spec>
<description>
<p>
Start Command-line mode. In Command-line mode, you can perform extended
commands, which may require arguments.
Opens the command-line in ex mode. This is the mode used
for entering the various commands listed in
<t>ex-cmd-index</t>.
</p>
</description>
</item>
<h2 tag="cmdline-editing">Command-line editing</h2>
<item>
<tags><![CDATA[c_<C-c>]]></tags>
<spec>&lt;C-c></spec>
<description>
<description short="true">
<p>Quit Command-line mode without executing.</p>
</description>
</item>
@@ -41,7 +60,7 @@ Command-line mode is used to enter Ex commands (<k>:</k>) and text search patter
<item>
<tags><![CDATA[c_<C-]>]]></tags>
<spec>&lt;C-]></spec>
<description>
<description short="true">
<p>Expand a command-line abbreviation.</p>
</description>
</item>
@@ -49,11 +68,12 @@ Command-line mode is used to enter Ex commands (<k>:</k>) and text search patter
<item>
<tags><![CDATA[c_<Up>]]></tags>
<strut/>
<spec>&lt;Up></spec>
<description>
<p>
Recall the previous command line from the history list which matches the
current command line.
Recall from command history the previous command-line
which begins with the current input value.
</p>
</description>
</item>
@@ -61,11 +81,12 @@ Command-line mode is used to enter Ex commands (<k>:</k>) and text search patter
<item>
<tags><![CDATA[c_<Down>]]></tags>
<strut/>
<spec>&lt;Down></spec>
<description>
<p>
Recall the next command line from the history list which matches the current
command line.
Recall from command history the next command-line
which begins with the current input value.
</p>
</description>
</item>
@@ -74,6 +95,7 @@ Command-line mode is used to enter Ex commands (<k>:</k>) and text search patter
<item>
<tags><![CDATA[c_<S-Up> c_<PageUp>]]></tags>
<spec>&lt;S-Up></spec>
<strut/>
<spec>&lt;PageUp></spec>
<description>
<p>Recall the previous command line from the history list.</p>
@@ -95,12 +117,14 @@ Command-line mode is used to enter Ex commands (<k>:</k>) and text search patter
<item>
<tags><![CDATA[c_<Tab>]]></tags>
<strut/>
<spec>&lt;Tab></spec>
<description>
<p>
Complete the word in front of the cursor according to the behavior specified in
<o>wildmode</o>. If <o>wildmode</o> contains "list" and there are multiple matches then
the completion menu window is opened.
Complete the word in front of the cursor according to the behavior
specified in <o>wildmode</o>. If <o>wildmode</o> contains
<str>list</str> and there are multiple matches then the completion
menu window is opened.
</p>
</description>
</item>
@@ -108,9 +132,10 @@ Command-line mode is used to enter Ex commands (<k>:</k>) and text search patter
<item>
<tags><![CDATA[c_<S-Tab>]]></tags>
<strut/>
<spec>&lt;S-Tab></spec>
<description>
<p>Complete the previous full match when <o>wildmode</o> contains "full".</p>
<p>Complete the previous full match when <o>wildmode</o> contains <str>full</str>.</p>
</description>
</item>

View File

@@ -8,62 +8,39 @@
<document
name="developer"
title="&dactyl.appname; Developer information"
xmlns="http://vimperator.org/namespaces/liberator"
xmlns:html="http://www.w3.org/1999/xhtml">
xmlns="&xmlns.dactyl;"
xmlns:html="&xmlns.html;">
<h1 tag="developer-information">Developer information</h1>
<toc start="2"/>
<h2 tag="writing-docs documentation">Writing documentation</h2>
<p>
For every new feature, writing documentation is <em>mandatory</em> for the
patch to be accepted. The docs are written in an XML dialect similar to
XHTML, with a few tags specific to our documentation. For example:
In order for any user-visible change to be accepted into the mainline, it
must be accompanied by accurate documentation. The docs are written in an
XML dialect similar to XHTML, with a few tags specific to our
documentation. For example:
</p>
<code><![CDATA[
<item>
<tags><![CDATA[<F1> :help :h help]]]]><![CDATA[></tags>
<spec>:h<oa>elp</oa> <a>subject</a></spec>
<spec><![CDATA[<F1>]]]]><![CDATA[></spec>
<xml-block><item>
<tags>&lt;F1> :help :h help</tags>
<spec>:h<oa>elp</oa> <oa>subject</oa></spec>
<spec>&lt;F1></spec>
<description>
<p>
Open help window.
The default section is shown unless <a>subject</a> is specified.
If you need help for a specific topic, try <ex>:help overview</ex>.
Open the help page. The default page, as specified by <o>helpfile</o> is shown
unless <oa>subject</oa> is specified. If you need help for a specific topic, try
<ex>:help overview</ex>.
</p>
</description>
</item>
]]></code>
</item></xml-block>
<p>
creates a new help section for the command <ex>:help</ex> and for
the related key binding, <k name="F1"/>. It also creates help tags
for the command, its shortcuts, the key binding, and the general
topic, 'help'. These tags enable linking to this section when from
topic, help. These tags enable linking to this section when from
other mentions of the topic and from the <ex>:help</ex> command.
The above code displays as:
</p>
<html:div style="margin: 2em;">
<item>
<tags><![CDATA[<F1> :help :h help]]></tags>
<spec>:h<oa>elp</oa> <a>subject</a></spec>
<spec><![CDATA[<F1>]]></spec>
<description>
<p>
Open help window.
The default section is shown unless <a>subject</a> is specified.
If you need help for a specific topic, try <ex>:help overview</ex>.
</p>
</description>
</item>
</html:div>
<p>
If you don't know in which file/section you should put some
documentation, ask on the mailing list or on
<link topic="irc://irc.freenode.net/pentadactyl">#pentadactyl</link>.
</p>
<h3 tag="help-tags help-xml">Help tags</h3>
@@ -80,8 +57,9 @@
<dt>h2</dt> <dd>A second-level heading (HelpSubhead)</dd>
<dt>h3</dt> <dd>A third-level heading (HelpSubsubhead)</dd>
<dt>code</dt> <dd>A pre-formatted code block. (HelpCode)</dd>
<dt>note</dt> <dd><note style="margin: 0;">A note paragraph. (HelpNote)</note></dd>
<dt>warning</dt> <dd><warning style="margin: 0;">A warning paragraph. (HelpWarning)</warning></dd>
<dt>note</dt> <dd><note>A note paragraph. (HelpNote)</note></dd>
<dt>strut</dt> <dd>A horizontal strut which prevents any previous floating elements from appearing below it.</dd>
<dt>warning</dt> <dd><warning>A warning paragraph. (HelpWarning)</warning></dd>
</dl>
<dl>
<dt>Generic</dt><dd/>
@@ -96,19 +74,21 @@
<dt>item</dt> <dd>A help entry (HelpItem)</dd>
<dt>&tab;tags</dt> <dd>See the 'Tagging' section (HelpTags)</dd>
<dt>&tab;spec</dt> <dd>The specification for this item, such as an example command-line. (HelpSpec)</dd>
<dt>&tab;strut</dt> <dd>A horizontal formatting strut which ensures that all previous &lt;tags> and &lt;spec> elements appear above the ones that follow.</dd>
<dt>&tab;type</dt> <dd>For options, the type of the option.
<em>number</em>, <em>boolean</em>, <em>string</em>, <em>string</em>, <em>stringlist</em>, or <em>charlist</em>.
(HelpType)
</dd>
<dt>&tab;default</dt> <dd>For options, the default value. (HelpDefault)</dd>
<dt>&tab;description</dt> <dd>The description of this help item. (HelpDescription)</dd>
<dt>&tab;&tab;@short</dt> <dd>Indicates that this is a short description which should appear between the specs and tags.</dd>
<dt>a</dt> <dd>Required <a>argument</a>. (HelpArg)</dd>
<dt>oa</dt> <dd>Optional <oa>argument</oa>. (HelpOptionalArg)</dd>
</dl>
<dl>
<dt>Tagging</dt><dd/>
<dt>tags</dt> <dd>Space-separated list of strings to tag. Displayed right-aligned, and used for cross-linking. (HelpTags)</dd>
<dt>@tag</dt> <dd>The tag attribute. Applied to any element, generates a &lt;tags> element with its value for its contents. (HelpTag)</dd>
<dt>@tag</dt> <dd>The tag attribute. Applied to any element, generates a &lt;tags> element for the given tags. (HelpTag)</dd>
</dl>
<dl>
<dt>Linking</dt><dd/>
@@ -129,7 +109,7 @@
<dt>&tab;@summary</dt> <dd>A short description of the plugin, shown in its section head.</dd>
<dt>project</dt> <dd>The project for which this plugin was intended.</dd>
<dt>&tab;@name</dt> <dd>The name of the project (i.e., <str>&dactyl.name;</str>)</dd>
<dt>&tab;@name</dt> <dd>The name of the project (i.e., <str>&dactyl.appname;</str>)</dd>
<dt>&tab;@minVersion</dt> <dd>The minimum version of the project for which this plugin is intended to work.</dd>
<dt>&tab;@maxVersion</dt> <dd>The maximum version of the project for which this plugin is intended to work.</dd>
@@ -148,52 +128,67 @@
written a new command, mapping or option.
</p>
<example><ex>:echo util.generateHelp(commands.get(<str>addons</str>), <![CDATA[<p>Extra text</p>]]>)</ex></example>
<example><ex>:echo dactyl.generateHelp(commands.get(<str>addons</str>), <![CDATA[<p>Extra text</p>]]>)</ex></example>
<h2 tag="writing-plugins">Writing plugins</h2>
<p>
Writing &dactyl.appname; plugins is incredibly simple.
Plugins are simply JavaScript files which run with full chrome
privileges and have full access to the &dactyl.appname; and
&dactyl.host; APIs. Each plugin has its own global object,
which means that the variables and functions that you create
won't pollute the global <em>window</em> or private
<em>dactyl</em> namespaces. This means that there's no need
to wrap your plugin in a closure, as is often the practice in
JavaScript development. Furthermore, any plugin which is
installed in your <o>runtimepath</o><em>/plugin</em> directory
will find its context stored in
<em>plugins.&lt;pluginName></em>, which is often invaluable
during development and testing.
Writing &dactyl.appname; plugins is incredibly simple. Plugins are
simply JavaScript files which run with full chrome privileges and
have full access to the &dactyl.appname; and &dactyl.host; APIs.
Each plugin has its own global object, which means that the
variables and functions that you create won't pollute the global
<em>window</em> or private <em>dactyl</em> namespaces. This means
that there's no need to wrap your plugin in a closure, as is often
the practice in JavaScript development. Furthermore, any plugin
which is installed in your <o>runtimepath</o><em>/plugins</em>
directory will find its context stored in
<em>plugins.&lt;pluginName></em>, which is often invaluable during
development and testing.
</p>
<p>
Plugins are always initialized after the main window is loaded, so
there is no need to write <str>load</str> event handlers. Beyond
that, what you may do with your plugins is practically limitless.
Plugins have full access to all of the chrome resources that
ordinary &dactyl.host; do, along with the entire power of the
&dactyl.appname; API. If you need a starting point, have a look at some
<link topic="&dactyl.plugins;">existing plugins</link> or
<link topic="http://addon.mozilla.org/">extensions</link>,
especially the
<link topic="&dactyl.code;source/browse/">&dactyl.appname;</link>
source.
</p>
<h3 tag="plugin-documentation">Plugin documentation</h3>
<p>
Plugins may provide inline documentation, which will appear on
the <ex>:help plugins</ex> page. The markup for help entries
is the same as the above, with a few more plugin specific
entries. Here is an example from the popular
<em>flashblock</em> extension:
Plugins should provide inline documentation, which will appear on the
<ex>:help plugins</ex> page. The markup for help entries is the same
as the above, along with a few extra plugin-specific entries. Here is an
example from the popular <em>flashblock</em> extension:
</p>
<code><![CDATA[
var INFO =
<plugin name="flashblock" version="1.0"
href="http://ticket.vimperator.org/9"
summary="Flash Blocker"
xmlns="http://vimperator.org/namespaces/liberator">
<xml-block><escape><hl key="HelpXMLString">use strict</hl>;
XML.ignoreWhitespace = <hl key="Boolean">false</hl>;
XML.prettyPrinting = <hl key="Boolean">false</hl>;
<hl key="HelpXML">var</hl> INFO = <!-- Cursed manual XML highlighting! -->
<hl key="HelpXMLTagStart">&lt;plugin
<hl key="HelpXMLAttribute">name</hl><hl key="HelpXMLString">flashblock</hl>
<hl key="HelpXMLAttribute">version</hl><hl key="HelpXMLString">1.0</hl>
<hl key="HelpXMLAttribute">href</hl><hl key="HelpXMLString">http://ticket.vimperator.org/9</hl>
<hl key="HelpXMLAttribute">summary</hl><hl key="HelpXMLString">Flash Blocker</hl>
<hl key="HelpXMLAttribute">xmlns</hl>{NS}></hl></escape>
<author email="maglione.k@gmail.com">Kris Maglione</author>
<license href="http://opensource.org/licenses/mit-license.php">MIT</license>
<project name="Pentadactyl" minVersion="2.0"/>
<project name="Pentadactyl" minVersion="1.0"/>
<p>
This plugin provides the same features as the ever popular FlashBlock
Firefox addon. Flash animations are substituted with place holders which
play the original animation when clicked. Additionally, this plugin provides
options to control which sites can play animations without restrictions, and
triggers to toggle the playing of animation on the current page.
commandline from the data in a given form.
</p>
<item>
<tags>'flashblock' 'fb'</tags>
@@ -206,25 +201,30 @@ var INFO =
holders are substituted for flash animations on untrusted sites.
</p>
</description>
</item>]]>
<em></em><![CDATA[
</plugin>;
]]>
</code>
</item>
<escape><oa>...</oa>
<hl key="HelpXMLTagEnd">&lt;/plugin></hl></escape>;</xml-block>
<p>
The inline XML is made possible by
<link topic="https://developer.mozilla.org/en/E4X">E4X</link>.
It's important that the documentation be assigned to the
It is important that the documentation be assigned to the
<em>INFO</em> variable, or &dactyl.appname; will not be able
to find it. The documentation that you provide behaves exactly
as other &dactyl.appname; documentation, which means that
the tags you provide are available via <ex>:help</ex> with
full tag completion and cross-referencing support. Although
documentation is not required, we strongly recommend that all
plugin authors provide at least basic documentation of the
functionality of their plugins and of each of the options,
commands, and especially mappings that they provide.
to find it. The XML property changes are not compulsory, but
they do prevent certain formatting problems that may occur
otherwise. Beginning your file with <str>use strict</str>, while
not required, helps to prevent a lot of common errors.
</p>
<p>
The documentation that you provide behaves exactly as other
&dactyl.appname; documentation, which means that the tags you
provide are available via <ex>:help</ex> with full tag
completion and cross-referencing support. Although documentation
is not required, we strongly recommend that all plugin authors
provide at least basic documentation of the functionality of
their plugins and of each of the options, commands, and
especially mappings that they provide.
</p>
</document>

View File

@@ -6,23 +6,40 @@
<document
name="eval"
title="&dactyl.appname; Expression Evaluation"
xmlns="http://vimperator.org/namespaces/liberator"
xmlns:html="http://www.w3.org/1999/xhtml">
<h1 tag="expression expr eval">Expression evaluation</h1>
xmlns="&xmlns.dactyl;"
xmlns:html="&xmlns.html;">
<h1 tag="expression expr eval javascript">Expression evaluation</h1>
<toc start="2"/>
<!-- INTRO TO BE WRITTEN… -->
<p>
Much of the power of &dactyl.appname; lies in its scriptable expression
evaluation. &dactyl.appname; understands two kinds of expressions: ex
commands, and JavaScript. Ex commands are simple, easy to type, and
readily accessible from the <t>command-line</t>. They form a core part of
the user interface. JavaScript, on the other hand, is much less
straightforward, but allows for any number of complex actions to be
executed, with full access to all of the internals of &dactyl.appname; and
&dactyl.host;. Both expression evaluation methods support sophisticated
expression completion, including option lists and descriptions thereof.
</p>
<item>
<tags>:ec :echo</tags>
<spec>:ec<oa>ho</oa> <a>expr</a></spec>
<description>
<p>
Echo the expression. Useful for showing informational messages. Multiple lines
can be separated by \n. <a>expr</a> can either be a quoted string, or any expression
which can be fed to eval() like 4+5. You can also view the source code of
objects and functions if the return value of <a>expr</a> is an object or function.
Echo a JavaScript expression. <a>expr</a> may be a simple quoted
string, in which case it is shown in the statusline, or any
arbitrary JavaScript expression. If the expression results in
anything other than a string, it is pretty-printed in a multiline
frame just above the command-line. The output depends on the type
of object. Functions display their source, DOM nodes display the
pretty-printed XML of the top-level node, XML literals are
rendered as page content, and all other objects display their
string representation and all of their enumerable properties.
</p>
<p>See also <ex>:javascript</ex></p>
</description>
</item>
@@ -56,12 +73,15 @@
<spec>:exe<oa>cute</oa> <a>expr</a></spec>
<description>
<p>
Execute the string that results from the evaluation of <a>expr</a> as an Ex command.
Example: <ex>:execute "source " + io.getRCFile().path</ex> sources the appropriate
RC file.
Execute the ex command string that results from the evaluation of
the JavaScript expression <a>expr</a>. For example,
</p>
<code><ex>:execute "open " + content.location.host</ex></code>
<p>
opens the homepage of the currently opened site.
</p>
<p>Note: Unlike Vim this currently only supports a single argument.</p>
<note>Unlike Vim this only supports a single argument.</note>
</description>
</item>
@@ -69,30 +89,51 @@
<item>
<tags>:js :javas :javascript</tags>
<spec>:javas<oa>cript</oa> <a>cmd</a></spec>
<spec>:javascript &lt;&lt;<a>endpattern</a>\n<a>empty</a><a>script</a>\n<a>empty</a><a>endpattern</a></spec>
<spec>:javascript &lt;&lt;<a>endpattern</a>\n<a>cmd</a>\n<a>endpattern</a></spec>
<spec>:javascript<oa>!</oa></spec>
<description>
<p>
Run any JavaScript command through eval(). Acts as a JavaScript interpreter by
passing the argument to <tt>eval()</tt>.
<ex>:javascript alert(<str>Hello world</str>)</ex> shows
a dialog box with the text "Hello world".
<ex>:javascript &lt;&lt;EOF</ex> reads all the lines
until a line starting with "EOF"
is found, and interpret them with the JavaScript <em>eval()</em> function.
Evaluates the given <a>cmd</a> as JavaScript. Behaves exactly as
<ex>:echo</ex>, except that the result is not printed. Any
exception raised by the evaluation will, however, be displayed as
an error message and appended to <ex>:messages</ex>.
</p>
<example>
<ex>:javascript alert(<str>Hello world</str>)</ex> will open a
dialog window with the message <str>Hello world</str>.
</example>
<p>
Moreover, multiline scripts can be executed with shell-like here
document syntax. For example, the following,
</p>
<code><ex>:jsavascript</ex> &lt;&lt;<em>EOF</em>
<kwd>for each</kwd> (<kwd>var</kwd> tab <kwd>in</kwd> tabs.visibleTabs)
tab.linkedBrowser.reload();
<em>EOF</em></code>
<p>
will reload all visible tabs.
</p>
<p>
Moreover, sophisticated, context-sensitive <k name="Tab"/>
completion is available for JavaScript code, which extends to
property names, object keys, and programmable completion for
string function arguments. The completion code is designed to be
both as safe and as powerful as possible. Expressions in a given
command-line session will only be evaluated once, and, with
autocompletion turned on, any completion which requires a function
to be executed requires an explicit <k name="Tab"/> press to
commence.
</p>
<p>
The special version <ex>:javascript!</ex> opens the JavaScript console of
&dactyl.host;.
</p>
<p>
<k name="Tab"/> completion is available for <ex>:javascript <a>cmd</a><k name="Tab"/></ex> (but not
yet for the <ex>:js &lt;&lt;EOF</ex> multiline widget). Be aware that &dactyl.appname; needs
to run <a>cmd</a> through eval() to get the completions, which could have unwanted
side effects.
</p>
</description>
</item>
@@ -104,9 +145,10 @@
<spec>:let</spec>
<description>
<p>
Sets or lists a variable. Sets the variable {var-name} to the value of the
Sets or lists a variable. Sets the variable <a>var-name</a> to the value of the
expression <a>expr1</a>. If no expression is given, the value of the variable is
displayed. Without arguments, displays a list of all variables.
This functionality has few useful applications and so is deprecated.
</p>
</description>
</item>
@@ -117,8 +159,8 @@
<spec>:unl<oa>et</oa><oa>!</oa> <a>name</a></spec>
<description>
<p>
Deletes the variable <a>name</a>. Several variable names can be given. When used
with <oa>!</oa> no error message is output for non-existing variables.
Deletes the named variables. When <oa>!</oa> is given, no error
message is output for non-existing variables.
</p>
</description>
</item>

View File

@@ -6,29 +6,33 @@
<document
name="gui"
title="&dactyl.appname; GUI"
xmlns="http://vimperator.org/namespaces/liberator"
xmlns:html="http://www.w3.org/1999/xhtml">
<h1 tag="gui">&dactyl.appname;'s GUI</h1>
xmlns="&xmlns.dactyl;"
xmlns:dactyl="&xmlns.dactyl;"
xmlns:html="&xmlns.html;">
<h1 tag="gui">&dactyl.host;'s GUI</h1>
<toc start="2"/>
<p>
Although &dactyl.appname; offers the most frequently used &dactyl.host; functionality via
Ex and Normal mode commands there may be times when directly accessing the GUI
is required. There are commands for accessing the menu system, standard dialogs
and the sidebar.
Although &dactyl.appname; offers access to the most frequently used
&dactyl.host; functionality via Ex and Normal mode commands, there may be
times when direct access to the &dactyl.host; GUI is required. For such
eventualities, there there are commands to access menu items and to launch
standard &dactyl.host; dialogs.
</p>
<h2 tag="menu">Menus</h2>
<item>
<tags>:emenu</tags>
<strut/>
<spec>:emenu <a>menu</a></spec>
<description>
<p>
Execute <a>menu</a> from the command line. This command provides command-line access
to all menu items available from the main &dactyl.host; menubar. <a>menu</a> is a
hierarchical path to the menu item with each submenu separated by a period.
E.g. <ex>:emenu File.Open File…</ex>
E.g. <ex>:emenu File.Open File…</ex> launches the standard
&dactyl.host; Open File dialog.
</p>
</description>
</item>
@@ -38,13 +42,14 @@
<item>
<tags>:addo :addons</tags>
<strut/>
<spec>:addo<oa>ns</oa></spec>
<description>
<p>
Show available &dactyl.host; Extensions and Themes.
You can add/remove/disable browser extensions from this dialog.
Be aware that not all &dactyl.host; extensions work, because &dactyl.appname; overrides
some key bindings and changes &dactyl.host;'s GUI.
Opens the &dactyl.host; addon manager, where extensions and themes
may be installed, removed, disabled, and configured. See also
<ex>:extenstions</ex>, <ex>:extinstall</ex>, <ex>:extoptions</ex>,
<ex>:extenable</ex>, <ex>:extdisable</ex>, and <ex>:extdelete</ex>.
</p>
</description>
</item>
@@ -54,9 +59,8 @@
<tags>:dia :dialog</tags>
<spec>:dia<oa>log</oa> <oa>&dactyl.host;-dialog</oa></spec>
<description>
<p>Open a &dactyl.host; dialog.</p>
<p>Open a &dactyl.host; dialog. Available dialogs include,</p>
<p>Available dialogs:</p>
<dl tag="dialog-list">
<dt>about</dt> <dd>About Mozilla &dactyl.host;;</dd>
<dt>addbookmark</dt> <dd>Add bookmark for the current page</dd>
@@ -90,11 +94,13 @@
<item>
<tags>:dl :downl :downloads</tags>
<strut/>
<spec>:downl<oa>oads</oa></spec>
<description>
<p>
Show progress of current downloads. Open the original &dactyl.host; download dialog
in a new tab. Here, downloads can be paused, canceled and resumed.
Show progress of current downloads. Open the standard &dactyl.host;
download dialog in a new tab. Here, downloads can be paused,
resumed, and canceled.
</p>
</description>
</item>
@@ -104,9 +110,12 @@
<item>
<tags>:exta :extadd</tags>
<spec>:exta<oa>dd</oa> <a>file</a></spec>
<spec>:exta<oa>dd</oa> <a>file|url</a></spec>
<description>
<p>Install an extension. <a>file</a> is an extension XPInstall file (*.xpi).</p>
<p>
Install an extension. <a>file|uri</a> must be the local file
path or URL of an XPInstall (.xpi) file.
</p>
</description>
</item>
@@ -162,8 +171,8 @@
<item>
<tags>:exto :extoptions</tags>
<tags>:extp :extpreferences</tags>
<spec>:exto<oa>ptions</oa><oa>!</oa> <a>extension</a></spec>
<tags>:extp :extpreferences</tags>
<spec>:extp<oa>references</oa><oa>!</oa> <a>extension</a></spec>
<description>
<p>
@@ -179,7 +188,7 @@
<item>
<tags>:sbcl :sbclose</tags>
<spec>:sbcl<oa>ose</oa></spec>
<description>
<description short="true">
<p>Close the sidebar window.</p>
</description>
</item>
@@ -212,36 +221,43 @@
<ul>
<li>
URL: The URL of the currently loaded page. While the page is loading
<em>URL</em>: The URL of the currently loaded page. While the page is loading
progress messages are also output to this field.
</li>
<li>
History and bookmark status ([+-❤]): The position of the current page in
the tab's session history; + and - indicate that it's possible to move
<em>History and bookmark status</em> (<em>[+-❤]</em>): The position of the current page in
the tab's session history; + and - indicate that it is possible to move
backwards and forwards through the history respectively. ❤ indicates that
the current page is bookmarked.
</li>
<li>
Tab index ([N/M]): N is the index of the currently selected tab and M is
<em>Tab index</em> (<em>[N/M]</em>): N is the index of the currently selected tab and M is
the total number of tabs in the current window.
</li>
<li>
Vertical scroll: The vertical scroll percentage of the current buffer.
This is a percentage or Top for 0% and Bot for 100%.
<em>Vertical scroll</em>: The vertical scroll percentage of the current buffer,
or Top or Bot for the top and bottom of the buffer respectively.
</li>
<li>
Security: The security information button is displayed when appropriate
<em>Security</em>: The security information button is displayed when appropriate
as per &dactyl.host;. The color of the status bar also changes to reflect the
current security status of the loaded page.
<ul>
<li>black the site's identity is unverified and the connection is unencrypted</li>
<li>blue the site's domain has been verified and the connection is encrypted</li>
<li>green the site's domain and owner have been fully verified via an</li>
</ul>
Extended Validation certificate and the connection is encrypted
<dl>
<dt style="border:1px solid white" dactyl:highlight="StatusLine">black</dt>
<dd>The site's identity is unverified and the connection is unencrypted</dd>
<dt style="border:1px solid white" dactyl:highlight="StatusLineBroken">red</dt>
<dd>The connection is encrypted, but the site's identity has not been verified or it contains unencrypted content</dd>
<dt style="border:1px solid white" dactyl:highlight="StatusLineSecure">blue</dt>
<dd>The site's domain has been verified and the connection is encrypted</dd>
<dt style="border:1px solid white" dactyl:highlight="StatusLineExtended">green</dt>
<dd>The site's domain and owner have been fully verified via an Extended Validation certificate and the connection is encrypted</dd>
</dl>
</li>
<li>
Extensions: Any extension buttons that would normally be installed to the
<em>Extensions</em>: Any extension buttons that would normally be installed to the
&dactyl.host; status bar are appended to the end of the status line.
</li>
</ul>

View File

@@ -6,102 +6,127 @@
<document
name="hints"
title="&dactyl.appname; Hints"
xmlns="http://vimperator.org/namespaces/liberator"
xmlns:html="http://www.w3.org/1999/xhtml">
xmlns="&xmlns.dactyl;"
xmlns:html="&xmlns.html;">
<h1 tag="quick-hints hints">Hints</h1>
<toc start="2"/>
Hints are the way in which &dactyl.appname; allows you to follow links on a page. By
providing each link with a suitable hint, you can access all links with a
similar amount of minimal effort. This contrasts strongly with the traditional
approaches offered by the mouse, in which you must first find and then aim for
the link you would like, and by using repeated tabbing which quickly becomes
tedious unless you always visit the first link on a page.
<p>
Hints are an easy way to interact with web pages without using
your mouse. In hint mode, &dactyl.appname; highlights and
numbers all clickable elements. The elements can be selected
either by typing their numbers, or typing parts of their text to
narrow them down. While the default action is to click the
selected link, other actions are available, including saving the
resulting link, copying its URL, or saving an image. For each
of these actions, only the set of applicable elements is
highlighted.
</p>
<item>
<tags>f</tags>
<tags>quick-hints</tags>
<tags>f QuickHint</tags>
<strut/>
<spec>f<a>hint</a></spec>
<description>
<p>
Start QuickHint mode. In QuickHint mode, every hintable item
(according to the <o>hinttags</o> XPath query) is assigned a
unique number. You can either type this number or type part of the
link text as specified by the <o>hintmatching</o> option, and it
is followed as soon as it can be uniquely identified. Often it can
be useful to combine these techniques to narrow down results with
some letters, and then typing a single digit to make the match
unique. Pressing <k name="Leader"/> (defaults to
<ex>:let mapleader = "\"</ex>) toggles "escape-mode", where numbers are
treated as normal text. <k name="Esc"/> stops this mode at any
time.
Start <t>QuickHint</t> mode. In this mode, every clickable
element (as definied by the <o>hinttags</o> option) is
highlighted and numbered. Elements can be selected
either by typing their number, or by typing part of
their text to narrow down the result. When an element
has been selected, it is automatically clicked and hint
mode ends. Additionally, the following keys have
special meanings in QuickHint mode:
</p>
<dl>
<dt><k name="Return"/></dt>
<dd>Selects the first highlighted element, or that
fucused by <k name="Tab"/>.</dd>
<dt><k name="Tab"/></dt>
<dd>Moves the focus to the next hintable element</dd>
<dt><k name="Leader"/></dt>
<dd>Temporarilly treats all numbers as ordinary text</dd>
<dt><k name="Esc"/></dt>
<dd>Exitts hint mode without selecting an element</dd>
</dl>
</description>
</item>
<item>
<tags>F</tags>
<strut/>
<spec>F<a>hint</a></spec>
<description>
<p>
Start QuickHint mode, but open link in a new tab. Like normal QuickHint
mode (activated with <k>f</k>) but opens the link in a new tab. The new
tab will be loaded in background according to the
<str>browser.tabs.loadInBackground</str> &dactyl.host; preference.
Start <t>QuickHint</t> mode, but the selected elements
are clicked with the <k name="Shift"/> key pressed,
which has the normal effect of opening it in a new tab
(depending on the value of the
<pref>browser.tabs.loadInBackground</pref> preference).
</p>
</description>
</item>
<tags>extended-hints</tags>
<item>
<tags>;</tags>
<spec>;<a>mode</a><a>empty</a><a>hint</a></spec>
<tags>extended-hints</tags>
<tags>; ExtendedHint</tags>
<strut/>
<spec>;<a>mode</a><a>hint</a></spec>
<description>
<p>
Start an extended hint mode. ExtendedHint mode is useful for
performing operations on hinted elements other than the default
left mouse click. For example, you can yank link locations, open
them in a new window or save images. If you want to yank the
location of hint <em>24</em>, press <k>;y</k> to start this hint
mode. Then press <em>24</em> to copy the hint location.
Start an extended hint mode. <t>ExtendedHint</t> mode is
exactly like <t>QuickHint</t> mode, except that each
sub-mode highlights a more specialized set of elements,
and performs a unique action on the selected link.
Because of the panoply of extend hint modes available,
after pressing <k>;</k>, pressing <k name="Tab"/> brings
up the <k>completion-list</k> with a list of each hint
mode and its description.
</p>
<p><a>mode</a> can be one of:</p>
<p><a>mode</a> may be one of:</p>
<ul>
<li><tag>;;</tag> <em>;</em> to focus a link and hover it with the mouse</li>
<li><tag>;?</tag> <em>?</em> to show information about the element (incomplete)</li>
<li><tag>;s</tag> <em>s</em> to save its destination</li>
<li><tag>;a</tag> <em>a</em> to save its destination (prompting for save location)</li>
<li><tag>;f</tag> <em>f</em> to focus a frame</li>
<li><tag>;o</tag> <em>o</em> to open its location in the current tab</li>
<li><tag>;t</tag> <em>t</em> to open its location in a new tab</li>
<li><tag>;b</tag> <em>b</em> to open its location in a new background tab</li>
<li><tag>;w</tag> <em>w</em> to open its destination in a new window</li>
<li><tag>;F</tag> <em>F</em> to follow a sequence of <k name="CR"/>-delimited hints in background tabs</li>
<li><tag>;O</tag> <em>O</em> to generate an <ex>:open</ex> with hint's URL (like <k>O</k>)</li>
<li><tag>;T</tag> <em>T</em> to generate a <ex>:tabopen</ex> with hint's URL (like <k>T</k>)</li>
<li><tag>;W</tag> <em>W</em> to generate a <ex>:winopen</ex> with hint's URL</li>
<li><tag>;v</tag> <em>v</em> to view its destination source</li>
<li><tag>;V</tag> <em>V</em> to view its destination source in the external editor</li>
<li><tag>;y</tag> <em>y</em> to yank its destination location</li>
<li><tag>;Y</tag> <em>Y</em> to yank its text description</li>
<li><tag>;c</tag> <em>c</em> to open its context menu</li>
<li><tag>;i</tag> <em>i</em> to open an image</li>
<li><tag>;I</tag> <em>I</em> to open an image in a new tab.</li>
<li tag=";;"><em>;</em> to focus a link and hover it with the mouse</li>
<li tag=";?"><em>?</em> to show information about the element (incomplete)</li>
<li tag=";s"><em>s</em> to save its destination</li>
<li tag=";a"><em>a</em> to save its destination (prompting for save location)</li>
<li tag=";f"><em>f</em> to focus a frame</li>
<li tag=";o"><em>o</em> to open its location in the current tab</li>
<li tag=";t"><em>t</em> to open its location in a new tab</li>
<li tag=";b"><em>b</em> to open its location in a new background tab</li>
<li tag=";w"><em>w</em> to open its destination in a new window</li>
<li tag=";F"><em>F</em> to follow a sequence of <k name="CR"/>-delimited hints in background tabs</li>
<li tag=";O"><em>O</em> to generate an <ex>:open</ex> with hint's URL (like <k>;O</k>)</li>
<li tag=";T"><em>T</em> to generate a <ex>:tabopen</ex> with hint's URL (like <k>;T</k>)</li>
<li tag=";W"><em>W</em> to generate a <ex>:winopen</ex> with hint's URL</li>
<li tag=";v"><em>v</em> to view its destination source</li>
<li tag=";V"><em>V</em> to view its destination source in the external editor</li>
<li tag=";y"><em>y</em> to yank its destination location</li>
<li tag=";Y"><em>Y</em> to yank its text description</li>
<li tag=";c"><em>c</em> to open its context menu</li>
<li tag=";i"><em>i</em> to open an image</li>
<li tag=";I"><em>I</em> to open an image in a new tab.</li>
</ul>
<!-- TODO: These are completely arbitrary and need to be
- changed before release. Hopefully they will be...
-->
<p>
Depending on the value of <o>complete</o>, you can get a list of
extended hint modes by pressing <k name="Tab"/> from the <k>;</k>
prompt.
</p>
<p>
Hintable elements for all extended hint modes can be set in the
<o>extendedhinttags</o> XPath string.
Of the previous modes, the value of the <o>hinttags</o>
option os used to choose the highlighted elements for
the modes, <k>;;</k>, <k>;?</k>, <k>;w</k>, <k>;v</k>,
<k>;V</k>, <k>;Y</k> and <k>;c</k>. The value of
<o>extendedhinttags</o> is used to choose the elements
for, <k>;s</k>, <k>;a</k>, <k>;o</k>, <k>;t</k>,
<k>;b</k>, <k>;O</k>, <k>;T</k>, <k>;W</k>, <k>;y</k>,
</p>
</description>
</item>

View File

@@ -6,8 +6,8 @@
<document
name="index"
title="&dactyl.appname; Index"
xmlns="http://vimperator.org/namespaces/liberator"
xmlns:html="http://www.w3.org/1999/xhtml">
xmlns="&xmlns.dactyl;"
xmlns:html="&xmlns.html;">
<h1 tag="index">Index</h1>
<toc start="2"/>

View File

@@ -6,21 +6,23 @@
<document
name="insert"
title="&dactyl.appname; Insert Mode"
xmlns="http://vimperator.org/namespaces/liberator"
xmlns:html="http://www.w3.org/1999/xhtml">
xmlns="&xmlns.dactyl;"
xmlns:html="&xmlns.html;">
<h1 tag="Insert-mode Insert mode-insert">Insert mode</h1>
<toc start="2"/>
<!-- TODO: This makes no sense. Rewrite. -->
<p>
Insert mode is used to enter text in text boxes and text areas. When
<o>insertmode</o> is set, focusing on a text area immediately switches to
Insert mode.
the <o>insertmode</o> option is set, insert mode is immediately
entered when focusing a text area.
</p>
<item>
<tags>i_i</tags>
<spec>i_i</spec>
<description>
<description short="true">
<p>Starts Insert mode in text areas when <o>insertmode</o> is not set.</p>
</description>
</item>
@@ -32,7 +34,7 @@
<item>
<tags><![CDATA[i_<C-i>]]></tags>
<spec>&lt;C-i></spec>
<description>
<description short="true">
<p>Launch the external editor. See the <o>editor</o> option.</p>
</description>
</item>
@@ -41,7 +43,7 @@
<item>
<tags><![CDATA[i_<C-]>]]></tags>
<spec>&lt;C-]></spec>
<description>
<description short="true">
<p>Expand an Insert-mode abbreviation.</p>
</description>
</item>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="chrome://dactyl/content/help.xsl"?>
<!DOCTYPE document SYSTEM "chrome://dactyl/content/dactyl.dtd">
@@ -6,39 +6,71 @@
<document
name="map"
title="&dactyl.appname; Key Mappings"
xmlns="http://vimperator.org/namespaces/liberator"
xmlns:html="http://www.w3.org/1999/xhtml">
<h1>Key mappings, abbreviations, and user-defined commands</h1>
xmlns="&xmlns.dactyl;"
xmlns:html="&xmlns.html;">
<h1 tag="keyboard-shortcuts">Keyboard shortcuts and commands</h1>
<toc start="2"/>
<p>
&dactyl.appname; provides a number commands to change the
behavior of key presses. This can be mean anythong from
automatically substituting one key for another, to automatically
replacing one typed word for another, to launching a dialog or
running a command.
</p>
<h2 tag="key-mapping mapping map macro">Key mapping</h2>
<p>
The key mapping commands can be used to either redefine the standard key
bindings or define new ones. A mapping consists of a key, or <t>key-sequence</t>,
which is translated to a string of characters. Example:
</p>
<code><ex>:map <k name="F2"/> :echo new Date().toDateString()<k name="CR"/></ex></code>
<p>
will echo the current date to the command line when <k name="F2"/> is pressed.
Key mappings are the most basic means &dactyl.appname; provides
for altering the actions of key presses. Each key mapping is
associated with a mode, such as <link topic="insert-mode">insert</link>,
<link topic="normal-mode">normal</link>, or
<link topic="command-line-mode">command-line</link>, and only
has effect when that mode is active. Although each mode has a
full suite of internal mappings, they may be easily augmented,
altered, or removed with the <ex>:map</ex> command and its
variants. These commands, in essence, allow the user to quickly
substitute one sequence of key presses for another.
For instance,
</p>
<tags>:map-modes</tags>
<code><ex>:map <k name="F2"/></ex> <ex>:echo Date()<k name="CR"/></ex></code>
<p>
Keys can be mapped in four distinct modes:
causes “<ex>:echo Date()<k name="CR"/></ex>” to be typed out
whenever <k name="F2"/> is pressed, thus echoing the full date
to the command-line.
</p>
<ul>
<li>Normal mode: When browsing normally</li>
<li>Visual mode: When selecting text with the cursor keys</li>
<li>Insert mode: When interacting with text fields on a website</li>
<li>Command-line mode: When typing into the &dactyl.appname; command line</li>
</ul>
<p tag=":map-modes">
Standard key mapping commands are provided for the four most
common modes,
</p>
<dl>
<dt>n</dt> <dd>Normal mode: When browsing normally</dd>
<dt>v</dt> <dd>Visual mode: When selecting text with the cursor keys</dd>
<dt>i</dt> <dd>Insert mode: When interacting with text fields on a website</dd>
<dt>c</dt> <dd>Command-line mode: When typing into the &dactyl.appname; command line</dd>
</dl>
<p>
The ordinary <ex>:map</ex> and <ex>:noremap</ex> commands
add mappings for normal and visual mode. In order to map key
bindings in a different mode, any of the mapping commands may be
prefixed with one of the above letters. For instance,
<ex>:imap</ex> creates a new key mapping in insert mode, while
<ex>:cunmap</ex> removes a key mapping from command-line mode.
Although other modes do exist, their mappings may currently only
be altered via JavaScript.
</p>
<warning>
Mappings are NOT saved between sessions, make sure you put them in your
&dactyl.name;rc file!
It is important to note that mappings are <em>not</em>
automatically saved between sessions. In order to preserve them,
they must either be added to your <tt>&dactyl.name;rc</tt> or
saved via the <ex>:mk&dactyl.name;rc</ex> command.
</warning>
<h3 tag=":map-commands">Map commands</h3>
@@ -56,8 +88,16 @@
<spec>:cm<oa>ap</oa> <a>lhs</a> <a>rhs</a></spec>
<description>
<p>
Map the <t>key-sequence</t> <a>lhs</a> to <a>rhs</a> for the applicable mode(s). The <a>rhs</a> is
remapped, allowing for nested and recursive mappings.
Map the <t>key-sequence</t> <a>lhs</a> to <a>rhs</a> for
the applicable mode(s). The keys of <a>rhs</a> respect
user-defined mappings, so the following will result in
an infinite loop,
</p>
<code><ex>:map a b</ex>
<ex>:map b a</ex></code>
<p>
In order to avoid this shortcoming, the
<ex>:noremap</ex> command may be used.
</p>
</description>
</item>
@@ -76,9 +116,14 @@
<spec>:cno<oa>remap</oa> <a>lhs</a> <a>rhs</a></spec>
<description>
<p>
Map the <t>key-sequence</t> <a>lhs</a> to <a>rhs</a> for the applicable mode(s). No remapping of
the <a>rhs</a> is performed.
Map the <t>key-sequence</t> <a>lhs</a> to <a>rhs</a> for
the applicable mode(s). The keys in <a>rhs</a> do not
respect user-defined key mappings, so the following
effectively reverses the default meanings of the keys
<k>d</k> and <k>D</k>
</p>
<code><ex>:noremap d D</ex>
<ex>:noremap D d</ex></code>
</description>
</item>
@@ -113,8 +158,7 @@
<spec>:cmapc<oa>lear</oa></spec>
<description>
<p>
Remove all mappings for the applicable mode(s). All user-defined mappings are
cleared.
Remove all user-defined mappings for the applicable mode(s).
</p>
</description>
</item>
@@ -155,12 +199,12 @@
<tags>:map-&lt;silent></tags>
<p>
When the first argument to one of the mapping commands is <k name="silent"/>,
<a>rhs</a> is not echoed to the command line, nor, for that matter, anything
else until the command has completed.
When the first argument to one of the mapping commands is
<k name="silent"/>, the keys in <a>rhs</a> are not shown in the
command line as they are generated. Nor, for that matter, is
anything else until the command has completed.
</p>
<p>
Below is an overview of which modes each map command applies to:
</p>
@@ -175,70 +219,110 @@
:cmap :cnoremap :cunmap :cmapclear Command-line mode
</code>
<h3 tag="key-notation,key-sequence">Key sequences</h3>
<h3 tag="key-notation key-sequence">Key sequences</h3>
<p>
For most keys, the key-sequence is the same as the character you see when you
type that key, however there are some exceptions which allow for a much larger
number of keys to be used in mappings.
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>
<ul>
<li><k name="lt"/>, <k>&lt;</k>, <k name="Space"/>, <k>\ </k> allow a literal &lt; or space character.</li>
<li>', " and \ must be used to avoid escaping issues when mapping a quote or backslash.</li>
<li>
<k name="Left"/> <k name="Right"/> <k name="Up"/>
<k name="Down"/> <k name="PageUp"/> <k name="PageDown"/>
<k name="Esc"/> <k name="CR"/> (for carriage return/enter)
The first argument to the <ex>:map</ex> commands must be
<link topic="quoting">quoted</link> if it contains spaces,
quotation marks or back-slashes. A space may additionally be
typed as <k name="Space"/>.
</li>
<li><k name="CapsLock"/> <k name="NumLock"/> <k name="Ins"/> <k name="Del"/> <k name="Tab"/> <k name="BS"/> (for a backspace)</li>
<li>
As special key names start with the <em>&lt;</em> character,
a literal &lt; must be typed as <k name="lt"/>.
</li>
<li>
<k name="Left"/>, <k name="Right"/>, <k name="Up"/>,
and <k name="Down"/> represent the standard arrow keys.
</li>
<li>
<k name="CapsLock"/>, <k name="NumLock"/>, <k name="Ins"/>
<k name="Del"/>, <k name="Tab"/>, <k name="PageUp"/>,
<k name="PageDown"/>, and <k name="Esc"/> work as
expected.
</li>
<li>
<k name="Return"/> or <k name="CR"/> represent the carriage
return key.
</li>
<li><k name="BS"/> represents the backspace key.</li>
<li><k name="F1"/> through <k name="F12"/> work as expected</li>
<li>
<k name="K0"/> through <k name="K9"/> represent keys on the
numeric keypad.
</li>
</ul>
<p>
Most keyboards have some modifiers such as the control, alt or meta keys. In
order to create a mapping that uses these keys the correct prefix must be used
within the angle brackets.
In order to represent key presses using the Control, Alt, Meta,
or Shift keys, the following prefixes may be used,
</p>
<ol>
<li><k name="C-x"/>: The control or ctrl key.</li>
<li><k name="A-x"/>: The alt key.</li>
<li><k name="M-x"/>: The meta key, windows key, or command key</li>
<li><k name="S-x"/>: The shift key.</li>
<li><k name="C-"/>: The control or ctrl key.</li>
<li><k name="A-"/>: The alt key.</li>
<li><k name="M-"/>: The meta key, windows key, or command key</li>
<li><k name="S-"/>: The shift key.</li>
</ol>
<p>
These prefixes can be combined however you see fit, though you should note that
within angle brackets all alphabetic characters are read as lowercase. In order
to force them to be uppercase, you must specify the S- prefix as well.
Additionally, you should never use the S- prefix with a number or piece of
punctuation, even if you require a shift to type that character; doing so will
give you a mapping that cannot be typed. With non-character keys, tab and
space, the S- modifier works just like C- A- and M-. Some examples may clarify
the situation:
These prefixes can be combined however you see fit, though you
should note that within angle brackets all alphabetic characters
are read as lowercase. Uppercase characters can only be
specified with the <em>S-</em> modifier. The following key
sequences are interperated as described,
</p>
<ol>
<li><k>xc</k>: type x, and then type c</li>
<li><k name="C-x">c</k>: hold control and type x, then type c without control</li>
<li><k name="C-2"/>: type 2 while holding control</li>
<li><k name="C-@"/>: type @ while holding control</li>
<li><k name="S-Space"/>: press space while holding shift</li>
<li><k name="C-A-j"/>: press j while holding control and alt</li>
<li><k name="C-A-J"/>: exactly the same as above</li>
<li><k name="C-A-S-j"/>: press J while holding control and alt</li>
</ol>
<dl>
<dt><k>xc</k></dt>
<dd>Type the X key followed by the C key</dd>
<dt><k name="C-x">c</k></dt>
<dd>
Type the X key while holding the Control key, followed
by the C key.
</dd>
<dt><k name="C-2"/></dt>
<dd>Type the 2 while holding the Control key.</dd>
<dt><k name="C-@"/></dt>
<dd>Type the 2 key @ while holding the Control key.</dd>
<dt><k name="S-Space"/></dt>
<dd>Press the space bar while holding the Shift key.</dd>
<dt><k name="C-A-j"/></dt>
<dd>Type the J key while while holding both the Control and Alt keys.</dd>
<dt><k name="C-A-J"/></dt>
<dd>Exactly the same as above.</dd>
<dt><k name="C-A-S-j"/></dt>
<dd>Type the J key while while holding both the Control, Alt, and Shift keys.</dd>
</dl>
<h3 tag=":map-special-chars">Special characters</h3>
<item>
<tags><![CDATA[<Nop>]]></tags>
<strut/>
<spec>&lt;Nop></spec>
<description>
<p>
Do nothing. This command is useful for disabling a specific mapping.
<ex>:map <k name="C-n"/> <k name="Nop"/></ex> will prevent <k name="C-n"/> from doing anything.
Do nothing. This pseudo-key is useful for disabling a
specific builtin mapping. For example,
<ex>:map <k name="C-n"/> <k name="Nop"/></ex> will prevent <k name="C-n"/>
from doing anything.
</p>
</description>
</item>
@@ -246,6 +330,7 @@
<item>
<tags><![CDATA[<CR> map_return]]></tags>
<strut/>
<spec>&lt;CR></spec>
<description>
<p>
@@ -258,20 +343,21 @@
<item>
<tags><![CDATA[<Leader> mapleader]]></tags>
<tags><![CDATA[<Leader> mapleader \]]></tags>
<strut/>
<spec>&lt;Leader></spec>
<description>
<p>
Expands to the value of the "mapleader" variable in key mapping. If
"mapleader" is unset or empty then <str>\</str> is used. Example:
Expands to the value of the mapleader variable in key mapping. If
mapleader is unset or empty then \ is used. For example, by default,
</p>
<code><ex>:map <k name="Leader"/>h :echo <str>Hello</str><k name="CR"/></ex></code>
<code><ex>:map <k name="Leader"/>h</ex> <ex>:echo <str>Hello</str><k name="CR"/></ex></code>
<p>works like</p>
<code><ex>:map \h :echo <str>Hello</str><k name="CR"/></ex></code>
<code><ex>:map \h</ex> <ex>:echo <str>Hello</str><k name="CR"/></ex></code>
<p>but after</p>
<code><ex>let mapleader = <str>,</str></ex></code>
<code><ex>:let mapleader = <str>,</str></ex></code>
<p>it works like</p>
<code><ex>:map ,h :echo <str>Hello</str><k name="CR"/></ex></code>
<code><ex>:map ,h</ex> <ex>:echo <str>Hello</str><k name="CR"/></ex></code>
</description>
</item>
@@ -279,27 +365,27 @@
<h2 tag="abbreviations">Abbreviations</h2>
<p>
&dactyl.appname; can automatically replace words identified as abbreviations,
which may be used to save typing or to correct commonly misspelled
words. An abbreviation can be one of three types that are defined by the
types of constituent characters. Whitespace and quotes are non-keyword
types, and all other characters are keyword types.
In addition to basic mappings, &dactyl.appname; can also
automatically replace whole words after they've been typed.
These shortcuts are known as abbreviations, and are most often
useful for correcting spelling of commonly mistyped words, as
well as shortening the typing of oft-typed but long words or
phrases. There are three basic types of abbreviations, defined
by the types of characters they contain,
</p>
<ol>
<li>A "full-id" abbreviation consists entirely of keyword characters (e.g., "teh", "msoft").</li>
<li>An "end-id" abbreviation ends in keyword character but otherwise contains all non-keyword characters (e.g., "'i").</li>
<li>A "non-id" abbreviation ends in a non-keyword character but otherwise contains any non-whitespace character (e.g., "def'").</li>
</ol>
<ul>
<li>full-id abbreviations consist entirely of keyword characters (e.g., teh, msoft).</li>
<li>end-id abbreviations end in keyword character but otherwise contains all non-keyword characters (e.g., 'i).</li>
<li>non-id abbreviations end in a non-keyword character but otherwise contains any non-whitespace character (e.g., def').</li>
<li>Strings which fit none of the above patterns can not be defined as abbreviations (e.g., a'b and a b).</li>
</ul>
<p>
Strings that cannot be abbreviations include "a'b" and "a b".
</p>
<p>
An abbreviation is recognized when a space, quote character, or
<k name="C-]"/> is typed after the abbreviation. There are no default
abbreviations, and abbreviations are never recursive.
For the purposes of abbreviations, keyword characters include
all non-whitespace characters except for single or double
quotation marks. Abbreviations are expanded as soon as any
non-keyword character, or the key <k name="C-]"/>, is typed.
</p>
<item>
@@ -309,9 +395,10 @@
<spec>:ab<oa>breviate</oa></spec>
<description>
<p>
Abbreviate a key sequence. Abbreviate <a>lhs</a> to <a>rhs</a>. If only <a>lhs</a> is given,
list all abbreviations that start with <a>lhs</a>. If no arguments are given,
list all abbreviations.
Abbreviate <a>lhs</a> to <a>rhs</a>. If only <a>lhs</a>
is given, list all abbreviations that start with
<a>lhs</a>. If no arguments are given, list all
abbreviations.
</p>
</description>
</item>
@@ -324,8 +411,9 @@
<spec>:ca<oa>bbrev</oa></spec>
<description>
<p>
Abbreviate a key sequence for Command-line mode. Same as <ex>:ab<oa>breviate</oa></ex>,
but for Command-line mode only.
Abbreviate a key sequence for Command-line mode. Same as
<ex>:ab<oa>breviate</oa></ex>, but for
<t>command-line</t> mode only.
</p>
</description>
</item>
@@ -338,8 +426,8 @@
<spec>:ia<oa>bbrev</oa></spec>
<description>
<p>
Abbreviate a key sequence for Insert mode. Same as <ex>:ab<oa>breviate</oa></ex> but
for Insert mode only.
Abbreviate a key sequence for Insert mode. Same as
<ex>:ab<oa>breviate</oa></ex>, but for insert mode only.
</p>
</description>
</item>
@@ -359,8 +447,9 @@
<spec>:cuna<oa>bbrev</oa> <a>lhs</a></spec>
<description>
<p>
Remove an abbreviation for Command-line mode. Same as <ex>:una<oa>bbreviate</oa></ex>,
but for Command-line mode only.
Remove an abbreviation for Command-line mode. Same as
<ex>:una<oa>bbreviate</oa></ex>, but for
<t>command-line</t> mode only.
</p>
</description>
</item>
@@ -371,8 +460,9 @@
<spec>:iuna<oa>bbrev</oa> <a>lhs</a></spec>
<description>
<p>
Remove an abbreviation for Insert mode. Same as <ex>:una<oa>bbreviate</oa></ex> but for
Insert mode only.
Remove an abbreviation for Insert mode. Same as
<ex>:una<oa>bbreviate</oa></ex> but for Insert mode
only.
</p>
</description>
</item>
@@ -381,7 +471,7 @@
<item>
<tags>:abc :abclear</tags>
<spec>:abc<oa>lear</oa></spec>
<description>
<description short="true">
<p>Remove all abbreviations.</p>
</description>
</item>
@@ -390,8 +480,8 @@
<item>
<tags>:cabc :cabclear</tags>
<spec>:cabc<oa>lear</oa></spec>
<description>
<p>Remove all abbreviations for Command-line mode.</p>
<description short="true">
<p>Remove all abbreviations for command-line mode.</p>
</description>
</item>
@@ -399,7 +489,7 @@
<item>
<tags>:iabc :iabclear</tags>
<spec>:iabc<oa>lear</oa></spec>
<description>
<description short="true">
<p>Remove all abbreviations for Insert mode.</p>
</description>
</item>
@@ -407,10 +497,21 @@
<h2 tag="user-commands">User-defined commands</h2>
<p>
Defining new commands is perhaps the most straightforward way of
repeating commonly used actions. User-defined commands may be
entered from the command-line or scripts exactly like standard
commands, and may similarly accept arguments, options, counts,
and <oa>!</oa>s, as well as provide command-line completion.
These commands may be defined as either ordinary,
macro-interpolated Ex commands, or otherwise as plain
JavaScript statements.
</p>
<item>
<tags>:com :command</tags>
<spec>:com<oa>mand</oa></spec>
<description>
<description short="true">
<p>List all user-defined commands.</p>
</description>
</item>
@@ -428,22 +529,34 @@
<spec>:com<oa>mand</oa><oa>!</oa> <oa><a>attr</a></oa> <a>cmd</a> <a>rep</a></spec>
<description>
<p>
Define a new user command. The name of the command is <a>cmd</a> and its replacement
text is <a>rep</a>. The command's attributes are <a>attr</a>. If a command with this name
already exists an error is reported unless <oa>!</oa> is specified, in which case the
command is redefined. Unlike Vim, the command may start with a lowercase
letter.
Define a new user command. The name of the command is
<a>cmd</a> and its replacement text is <a>rep</a>. If a
command with this name already exists, an error is
reported unless <oa>!</oa> is specified, in which case
the command is redefined. Unlike Vim, the command may
start with a lowercase letter.
</p>
<p>
The command's behavior can be specified by providing attributes when the
command is defined.
The new command is usually defined by a string to be
executed as an Ex command. In this case, before
execution, strings of the form
<hl key="HelpKey">&lt;<a>var</a>></hl> are interpolated
as described below, in order to insert arguments,
options, and the like. If the <em>-javascript</em> (short
name <em>-js</em>) flag is present, the command is
executed as JavaScript, and the arguments are present as
variables in its scope instead, and no interpolation is
performed.
</p>
<p tag="E175 E176 :command-nargs">
Argument handling
<p>
The command's behavior can be altered by providing
attributes when the command is defined.
</p>
<h3 tag="E175 E176 :command-nargs">Argument handling</h3>
<p>
By default user commands accept no arguments. This can be changed by specifying
the -nargs attribute.
@@ -459,9 +572,7 @@
<dt>-nargs=+</dt><dd>One or more arguments are allowed</dd>
</dl>
<p tag="E180 E181 :command-complete">
Argument completion
</p>
<h3 tag="E180 E181 :command-complete">Argument completion</h3>
<p>
Completion for arguments to user defined commands is not available by default.
@@ -496,9 +607,7 @@
<dt>custom,<a>func</a></dt><dd>custom completion, provided by <a>func</a></dd>
</dl>
<p tag="E467 E468 :command-completion-custom">
Custom completion
</p>
<h3 tag="E467 E468 :command-completion-custom">Custom completion</h3>
<p>
Custom completion can be provided by specifying the <str>custom,<a>func</a></str> argument to
@@ -516,9 +625,7 @@
<!-- TODO: add examples -->
<p tag="E177 E178 :command-count">
Count handling
</p>
<h3 tag="E177 E178 :command-count">Count handling</h3>
<p>
By default user commands do not accept a count. Use the -count attribute if
@@ -526,9 +633,7 @@
available for expansion as &lt;count> in the argument.
</p>
<p tag=":command-bang">
Special cases
</p>
<h3 tag=":command-bang">Special cases</h3>
<p>
By default a user command does not have a special version, i.e. a version
@@ -536,18 +641,14 @@
and &lt;bang> will be available in the argument.
</p>
<p tag=":command-description">
Command description
</p>
<h3 tag=":command-description">Command description</h3>
<p>
The command's description text can be set with -description. Otherwise it will
default to "User-defined command".
</p>
<p tag=":command-replacement-text">
Replacement text
</p>
<h3 tag=":command-replacement-text">Replacement text</h3>
<p>
The replacement text <a>rep</a> is scanned for escape sequences and these are
@@ -580,7 +681,7 @@
<item>
<tags>:comc :comclear</tags>
<spec>:comc<oa>lear</oa></spec>
<description>
<description short="true">
<p>Delete all user-defined commands.</p>
</description>
</item>

View File

@@ -6,89 +6,131 @@
<document
name="marks"
title="&dactyl.appname; Marks"
xmlns="http://vimperator.org/namespaces/liberator"
xmlns:html="http://www.w3.org/1999/xhtml">
<h1 tag="different-marks marks">Marks</h1>
xmlns="&xmlns.dactyl;"
xmlns:html="&xmlns.html;">
<h1 tag="marks">Marks</h1>
<toc start="2"/>
<p>
&dactyl.appname; supports a number of different marks:
&dactyl.appname; supports a number of different methods of
marking your place, in order to easily return later,
</p>
<ul>
<li>Bookmarks which allow you to mark a web page as one of your favorites for easy access.</li>
<li>QuickMarks allow you to define up to 62 (a-zA-Z0-9) web sites (or groups of web sites) which you visit most often.</li>
<li>Local marks to store the position within a web page.</li>
<li>History is also a special type of marks, as &dactyl.appname; automatically remembers sites which you have visited in the past.</li>
<li><em>Bookmarks</em> are the standard marks of &dactyl.host;, and are fully supported.</li>
<li><em>QuickMarks</em> allow you to quickly save and return as many as 62 (a-zA-Z0-9) different web sites with a quick keyboard shortcut.</li>
<li><em>Local marks</em> allow you to store and return to a position within the current web page.</li>
<li><em>URL marks</em> allow you to store and return to the position and URL of the current web page.</li>
<li><em>History</em> marks every opened page with data on when and how often it has been visited.</li>
</ul>
<h1 tag="bookmarks">Bookmarks</h1>
<toc start="2"/>
<h2 tag="bookmarks">Bookmarks</h2>
<p>
Bookmarks are the most traditional kind of marks supported by
&dactyl.appname;. They are accessible through &dactyl.host;'s
bookmark menu, sidebar, and toolbar, in addition to its location
bar completion system. &dactyl.appname; makes them accessible
not only via several commands and its completion system (see the
<o>complete</o> option), but also displays a ❤ in the status bar
when a bookmarked page is displayed.
</p>
<item>
<tags>a :bma :bmark</tags>
<spec>:bma[rk][!] <oa>-title=title</oa> <oa>-keyword=kw</oa> <oa>-tag=tag1,tag2</oa> <oa>url</oa></spec>
<spec>:bma<oa>rk</oa><oa>!</oa> <oa>-title=...</oa> <oa>-keyword=...</oa> <oa>-tag=tag,...</oa> <oa>url</oa></spec>
<spec>a</spec>
<description>
<p>Add a bookmark.</p>
<p>The following options are interpreted:</p>
<p>The following options are available,</p>
<ul>
<li>-title="custom title" (short option: -t)</li>
<li>-tag=comma,separated,tag,list (short option: -T)</li>
<li>-keyword=keyword (short option: -k)</li>
</ul>
<dl>
<dt>-title</dt>
<dd>
The title of the bookmark.
Defaults to the page title, if available, or
<oa>url</oa> otherwise.
(short name <em>-t</em>)
</dd>
<dt>-tag</dt>
<dd>
Comma-separated list of tags for grouping and later
access (short name <em>-T</em>).
</dd>
<dt>-keyword</dt>
<dd>
A keyword which may be used to open the bookmark via
the URL bar or <ex>:open</ex> prompt. If the
<oa>url</oa> contains the string <em>%s</em> it is
replaced by any text following the keyword when it
is opened.
(short name <em>-k</em>)
</dd>
</dl>
<p>
If [!] is present, a new bookmark is always added. Otherwise, the first
bookmark matching <oa>url</oa> is updated.
If <oa>url</oa> is omitted, the URL currently loaded web
page is used.
</p>
<p>
When creating a new bookmark, if <oa>-title</oa> isn't given, either the web
page's title or URL is used. You can omit the optional <oa>url</oa> argument, so
just do <ex>:bmark</ex> to bookmark the currently loaded web page with a default
title and without any tags.
If <oa>!</oa> is present, a new bookmark is always
added. Otherwise, the first bookmark matching
<oa>url</oa> is updated.
</p>
</description>
</item>
<item>
<tags>A</tags>
<strut/>
<spec>A</spec>
<description>
<p>
Toggle bookmarked state of current URL. Add/remove a bookmark for the current
location, depending on if it is already bookmarked or not. In contrast to the
<ex>:bmark</ex> command, the bookmark is just <em>starred</em> which means it is placed
in the <em>Unfiled Bookmarks Folder</em> instead of the bookmarks menu.
Toggle bookmarked state of current URL. Add/remove a
bookmark for the current location, depending on whether
it is currently bookmarked. New bookmarks are placed in
the <em>Unfiled Bookmarks</em> folder, and don't appear
in the bookmarks menu or toolbar, but do appear in
location bar and <em>:open</em> completions, as well as
the <em>:bmarks</em> list.
</p>
</description>
</item>
<item>
<tags>:bmarks</tags>
<spec>:bmarks[!] <oa>filter</oa></spec>
<spec>:bmarks<oa>!</oa> <oa>filter</oa></spec>
<description>
<p>
List or open multiple bookmarks. Open the message window at the bottom of the
screen with all bookmarks which match <oa>filter</oa> either in the title or
URL. You can then use extended hint commands like <k>;o</k> to open the desired
bookmark.
List or open multiple bookmarks. Opens the message window
at the bottom of the screen with all bookmarks with
titles or URLs matching <oa>filter</oa>. The resulting
URLs can be clicked, or accessed via extended hint modes
such as <k>;o</k>.
</p>
<p>
The special version <ex>:bmarks!</ex> works the same as <ex>:bmarks</ex> except it
opens all the found bookmarks in new tabs.
The special version <ex>:bmarks!</ex> works the same as
<ex>:bmarks</ex> except that it opens all all matching
bookmarks in new tabs rather than listing them.
</p>
<p>Filter can also contain the following options:</p>
<p>The bookmarks may also be filtered via the following options,</p>
<ul>
<li>-tag=comma,separated,tag,list (short option: -T)</li>
<li>-max=N (short options: -m)</li>
</ul>
<dl>
<dt>-tag</dt>
<dd>
A comma-separated list of tags, all of which must be
present for a match (short name <em>-T</em>).
</dd>
<dt>-max</dt>
<dd>
The maximum number of items to list or open
(short name <em>-m</em>).
</dd>
</dl>
</description>
</item>
@@ -98,43 +140,59 @@
<spec>:delbm[arks]!</spec>
<description>
<p>
Delete a bookmark. Deletes <em>all</em> bookmarks which match the <oa>url</oa>. If
omitted, <oa>url</oa> defaults to the URL of the current buffer. Use <k name="Tab"/>
key on a string to complete the URL which you want to delete.
Deletes <em>all</em> bookmarks which match <oa>url</oa>.
If omitted, <oa>url</oa> defaults to the URL of the
current buffer.
</p>
<p>If ! is specified then all bookmarks will be deleted.</p>
<p>If <oa>!</oa> is specified then all bookmarks will be deleted.</p>
</description>
</item>
<!-- TODO: why is this duplicated in browsing? -->
<h1 tag="history">History</h1>
<toc start="2"/>
<h2 tag="history">History</h2>
<p>
Though not traditionally considered a mark, history behaves very
similarly to bookmarks both in &dactyl.host; and
&dactyl.appname;. Every visited page is marked and weighted by
when and how often it is visited, and can be retrieved both in
history list and location completions. Indeed, the frecency
algorithm used to determine the results of location completions
(see the <o>complete</o> option) mean that history is often a
more effective type of mark than bookmarks themselves.
</p>
<item>
<tags><![CDATA[<C-o>]]></tags>
<strut/>
<spec><![CDATA[[count]<C-o>]]></spec>
<description>
<p>
Go to an older position in the jump list. The jump list is just the browser
history for now. If <oa>count</oa> is specified go back <oa>count</oa> pages.
Go to an older position in the jump list. This currently
entails moving backward in page history, but in the
future will take into account page positions as well.
If <oa>count</oa> is specified go back <oa>count</oa> pages.
</p>
</description>
</item>
<item>
<tags><![CDATA[<C-i>]]></tags>
<strut/>
<spec><![CDATA[[count]<C-i>]]></spec>
<description>
<p>
Go to a newer position in the jump list. The jump list
is just the browser history for now. If <oa>count</oa>
is specified go forward <oa>count</oa> pages.
Go to an newer position in the jump list. This currently
entails moving forward in page history, but in the
future will take into account page positions as well.
If <oa>count</oa> is specified go forward <oa>count</oa> pages.
</p>
</description>
</item>
<item>
<tags><![CDATA[<M-Left> <A-Left> H]]></tags>
<strut/>
<spec>[count]H</spec>
<description>
<p>Go back in the browser history. If <oa>count</oa> is specified go back <oa>count</oa> pages.</p>
@@ -143,7 +201,8 @@
<item>
<tags><![CDATA[<M-Right> <A-Right> L]]></tags>
<spec>[count]L</spec>
<strut/>
<spec><oa>count</oa>L</spec>
<description>
<p>
Go forward in the browser history. If <oa>count</oa> is specified go forward <oa>count</oa>
@@ -154,8 +213,8 @@
<item>
<tags>:ba :back</tags>
<spec>:[count]ba[ck] <oa>url</oa></spec>
<spec>:[count]ba[ck]!</spec>
<spec>:<oa>count</oa>ba<oa>ck</oa> <oa>url</oa></spec>
<spec>:<oa>count</oa>ba<oa>ck</oa>!</spec>
<description>
<p>
Go back in the browser history. If <oa>count</oa> is specified go back <oa>count</oa> pages.
@@ -168,8 +227,8 @@
<item>
<tags>:fw :fo :forward</tags>
<spec>:[count]fo[rward] <oa>url</oa></spec>
<spec>:[count]fo[rward]!</spec>
<spec>:<oa>count</oa>fo<oa>rward</oa> <oa>url</oa></spec>
<spec>:<oa>count</oa>fo<oa>rward</oa>!</spec>
<description>
<p>
Go forward in the browser history. If <oa>count</oa> is specified go forward <oa>count</oa>
@@ -183,78 +242,87 @@
<item>
<tags>:hs :hist :history</tags>
<spec>:hist[ory][!] <oa>filter</oa></spec>
<spec>:hist<oa>ory</oa><oa>!</oa> <oa>filter</oa></spec>
<description>
<p>
Show recently visited URLs. Open the message window at the bottom of the screen
with all history items which match <oa>filter</oa> either in the title or URL.
Show recently visited URLs. Opens the message window at the bottom of the screen
with all history items whose page titles or URLs match
<oa>filter</oa>.
</p>
<p>
The special version <ex>:history!</ex> works the same as <ex>:history</ex> except
it opens all the found items in new tabs.
The special version <ex>:history!</ex> works the same as
<ex>:history</ex> except that it opens all all matching
pages in new tabs rather than listing them.
</p>
<p>Filter can also contain the following options:</p>
<p>The pages may also be filtered via the following options,</p>
<ul>
<li>-max=N (short options: -m)</li>
</ul>
<dl>
<dt>-max</dt>
<dd>
The maximum number of items to list or open
(short name <em>-m</em>).
</dd>
</dl>
</description>
</item>
<h1 tag="quickmarks">QuickMarks</h1>
<toc start="2"/>
<h2 tag="quickmarks">QuickMarks</h2>
<p>
QuickMarks are bookmarks stripped to the bone for quickly
getting to the pages that you visit most. A QuickMark is very
simply a URL assigned to a letter or number. They can therefore
be saved or opened with only three key presses each.
</p>
<item>
<tags>M</tags>
<strut/>
<spec>M<a>a-zA-Z0-9</a></spec>
<description>
<p>
Add new QuickMark for current URL. You can later jump to
the mark with <k>go</k><a>a-zA-Z0-9</a>
<k>gn</k><a>a-zA-Z0-9</a>. QuickMarks are persistent
across browser sessions.
</p>
</description>
</item>
<item>
<tags>go</tags>
<spec>a-zA-Z0-9</spec>
<strut/>
<spec>go<a>a-zA-Z0-9</a></spec>
<description>
<p>
Jump to a QuickMark in the current tab. Open any QuickMark in the current tab.
You can mark any URLs with <k>M</k><a>a-zA-Z0-9</a>. These QuickMarks are
persistent across browser sessions.
Jump to a QuickMark in the current tab. See also
<k>M</k> and <ex>:qmark</ex>.
</p>
</description>
</item>
<item>
<tags>gn</tags>
<spec>a-zA-Z0-9</spec>
<strut/>
<spec>gn<a>a-zA-Z0-9</a></spec>
<description>
<p>
Jump to a QuickMark in a new tab. Works like
<k>go</k><a>a-zA-Z0-9</a> but opens the QuickMark in a
new tab. Whether the new tab is activated or not depends
on the <o>activate</o> option.
</p>
<p>
Mnemonic: Go in a new tab. <k>gt</k> would make more
sense but is already taken.
</p>
</description>
</item>
<item>
<tags>M</tags>
<spec>a-zA-Z0-9</spec>
<description>
<p>
Add new QuickMark for current URL. You can go to a
marked URL in the current tab with
<k>go</k><a>a-zA-Z0-9</a> or in a new tab with
<k>gn</k><a>a-zA-Z0-9</a>. These QuickMarks are
persistent across browser sessions.
Jump to a QuickMark in a new tab. The new tab is focused
only if <o>activate</o> contains <em>quickmark</em> or
<em>all</em>. See also <k>M</k> and <ex>:qmark</ex>.
</p>
<p>Mnemonic: Go in a new tab.</p>
</description>
</item>
<item>
<tags>:delqm :delqmarks</tags>
<spec>marks</spec>
<spec>:delqm[arks]!</spec>
<spec>:delqm<oa>arks</oa> <a>arg</a></spec>
<spec>:delqm<oa>arks</oa>!</spec>
<description>
<p>Delete the specified QuickMarks. QuickMarks are presented as a list.</p>
<p>Delete the specified QuickMarks.</p>
<p>Examples:</p>
@@ -268,35 +336,56 @@
<item>
<tags>:qma :qmark</tags>
<spec>a-zA-Z0-9</spec>
<spec>:qmark <a>a-zA-Z0-9</a> <a>url</a></spec>
<description>
<p>
Mark a URL with a letter for quick access. You can also mark whole groups
like this:
Mark <a>url</a> with a letter for quick access. See also
<k>go</k>, <k>gn</k>, and <k>M</k>.
</p>
<p>
<ex>:qmark f http://forum1.com, http://forum2.com, imdb some artist</ex>
In addition to simple URLs, <a>url</a> may be any string
that can be passed to <ex>:open</ex>, including bookmark
and search keywords and comma-separated lists of URLs to
be opened in multiple tabs, such as,
</p>
<code><ex>:qmark f http://wwww.pandora.com, google Tim Minchin</ex></code>
</description>
</item>
<item>
<tags>:qmarks</tags>
<strut/>
<spec>:qmarks <oa>arg</oa></spec>
<description>
<p>
Show all QuickMarks. If <oa>arg</oa> is specified then
limit the list to those QuickMarks mentioned.
List QuickMarks. If <oa>arg</oa> is given then limit the
list to those QuickMarks mentioned, otherwise list them
all.
</p>
</description>
</item>
<h1 tag="localmarks">Local marks</h1>
<toc start="2"/>
<h2 tag="urlmarks localmarks">Local marks and URL marks</h2>
<p>
Local and URL marks allow you to mark your position on the
current page to quickly return later. Each mark is assigned to a
letter. Lowercase letters behave as local marks, while uppercase
letters act as URL marks. The difference between the two is
that local marks apply uniquely to each page, while URL marks
mark a specific position on a specific page. So, while the mark
<em>m</em> may take you to the top of the page on Site 1, it may
take you to the middle on Site 2. The mark <em>M</em>, on the
other hand, will always return you to Site 1, no matter where
before hand.
</p>
<item>
<tags>m</tags>
<spec>a-zA-Z</spec>
<strut/>
<spec>m<a>a-zA-Z</a></spec>
<description>
<p>
Set mark at the cursor position. Marks a-z are local to the buffer, whereas
@@ -307,7 +396,8 @@
<item>
<tags>` '</tags>
<spec>a-zA-Z</spec>
<strut/>
<spec>'<a>a-zA-Z</a></spec>
<description>
<p>
Jump to the mark. Marks a-z are local to the buffer, whereas A-Z are valid
@@ -318,15 +408,15 @@
<item>
<tags>:delm :delmarks</tags>
<spec>marks</spec>
<spec>:delm[arks]!</spec>
<spec>:delm<oa>arks</oa> <a>arg</a></spec>
<spec>:delm<oa>arks</oa>!</spec>
<description>
<p>Delete the specified marks. Marks are presented as a list.</p>
<p>Delete the specified marks.</p>
<p>Examples:</p>
<ul>
<li><ex>:delmarks Aa b p</ex> deletes marks A, a, b and p</li>
<li><ex>:delmarks Aa b p</ex> deletes marks A, a, b, and p</li>
<li><ex>:delmarks b-p</ex> deletes all marks in the range b to p</li>
<li><ex>:delmarks!</ex> deletes all marks for the current buffer</li>
</ul>
@@ -336,20 +426,21 @@
<item>
<tags>:ma :mark</tags>
<spec>a-zA-Z</spec>
<description>
<spec>:mark <a>a-zA-Z</a></spec>
<description short="true">
<p>Mark current location within the web page.</p>
</description>
</item>
<item>
<tags>:marks</tags>
<strut/>
<spec>:marks <oa>arg</oa></spec>
<description>
<p>
Show all location marks of the current web page. If
<oa>arg</oa> is specified then limit the list to those
marks mentioned.
Show all local marks for the current web page and all
URL marks. If <oa>arg</oa> is specified then limit the
list to those marks mentioned.
</p>
</description>
</item>

View File

@@ -6,25 +6,25 @@
<document
name="message"
title="&dactyl.appname; Messages"
xmlns="http://vimperator.org/namespaces/liberator"
xmlns:html="http://www.w3.org/1999/xhtml">
xmlns="&xmlns.dactyl;"
xmlns:dactyl="&xmlns.dactyl;"
xmlns:html="&xmlns.html;">
<h1 tag="messages">Error and informational messages</h1>
<toc start="2"/>
<tags>message-history</tags>
<p>
&dactyl.appname; stores all info and error messages in a message
history. The type of info messages output can be controlled by
the <o>verbose</o> option. The number of stored messages can be set
with the <o>messages</o> option.
the <o>verbose</o> option. The maximum number of stored messages
can be limited with the <o>messages</o> option.
</p>
<item>
<tags>:mes :messages</tags>
<spec>:mes<oa>sages</oa></spec>
<description>
<p>Display previously given messages.</p>
<description short="true">
<p>Display previously shown messages.</p>
</description>
</item>
@@ -32,7 +32,7 @@
<item>
<tags>:messc :messclear</tags>
<spec>:messc<oa>lear</oa></spec>
<description>
<description short="true">
<p>Clear the message history.</p>
</description>
</item>
@@ -40,6 +40,7 @@
<item>
<tags><![CDATA[g<]]></tags>
<strut/>
<spec>g&lt;</spec>
<description>
<p>
@@ -49,34 +50,37 @@
</description>
</item>
<!-- FIXME: Everything the follows is horrendous. -->
<tags>pager more-prompt</tags>
<code>
<code dactyl:highlight="MoreMsg">
-- More --
-- More -- SPACE/d/j: screen/page/line down, b/u/k: up, q: quit
</code>
<p>
This message is given when the message window is filled with messages. It is
only given when the <o>more</o> option is on. It is highlighted with the <em>MoreMsg</em>
group.
This message is displayed when the message window is filled with
messages and the <o>more</o> option is set. It is styled with
the <em>MoreMsg</em> <ex>:highlight</ex> group. When the more
message is shown, the following key mappings are available:
</p>
<dl>
<dt><k name="CR"/> or j or <k name="Down"/> </dt><dd>one more line</dd>
<dt>d </dt><dd>down a page (half a screen)</dd>
<dt><k name="CR"/> or j or <k name="Down"/></dt> <dd>one more line</dd>
<dt>d</dt> <dd>down a page (half a screen)</dd>
<dt><k name="Space"/> or <k name="PageDown"/></dt><dd>down a screen</dd>
<dt>G </dt><dd>down all the way, until the hit-enter prompt</dd>
<dt>G</dt> <dd>down all the way, until the hit-enter prompt</dd>
<dt/><dd/>
<dt><k name="BS"/> or k or <k name="Up"/> </dt><dd>one line back</dd>
<dt>u </dt><dd>up a page (half a screen)</dd>
<dt>b or <k name="PageUp"/> </dt><dd>back a screen</dd>
<dt>g </dt><dd>back to the start</dd>
<dt><k name="BS"/> or k or <k name="Up"/></dt> <dd>one line back</dd>
<dt>u</dt> <dd>up a page (half a screen)</dd>
<dt>b or <k name="PageUp"/></dt> <dd>back a screen</dd>
<dt>g</dt> <dd>back to the start</dd>
<dt/><dd/>
<dt>q, <k name="Esc"/> or CTRL-C </dt><dd>stop the listing</dd>
<dt>: </dt><dd>stop the listing and enter a command-line</dd>
<dt>; </dt><dd>start an <t>extended-hints</t> command</dd>
<dt><k name="C-Y"/> </dt><dd>yank (copy) a modeless selection to the clipboard</dd>
<dt>q, <k name="Esc"/> or CTRL-C</dt> <dd>stop the listing</dd>
<dt>:</dt> <dd>stop the listing and enter a command-line</dd>
<dt>;</dt> <dd>start an <t>extended-hints</t> command</dd>
<dt><k name="C-Y"/></dt> <dd>yank (copy) a modeless selection to the clipboard</dd>
</dl>
</document>

File diff suppressed because it is too large Load Diff

View File

@@ -6,21 +6,46 @@
<document
name="pattern"
title="&dactyl.appname; Patterns"
xmlns="http://vimperator.org/namespaces/liberator"
xmlns:html="http://www.w3.org/1999/xhtml">
xmlns="&xmlns.dactyl;"
xmlns:html="&xmlns.html;">
<h1 tag="text-search-commands">Text search commands</h1>
<toc start="2"/>
<p>
&dactyl.appname; provides a Vim-like interface to &dactyl.host;'s standard text search
functionality. There is no support for using regular expressions in search
commands as &dactyl.host; does not provide native regex support. It is unlikely that
this will ever be available.
&dactyl.appname; provides a Vim-like incremental search interface to
replace &dactyl.host;'s crippled Typeahead Find. Among other improvements,
our search service:
</p>
<ul>
<li>
Starts at the cursor position in the currently selected frame, unlike
&dactyl.host;, which always starts at the beginning of the first frame
for documents with more than one frame.
</li>
<li>
Returns the cursor and viewport to their original position on cancel.
</li>
<li>
Backtracks to the first successful match after pressing backspace,
unlike &dactyl.host;, which will always continue from the last match..
</li>
<li>
Supports reverse incremental search.
</li>
<li>
Escape sequences to toggle link-only and case-sensitive searching.
</li>
</ul>
<p>
Regular expression search, however, is not currently available unless the
/Find Bar/ service is installed, in which case it may be toggled on with
a search flag.
</p>
<item>
<tags>/</tags>
<spec>/<a>pattern</a>[/]&lt;CR></spec>
<spec>/<a>pattern</a><oa>/</oa><k name="CR"/></spec>
<description>
<p>Search forward for the first occurrence of <a>pattern</a>.</p>
@@ -31,13 +56,19 @@
</p>
<dl>
<dt>\c</dt> <dd>Perform case insensitive search (default
if <o>ignorecase</o> is set).</dd>
<dt>\c</dt> <dd>Perform case insensitive search (default if <o>ignorecase</o> is set).</dd>
<dt>\C</dt> <dd>Perform case sensitive search</dd>
<dt>\l</dt> <dd>Search only in links, as defined by
<o>hinttags</o>. (default if <o>linksearch</o> is
set).</dd>
<dt>\L</dt> <dd>Do not search only in links.</dd>
<dt>\l</dt> <dd>Search only in links, as defined by <o>hinttags</o>. (default if <o>linksearch</o> is set).</dd>
<dt>\L</dt> <dd>Search the entire page.</dd>
</dl>
<p>
Additionally, if the /Find Bar/ extension is installed, the
following flags may be used,
</p>
<dl>
<dt>\r</dt> <dd>Process the entire pattern as a regular expression.</dd>
<dt>\R</dt> <dd>Process the entire pattern as an ordinary string.</dd>
</dl>
</description>
</item>
@@ -45,13 +76,9 @@
<item>
<tags>?</tags>
<spec>?<a>pattern</a>[?]&lt;CR></spec>
<spec>?<a>pattern</a><oa>?</oa><k name="CR"/></spec>
<description>
<p>Search backwards for <a>pattern</a>.</p>
<p><a>pattern</a> can use the same modifiers as for <k>/</k>.</p>
<note>Incremental searching currently only works in the forward direction.</note>
<p>Search backward for <a>pattern</a>, in exactly the same manner as <k>/</k>.</p>
</description>
</item>
@@ -59,7 +86,7 @@
<item>
<tags>n</tags>
<spec>n</spec>
<description>
<description short="true">
<p>Find next. Repeat the last search.</p>
</description>
</item>
@@ -68,7 +95,7 @@
<item>
<tags>N</tags>
<spec>N</spec>
<description>
<description short="true">
<p>Find previous. Repeat the last search in the opposite direction.</p>
</description>
</item>
@@ -77,7 +104,7 @@
<item>
<tags>*</tags>
<spec>*</spec>
<description>
<description short="true">
<p>Search forward for the next word under the cursor.</p>
</description>
</item>
@@ -86,7 +113,7 @@
<item>
<tags>#</tags>
<spec>#</spec>
<description>
<description short="true">
<p>Search backward for the previous word under the cursor.</p>
</description>
</item>
@@ -94,11 +121,13 @@
<item>
<tags>:noh :nohlsearch</tags>
<strut/>
<spec>:noh<oa>lsearch</oa></spec>
<description>
<p>
Remove the search highlighting. The document highlighting is turned back on
when another search command is used or the <o>hlsearch</o> option is set.
Remove the search highlighting. The document is highlighted again
when another search command is used or the <o>hlsearch</o> option
is set.
</p>
</description>
</item>

View File

@@ -6,8 +6,8 @@
<document
name="print"
title="&dactyl.appname; Printing"
xmlns="http://vimperator.org/namespaces/liberator"
xmlns:html="http://www.w3.org/1999/xhtml">
xmlns="&xmlns.dactyl;"
xmlns:html="&xmlns.html;">
<h1 tag="printing">Printing</h1>
<toc start="2"/>

View File

@@ -6,23 +6,28 @@
<document
name="repeat"
title="&dactyl.appname; Repeating Commands"
xmlns="http://vimperator.org/namespaces/liberator"
xmlns:html="http://www.w3.org/1999/xhtml">
xmlns="&xmlns.dactyl;"
xmlns:html="&xmlns.html;">
<h1 tag="repeating">Repeating commands</h1>
<toc start="2"/>
<p>&dactyl.appname; can repeat a number of commands and record macros.</p>
<p>
&dactyl.appname; can repeat commands in a number of ways, from repeating
the last command, to recording and playing macros, to saving its state and
executing scripts.
</p>
<h2 tag="single-repeat">Single repeats</h2>
<item>
<tags>.</tags>
<strut/>
<spec><oa>count</oa>.</spec>
<description>
<p>
Repeat the last keyboard mapping <oa>count</oa> times. Note that, unlike in Vim, this
does not apply solely to editing commands, mainly because &dactyl.appname; doesn't
have them.
Repeat the last keyboard mapping <oa>count</oa> times. Note that,
unlike in Vim, this does not apply solely to editing commands,
mainly because &dactyl.appname; doesn't have them.
</p>
</description>
</item>
@@ -30,6 +35,7 @@
<item>
<tags>@:</tags>
<strut/>
<spec><oa>count</oa>@:</spec>
<description>
<p>Repeat the last Ex command <oa>count</oa> times.</p>
@@ -42,12 +48,14 @@
<item>
<tags>q</tags>
<strut/>
<spec>q<a>0-9a-zA-Z</a></spec>
<description>
<p>
Record a key sequence into a macro.
Available macros are {0-9a-zA-Z} (uppercase to append).
Type <k>q</k> to stop recording.
Record a key sequence as a macro. Available macros are
<a>0-9a-zA-Z</a>. If the macro is an uppercase letter, the
recorded keys are appended to the lowercase macro of the same
name. Typing <k>q</k> again stops the recording.
</p>
</description>
</item>
@@ -58,8 +66,8 @@
<spec>:mac<oa>ros</oa> <oa>pat</oa></spec>
<description>
<p>
List recorded macros matching the optional regular expression <oa>pat</oa>. If
no regex is given, list all macros.
List recorded macros matching the optional regular expression
<oa>pat</oa>. If no regex is given, list all macros.
</p>
</description>
</item>
@@ -67,12 +75,12 @@
<item>
<tags>:delmac :delmacros</tags>
<spec>:delmac<oa>ros</oa> <a>args</a></spec>
<spec>:delmac<oa>ros</oa> <a>pat</a></spec>
<spec>:delmac<oa>ros</oa>!</spec>
<description>
<p>
Delete recorded macros matching the regular expression <a>args</a>. If <oa>!</oa> is given
all macros are deleted.
Delete recorded macros matching the regular expression
<a>pat</a>. If <em>!</em> is given, all macros are deleted.
</p>
</description>
</item>
@@ -80,12 +88,12 @@
<item>
<tags>@ :play</tags>
<spec>:pl<oa>ay</oa> <a>arg</a></spec>
<spec><oa>count</oa>@<a>arg</a></spec>
<spec>:pl<oa>ay</oa> <a>a-z0-9</a></spec>
<spec><oa>count</oa>@<a>a-z0-9</a></spec>
<description>
<p>
Plays the contents of macro with name <a>arg</a> <oa>count</oa> times. The <k>@</k> mapping
only accepts {0-9a-z} as <a>arg</a>.
Plays the contents of macro with name <a>a-z0-9</a> <oa>count</oa>
times.
</p>
</description>
</item>
@@ -94,7 +102,7 @@
<item>
<tags>@@</tags>
<spec><oa>count</oa>@@</spec>
<description>
<description short="true">
<p>Replay the last executed macro <oa>count</oa> times.</p>
</description>
</item>
@@ -108,57 +116,91 @@
<spec>:so<oa>urce</oa><oa>!</oa> <a>file</a></spec>
<description>
<p>
Read Ex commands, JavaScript, or CSS from <a>file</a>. You can either source files
which mostly contain Ex commands like <ex>map &lt; gt</ex> and put JavaScript code
within a:
Read Ex commands, JavaScript, or CSS from <a>file</a>. Files are
interperated based on their extensions. Files when end in
<em>.js</em> are executed as JavaScript, while those ending in
<em>.css</em> are loaded as Cascading Stylesheets, and anything
else is interperated as Ex commands. In normal cases, any errors
generated by the execution or non-existence of <a>file</a> are
printed to the <t>command-line</t> area. When <oa>!</oa> is
provided, these are suppressed.
</p>
<code><![CDATA[
js <<EOF
hello = function () {
alert("Hello world");
<p>
Environment variables in <a>file</a> are expanded to their current
value, and the prefix <em>~</em> is replaced with the value of
<em>$HOME</em>. See <t>expand-env</t> and <t>initialization</t>
for more information.
</p>
<h3 tag=":source-css">Cascading Stylesheets</h3>
<p>
When a CSS file is sourced, its contents are applied to every web
page and every chrome document, including all browser windows and
dialogs. If the same file is sourced more than once, its previous
rules are cleared before it is applied again. Rules can be
restricted to specific documents by enclosing them
<link topic="https://developer.mozilla.org/en/CSS/@-moz-document">@-moz-document</link>
blocks.
</p>
<h3 tag=":source-javascript">JavaScript</h3>
<p>
JavaScript files are executed with full chrome privileges in their
own global namespaces. These namespaces are stored as objects in
the <em>plugins</em> object, in the property named for the full
path of the sourced file. This means that any variables or
functions created by your script are stored as properties of that
object. Additionally, all properties of the global <em>window</em>
and <em>modules</em> objects are accessible to your script as
global variables.
</p>
<p>
Files in <em>~/.&dactyl.name;/plugins</em> may additionally be
accessed in <em>plugins.<a>filename</a></em> where <a>filename</a>
is the last component of the file's path stripped of any
extensions, with all hyphens stripped and any letter following a
hyphen capitalized. So, the file
<em>~/.&dactyl.name;/plugins/foo-bar.js</em> may be accessed as
<em>plugins.fooBar</em>. See also <t>writing-plugins</t>
</p>
<h3 tag=":source-ex">Ex commands</h3>
<p>
Ex command files are executed as if each line were entered into
the <t>command-line</t> individually. Additionally, certain
commands support the same here document syntax supported by most
Unix shells and by the <t>command-line</t>. So, to execute a
JavaScript statement which does not comfortably fit on a single
line, you can use,
</p>
<code><ex>js</ex> &lt;&lt;<em>EOF</em>
<hl key="Object">var</hl> hello = <hl key="Key">function</hl> () {
alert(<str>Hello world</str>);
}
EOF
]]></code>
<p>
Or you can alternatively source a file which ends in <tt>.js</tt>. These files are
automatically sourced as pure JavaScript files.
</p>
<p>
Note: In both cases you must add functions to the global window object like
shown above, functions written as:
</p>
<code><![CDATA[
function hello2() {
alert("Hello world");
}
]]></code>
<p>are only available within the scope of the script.</p>
<p>
The <tt>.&dactyl.name;rc</tt> file in your home directory and any
files in <tt>~/.&dactyl.name;/plugin/</tt> are always
sourced at startup. <tt>~</tt> is supported as a
shortcut for the <tt>$HOME</tt> directory. If <oa>!</oa> is
specified, errors are not printed.
</p>
<em>EOF</em></code>
</description>
</item>
<item>
<tags>:lpl :loadplugins</tags>
<strut/>
<spec>:loadplugins</spec>
<description>
<p>
Load all unloaded plugins immediately. Because plugins are automatically
loaded after &dactyl.name;rc is sourced, this command must be placed early
in the &dactyl.name;rc file if &dactyl.name;rc also includes commands that are
implemented by plugins. Additionally, this command allows for sourcing
new plugins without restarting &dactyl.appname;.
Immediately load all plugins which have yet to be loaded. Because
plugins are not automatically loaded until after &dactyl.name;rc
is sourced, this command must be placed early in the
&dactyl.name;rc file if &dactyl.name;rc uses commands or options
which are defined by plugins. Additionally, this command allows
newly installed plugins to be easily loaded without restarting
&dactyl.appname;.
</p>
</description>
</item>
@@ -169,13 +211,12 @@ function hello2() {
<spec>:runt<oa>ime</oa><oa>!</oa> <a>file</a></spec>
<description>
<p>
Source the specified file from each directory in <o>runtimepath</o>. Example:
</p>
<code><ex>:runtime plugin/foobar.vimp</ex></code>
<p>
Only the first found file is sourced. When <oa>!</oa> is given, all found files are
sourced.
Source the specified file from the first directory in
<o>runtimepath</o> in which it exists. When <oa>!</oa> is given,
source the specified from all directories in <o>runtimepath</o> in
which it exists.
</p>
<example><ex>:runtime plugins/foobar.js</ex></example>
</description>
</item>
@@ -191,11 +232,12 @@ function hello2() {
<item>
<tags>:fini :finish</tags>
<strut/>
<spec>:fini<oa>sh</oa></spec>
<description>
<p>
Stop sourcing a script file. This can only be called from within a &dactyl.appname;
script file.
Stop sourcing a script file. This can only be called from within a
&dactyl.appname; script file.
</p>
</description>
</item>
@@ -208,16 +250,17 @@ function hello2() {
<spec>:<oa>count</oa>time<oa>!</oa> <a>code|:command</a></spec>
<description>
<p>
Profile a piece of code or a command. Run <a>code</a> <oa>count</oa> times (default: 1)
and returns the elapsed time. <a>code</a> is always passed to JavaScript's eval(),
which might be slow, so take the results with a grain of salt.
Profile a piece of JavaScript code or an Ex command. Run
<a>code</a> <oa>count</oa> times and print the elapsed time.
If <a>code</a> begins with a <ex>:</ex>, it is executed as an Ex
command. Otherwise, it is executed as JavaScript, in which case it
is evaluated only once and stored as a function which is executed
<oa>count</oa> times.
</p>
<p>If <a>code</a> starts with a <ex>:</ex>, it is executed as a &dactyl.appname; command.</p>
<p>
Use the special version with <oa>!</oa> if you just want to run any command multiple
times without showing profiling statistics.
When <oa>!</oa> is given, <a>code</a> is executed <oa>count</oa>
times, but no statistics are printed.
</p>
</description>
</item>

View File

@@ -6,12 +6,12 @@
<document
name="starting"
title="&dactyl.appname; Starting"
xmlns="http://vimperator.org/namespaces/liberator"
xmlns:html="http://www.w3.org/1999/xhtml">
xmlns="&xmlns.dactyl;"
xmlns:html="&xmlns.html;">
<h1 tag="starting">Starting &dactyl.appname;</h1>
<toc start="2"/>
<tags>startup-options</tags>
<h2 tag="startup-options">Command-line options</h2>
<p>
Command-line options can be passed to &dactyl.appname; via the -&dactyl.name; &dactyl.host;
@@ -75,48 +75,64 @@
<p>At startup, &dactyl.appname; completes the following tasks in order. </p>
<ol>
<li> &dactyl.appname; can perform user initialization commands. When
one of the following is successfully located, it is executed,
and no further locations are tried.
<li>
<p>
&dactyl.appname; first searches for user initialization commands in
the following locations. The first of these to be found is executed,
after which no further locations are searched.
</p>
<ol>
<li tag="$&dactyl.idname;_INIT">
<em>$&dactyl.idname;_INIT</em> — May contain a single Ex command (e.g.,
"<ex>:source <a>file</a></ex>").
<em>$&dactyl.idname;_INIT</em>
<strut/>
May contain a single Ex command (e.g., "<ex>:source <a>file</a></ex>").
</li>
<li tag="$MY_&dactyl.idname;RC">
<em>~/&dactyl.name;rc</em> — Windows only. If this file exists, its contents
<em>~/&dactyl.name;rc</em>
<strut/>
Windows only. If this file exists, its contents
are executed and <em>$MY_&dactyl.idname;RC</em> set to its path.
</li>
<li>
<em>~/.&dactyl.name;rc</em> — If this file exists, its contents are executed.
<em>~/.&dactyl.name;rc</em>
<strut/>
If this file exists, its contents are executed.
</li>
</ol>
</li>
<li>
If <o>exrc</o> is set and the +u command-line option was not
specified, then any RC file in the current directory is also
sourced.
<p>
If <o>exrc</o> is set and the +u command-line option was not
specified, then any RC file in the current directory is also
sourced.
</p>
</li>
<li>
All directories in <o>runtimepath</o> are searched for a
"plugin" subdirectory and all yet unloaded plugins are loaded.
For each plugin directory, all <tt>*.{js,vimp}</tt> files (including
those in further subdirectories) are sourced alphabetically. No
plugins will be sourced if:
<p>
All directories in <o>runtimepath</o> are searched for a
plugins subdirectory and all yet unloaded plugins are loaded.
For each plugins directory, all <tt>*.{js,vimp}</tt> files (including
those in further subdirectories) are sourced alphabetically. No
plugins will be sourced if,
</p>
<ul>
<li><o>noloadplugins</o> is set.</li>
<li>the ++noplugin command-line option was specified.</li>
<li>the +u=NONE command-line option specified set.</li>
<li><o>noloadplugins</o> is set,</li>
<li>the ++noplugin command-line option was specified, or</li>
<li>the +u=NONE command-line option was specified.</li>
</ul>
Any particular plugin will not be loaded if it has already been
loaded (e.g., by an earlier <ex>:loadplugins</ex> command).
<p>
Any plugin which was already loaded (e.g., by an earlier
invocation of the <ex>:loadplugins</ex> command) will be skipped.
</p>
</li>
</ol>
The user's ~ (i.e., "home") directory is determined as follows:
<p>
The user's home directory is determined as follows:
</p>
<ul>
<li>On Unix and Mac, the environment variable <em>$HOME</em> is used.</li>
@@ -141,10 +157,10 @@ The user's ~ (i.e., "home") directory is determined as follows:
<oa>file</oa> if it exists.
</p>
<p>
Warning: this differs from Vim's behavior which defaults to writing the file
in the current directory.
</p>
<warning>
This behavior differs differs from that of Vim, which defaults to
writing the file in the current directory.
</warning>
</description>
</item>

View File

@@ -6,16 +6,17 @@
<document
name="styling"
title="&dactyl.appname; Styling"
xmlns="http://vimperator.org/namespaces/liberator"
xmlns:html="http://www.w3.org/1999/xhtml">
xmlns="&xmlns.dactyl;"
xmlns:html="&xmlns.html;">
<h1 tag="styling">Styling the GUI and web pages</h1>
<toc start="2"/>
<p>
&dactyl.appname; allows you to style both the browser and any web pages you view. All
styling is specified via CSS. Although you may style any user interface element
via the <ex>:style</ex> command, most &dactyl.appname; elements can be styled with the
<ex>:highlight</ex> command, for convenience.
&dactyl.appname; allows you to apply custom CSS styling to the web pages
you view as well as to the browser itself. Although it is possible to
style any user interface element via the <ex>:style</ex> command, most
&dactyl.appname; elements can be styled more easily by means of the
more specialized <ex>:highlight</ex> command.
</p>
<item>
@@ -24,7 +25,7 @@
<description>
<p>
Load a color scheme. <a>name</a> is found by searching the <o>runtimepath</o> for the
first file matching colors/<a>name</a>.vimp.
first file matching <tt>colors/<a>name</a>.vimp</tt>.
</p>
<p>
@@ -37,66 +38,70 @@
<item>
<tags>:hi :highlight</tags>
<spec>:hi<oa>ghlight</oa><oa>!</oa> <oa>-append</oa> <a>group</a> [[<a>selector</a>] <a>css</a>]</spec>
<spec>:hi<oa>ghlight</oa><oa>!</oa> <a>group</a><oa>selector</oa></spec>
<spec>:hi<oa>ghlight</oa><oa>!</oa> <oa>-append</oa> <a>group</a><oa>selector</oa> <oa>css</oa></spec>
<description>
<p>
Highlight <a>group</a> with <a>css</a>. <a>css</a> is one or more comma separated CSS
declarations (E.g. <em>color: blue; background-color: red</em>). Normally, <a>css</a> is
checked for valid syntax before it's applied. Once you're certain it's valid,
<oa>!</oa> can be used to skip the check to speed up &dactyl.appname; startup. <a>selector</a>
can be any valid CSS selector, such as <ex>:hover</ex>, and, if provided, will
restrict the match to matching elements.
Highlight <a>group</a> with <oa>css</oa>. <oa>css</oa> is one or more
semicolon-separated CSS declarations (E.g. <em>color: blue;
background-color: red</em>). <oa>selector</oa>, if provided, may
be any valid CSS selector (such as <em>:hover</em> or
<em>[href]</em>), and will restrict the highlighting to matching
elements.
</p>
<p>Valid groups are:</p>
<p>Valid groups include:</p>
<dl>
<dt>Bell</dt> <dd>&dactyl.appname;'s visual bell</dd>
<dt>Boolean</dt> <dd>A JavaScript Boolean object</dd>
<dt>CmdLine</dt> <dd>The command line</dd>
<dt>CmdOutput</dt> <dd></dd>
<dt>CmdOutput</dt> <dd>The output of commands executed by <ex>:run</ex></dd>
<dt>CompDesc</dt> <dd>The description column of the completion list</dd>
<dt>CompGroup</dt> <dd></dd>
<dt>CompGroup</dt> <dd>The top-level container for a group of completion results</dd>
<dt>CompIcon</dt> <dd>The favicon of a completion row</dd>
<dt>CompItem</dt> <dd>A row of completion list</dd>
<dt>CompItem[selected]</dt><dd>A selected row of completion list</dd>
<dt>CompLess</dt> <dd>The indicator shown when completions may be scrolled up</dd>
<dt>CompItem[selected]</dt><dd>    A selected row of completion list</dd>
<dt>CompLess::after</dt> <dd>The character of indicator shown when completions may be scrolled up</dd>
<dt>CompMore</dt> <dd>The indicator shown when completions may be scrolled down</dd>
<dt>CompLess</dt> <dd>The indicator shown when completions may be scrolled up</dd>
<dt>CompMore::after</dt> <dd>The character of indicator shown when completions may be scrolled down</dd>
<dt>CompMsg</dt> <dd></dd>
<dt>CompMore</dt> <dd>The indicator shown when completions may be scrolled down</dd>
<dt>CompMsg</dt> <dd>The message which may appear at the top of a group of completion results</dd>
<dt>CompResult</dt> <dd>The result column of the completion list</dd>
<dt>CompTitle</dt> <dd>Completion row titles</dd>
<dt>Disabled</dt> <dd>Text indicating disabled status, such as of an extension or style group</dd>
<dt>Enabled</dt> <dd>Text indicating enabled status, such as of an extension or style group</dd>
<dt>ErrorMsg</dt> <dd>Error messages</dd>
<dt>Filter</dt> <dd>The matching text in a completion list</dd>
<dt>FrameIndicator</dt> <dd>The indicator shown when a new frame is selected</dd>
<dt>Function</dt> <dd>A JavaScript Function object</dd>
<dt>Gradient</dt> <dd></dd>
<dt>GradientLeft</dt> <dd></dd>
<dt>GradientRight</dt> <dd></dd>
<dt>Gradient</dt> <dd>The gradient dividers used in the completion lists</dd>
<dt>GradientLeft</dt> <dd>The color to the left of the Gradient</dd>
<dt>GradientRight</dt> <dd>The color to the right of the Gradient</dd>
<dt>Hint</dt> <dd>A hint indicator. See <ex>:help hints</ex></dd>
<dt>HintActive</dt> <dd>The hint element of link which will be followed by <k name="Return"/></dd>
<dt>HintElem</dt> <dd>The hintable element</dd>
<dt>HintImage</dt> <dd>The indicator which floats above hinted images</dd>
<dt>Indicator</dt> <dd></dd>
<dt>Indicator</dt> <dd>The <em>#</em> and <em>%</em> in the <ex>:buffers</ex> list</dd>
<dt>InfoMsg</dt> <dd>Information messages</dd>
<dt>Key</dt> <dd>Generally a keyword used in syntax highlighting.</dd>
<dt>Keyword</dt> <dd>A bookmark keyword for a URL</dd>
<dt>LineNr</dt> <dd>The line number of an error</dd>
<dt>Message</dt> <dd></dd>
<dt>Message</dt> <dd>A message as displayed in <ex>:messages</ex></dd>
<dt>ModeMsg</dt> <dd>The mode indicator in the command line</dd>
<dt>MoreMsg</dt> <dd>The indicator that there is more text to view</dd>
<dt>NonText</dt> <dd></dd>
<dt>NonText</dt> <dd>The <em>~</em> indicators which mark blank lines in the completion list</dd>
<dt>Normal</dt> <dd>Normal text in the command line</dd>
<dt>Null</dt> <dd>A JavaScript Null object</dd>
<dt>Number</dt> <dd>A JavaScript Number object</dd>
<dt>Object</dt> <dd>A JavaScript Object</dd>
<dt>Preview</dt> <dd></dd>
<dt>Preview</dt> <dd>The completion preview displayed in the <t>command-line</t></dd>
<dt>Question</dt> <dd>A prompt for a decision</dd>
<dt>Search</dt> <dd>Highlighted search results in a web page</dd>
<dt>StatusLine</dt> <dd>The status bar</dd>
<dt>StatusLineBroken</dt> <dd>The status bar for a broken web page</dd>
<dt>StatusLineExtended</dt><dd>    The status bar for a secure web page with an Extended Validation (EV) certificate</dd>
<dt>StatusLineSecure</dt> <dd>The status bar for a secure web page</dd>
<dt>StatusLineExtended</dt><dd>The status bar for a secure web page with an Extended Validation(EV) certificate</dd>
<dt>String</dt> <dd>A JavaScript String object</dd>
<dt>TabClose</dt> <dd>The close button of a browser tab</dd>
<dt>TabIcon</dt> <dd>The icon of a browser tab</dd>
@@ -110,10 +115,17 @@
</dl>
<p>
Every invocation completely replaces the styling of any previous invocation,
unless <em>-append</em> (short option: <em>-a</em>) is provided, in which case <a>css</a> is
appended to its current value. If <a>css</a> is not provided, any styles matching
<a>group</a> are listed, or all styles if no <a>group</a> provided.
The help system also has a comprehensive set of styling groups
which are not explained here, but many of which are described
along with <t>writing-docs</t>.
</p>
<p>
Every invocation completely replaces the styling of any previous
invocation, unless <em>-append</em> (short option: <em>-a</em>) is
provided, in which case <a>css</a> is appended to its current
value. If <a>css</a> is not provided, any styles beginning with
<a>group</a> are listed.
</p>
</description>
</item>
@@ -121,11 +133,11 @@
<item>
<tags>:highlight-clear</tags>
<spec>:hi<oa>ghlight</oa> clear <oa><a>group</a> <oa><a>selector</a></oa></oa></spec>
<spec>:hi<oa>ghlight</oa> clear <oa>group</oa></spec>
<description>
<p>
Reset the highlighting for <a>group</a> to its default value. If
<a>group</a> is not given, reset all highlighting groups.
Reset the highlighting for <oa>group</oa> to its default value. If
<oa>group</oa> is not given, reset all highlighting groups.
</p>
</description>
</item>
@@ -133,43 +145,46 @@
<item>
<tags>:sty :style</tags>
<spec>:sty<oa>le</oa><oa>!</oa> <oa>-name=<a>name</a></oa> <oa>-append</oa> <a>filter</a> [<a>css</a>]</spec>
<spec>:sty<oa>le</oa><oa>!</oa> <oa>-name=<a>name</a></oa> <oa>-append</oa> <a>filter</a> <oa>css</oa></spec>
<description>
<p>
Add CSS styles to the browser or to web pages. <a>filter</a> is a comma separated
list of URLs to match. URLs ending with <em>*</em> are matched as prefixes, URLs not
containing any <em>:</em> or <em>/</em> characters are matched as domains. <a>css</a> is a full
containing any <em>:</em> or <em>/</em> characters are matched as domains. <oa>css</oa> is a full
CSS rule set (e.g., <tt>body { color: blue; }</tt>).
</p>
<p>
If <a>name</a> (short option: <em>-n</em>) is provided, any existing style with the same
name is overridden, and the style may later be deleted using <a>name</a>. If
<em>-append</em> (short option: <em>-a</em>) is provided along with <em>-name</em>, <a>css</a> and
<em>-append</em> (short option: <em>-a</em>) is provided along with <em>-name</em>, <oa>css</oa> and
<a>filter</a> are appended to its current value.
</p>
<p>If <a>css</a> isn't provided, matching styles are listed.</p>
<p>If <oa>css</oa> isn't provided, matching styles are listed.</p>
</description>
</item>
<item>
<tags>:dels :delstyle</tags>
<spec>:dels<oa>tyle</oa> [-name=<a>name</a>] [-index=<a>index</a>] [<a>filter</a>] [<a>css</a>]</spec>
<spec>:dels<oa>tyle</oa> <oa>-name=<a>name</a></oa> <oa>-index=<a>index</a></oa> <oa>filter</oa> <oa>css</oa></spec>
<description>
<p>
Delete any matching styles. If <a>filter</a> is provided, only matching elements of
the filter are disabled. For instance, a filter <str>mozilla.org</str>, given a
style for <str>www.google.com,mozilla.org</str>, will result in a style for
<str>www.google.com</str>. The available options are:
Delete any matching styles. If <oa>filter</oa> is provided, only
matching elements of the filter are disabled. For instance, when
run with a filter <str>mozilla.org</str>, an existing style with a
filter <str>www.google.com,mozilla.org</str>, will result in a
style for <str>www.google.com</str>.
</p>
<ul>
<li><em>-name</em>: The name provided to <ex>:style</ex> (short option: <em>-n</em>)</li>
<li><em>-index</em>: For unnamed styles, the index listed by <ex>:style</ex>
(short option: <em>-i</em>)</li>
</ul>
<p>The available options are:</p>
<dl>
<dt>-name</dt> <dd>The name provided to <ex>:style</ex> (short option: <em>-n</em>)</dd>
<dt>-index</dt> <dd>For unnamed styles, the index listed by <ex>:style</ex>
(short option: <em>-i</em>)</dd>
</dl>
</description>
</item>
@@ -177,7 +192,7 @@
<item>
<tags>:styleenable :stylee</tags>
<tags>:styenable :stye</tags>
<spec>:styled<oa>isable</oa> <oa>-name=<a>name</a></oa> <oa>-index=<a>index</a></oa> <a>filter</a> <a>css</a></spec>
<spec>:styled<oa>isable</oa> <oa>-name=<a>name</a></oa> <oa>-index=<a>index</a></oa> <oa>filter</oa> <oa>css</oa></spec>
<description>
<p>Enable any matching styles. Arguments are the same as for <ex>:delstyle</ex>.</p>
</description>
@@ -187,7 +202,7 @@
<item>
<tags>:styledisable :styled</tags>
<tags>:stydisable :styd</tags>
<spec>:stylee<oa>nable</oa> <oa>-name=<a>name</a></oa> <oa>-index=<a>index</a></oa> <a>filter</a> <a>css</a></spec>
<spec>:stylee<oa>nable</oa> <oa>-name=<a>name</a></oa> <oa>-index=<a>index</a></oa> <oa>filter</oa> <oa>css</oa></spec>
<description>
<p>Disable any matching styles. Arguments are the same as for <ex>:delstyle</ex>.</p>
</description>
@@ -197,7 +212,7 @@
<item>
<tags>:styletoggle :stylet</tags>
<tags>:stytoggle :styt</tags>
<spec>:stylet<oa>oggle</oa> <oa>-name=<a>name</a></oa> <oa>-index=<a>index</a></oa> <a>filter</a> <a>css</a></spec>
<spec>:stylet<oa>oggle</oa> <oa>-name=<a>name</a></oa> <oa>-index=<a>index</a></oa> <oa>filter</oa> <oa>css</oa></spec>
<description>
<p>Toggle any matching styles. Arguments are the same as for <ex>:delstyle</ex>.</p>
</description>

View File

@@ -6,15 +6,23 @@
<document
name="tabs"
title="&dactyl.appname; Tabs"
xmlns="http://vimperator.org/namespaces/liberator"
xmlns:html="http://www.w3.org/1999/xhtml">
<h1 tag="tabs">Tabs</h1>
xmlns="&xmlns.dactyl;"
xmlns:html="&xmlns.html;">
<h1 tag="tabs buffers">Tabs and buffers</h1>
<toc start="2"/>
<p>
Tabs are used to be able to view many web pages at the same time. Each tab
contains exactly one buffer—multiple buffers per tab are not supported. As a
result many buffer and tab commands are interchangeable.
Tabs allow you to keep many web pages open at the same time and to quickly
switch between them. Each tab contains exactly one buffer. If your version
of &dactyl.host; supports tab groups, only buffers in the active group
will be attached to visible tabs. Though all buffers may not always be
attached to visible tabs, they are all always accessible via the
buffer-centric commands and key bindings. Tab-centric commands and key
bindings, however, only operate on the set of visible tabs.
</p>
<p>
</p>
<h2 tag="listing-tabs">Listing tabs</h2>
@@ -25,15 +33,16 @@
<spec>B</spec>
<description>
<p>
Show a list of buffers (=tabs) matching <oa>filter</oa>. Without <oa>filter</oa>
list all tabs.
Show a list of buffers matching <oa>filter</oa>. Buffers are
listed according to their tab groups, whether they are visible or
not.
</p>
<p>A buffer may be marked with one of the following indicators:</p>
<dl>
<dt>%</dt><dd>The current buffer</dd>
<dt>#</dt><dd>The alternate buffer for <ex>:e #</ex> and <k name="C-^"/></dd>
<dt><hl key="Indicator">%</hl></dt><dd>The current buffer</dd>
<dt><hl key="Indicator">#</hl></dt><dd>The alternate buffer for <ex>:e #</ex> and <k name="C-^"/></dd>
</dl>
</description>
</item>
@@ -52,21 +61,13 @@
<item>
<tags>:tab</tags>
<strut/>
<spec>:tab <a>cmd</a></spec>
<description>
<p>
Execute <a>cmd</a> and tell it to output in a new tab. Works only for commands that
support it, currently:
Execute <a>cmd</a>, but open any new pages in a new tab rather
than the currently focused tab.
</p>
<ul>
<li><ex>:tab addons</ex></li>
<li><ex>:tab downloads</ex></li>
<li><ex>:tab extoptions</ex></li>
<li><ex>:tab help</ex></li>
<li><ex>:tab javascript!</ex></li>
<li><ex>:tab preferences!</ex></li>
</ul>
</description>
</item>
@@ -77,8 +78,8 @@
<spec>:wind<oa>ow</oa> <a>cmd</a></spec>
<description>
<p>
Execute <a>cmd</a> and tell it to output in a new window. See <ex>:tab</ex> for the
list of supported commands.
Execute <a>cmd</a>, but open any new pages in a new window rather
than the currently focused tab.
</p>
</description>
</item>
@@ -89,20 +90,22 @@
<spec>:<oa>count</oa>tabdu<oa>plicate</oa></spec>
<description>
<p>
Duplicate the current tab and switch to the duplicate. If <oa>count</oa> is given,
duplicate the tab <oa>count</oa> times.
Duplicate the current tab and focus the duplicate. If
<oa>count</oa> is given, duplicate the tab <oa>count</oa> times.
</p>
</description>
</item>
<!-- TODO: should the tab commands be moved back here? -->
See <t>opening</t> for other ways to open new tabs.
<p>
See <t>opening</t> for other ways to open new tabs.
</p>
<h2 tag="changing-tabs">Changing tabs</h2>
<item>
<tags>gb</tags>
<strut/>
<spec><oa>count</oa>gb</spec>
<description>
<p>
@@ -115,11 +118,11 @@ See <t>opening</t> for other ways to open new tabs.
<item>
<tags>gB</tags>
<strut/>
<spec><oa>count</oa>gB</spec>
<description>
<p>
Repeat last <ex>:buffer<oa>!</oa></ex> command in reverse direction. Just like <k>gb</k>
but in the other direction.
Repeat last <ex>:buffer<oa>!</oa></ex> command in the reverse direction.
</p>
</description>
</item>
@@ -127,10 +130,11 @@ See <t>opening</t> for other ways to open new tabs.
<item>
<tags>gt</tags>
<strut/>
<spec><oa>count</oa>gt</spec>
<description>
<p>
Go to the next tab. Cycles to the first tab when the last is selected. +
Go to the next tab. Cycles to the first tab when the last is selected.
If <oa>count</oa> is specified go to the <oa>count</oa>th tab.
</p>
</description>
@@ -139,10 +143,11 @@ See <t>opening</t> for other ways to open new tabs.
<item>
<tags><![CDATA[<C-PageDown> <C-Tab> <C-n>]]></tags>
<strut/>
<spec><oa>count</oa>&lt;C-n></spec>
<description>
<p>
Go to the next tab. Cycles to the first tab when the last is selected. +
Go to the next tab. Cycles to the first tab when the last is selected.
If <oa>count</oa> is specified go to the <oa>count</oa>th next tab.
</p>
</description>
@@ -151,10 +156,11 @@ See <t>opening</t> for other ways to open new tabs.
<item>
<tags><![CDATA[<C-PageUp> <C-S-Tab> <C-p> gT]]></tags>
<strut/>
<spec><oa>count</oa>gT</spec>
<description>
<p>
Go to the previous tab. Cycles to the last tab when the first is selected. +
Go to the previous tab. Cycles to the last tab when the first is selected.
If <oa>count</oa> is specified go to the <oa>count</oa>th previous tab.
</p>
</description>
@@ -162,9 +168,11 @@ See <t>opening</t> for other ways to open new tabs.
<item>
<tags>:bn :bnext :tn :tnext :tabn :tabnext</tags>
<tags>:tabn :tabnext</tags>
<spec>:<oa>count</oa>tabn<oa>ext</oa> <oa>count</oa></spec>
<tags>:tn :tnext</tags>
<spec>:<oa>count</oa>tn<oa>ext</oa> <oa>count</oa></spec>
<tags>:bn :bnext</tags>
<spec>:<oa>count</oa>bn<oa>ext</oa> <oa>count</oa></spec>
<description>
<p>
@@ -176,12 +184,14 @@ See <t>opening</t> for other ways to open new tabs.
<item>
<tags>:bN :bNext :bp :bprevious :tN :tNext :tabN :tabNext :tp :tprevious :tabp :tabprevious</tags>
<spec>:<oa>count</oa>tabp<oa>revious</oa> <oa>count</oa></spec>
<spec>:<oa>count</oa>tp<oa>revious</oa> <oa>count</oa></spec>
<spec>:<oa>count</oa>tabN<oa>ext</oa> <oa>count</oa></spec>
<tags>:bN :bNext :bp :bprevious</tags>
<spec>:<oa>count</oa>bp<oa>revious</oa> <oa>count</oa></spec>
<spec>:<oa>count</oa>bN<oa>ext</oa> <oa>count</oa></spec>
<tags>:tN :tNext :tabN :tabNext</tags>
<spec>:<oa>count</oa>tabN<oa>ext</oa> <oa>count</oa></spec>
<tags>:tp :tprevious :tabp :tabprevious</tags>
<spec>:<oa>count</oa>tabp<oa>revious</oa> <oa>count</oa></spec>
<spec>:<oa>count</oa>tp<oa>revious</oa> <oa>count</oa></spec>
<description>
<p>
Switch to the previous tab or go <oa>count</oa> tabs back. Wraps around from the
@@ -209,8 +219,10 @@ See <t>opening</t> for other ways to open new tabs.
<spec><oa>count</oa>b</spec>
<description>
<p>
Go to the specified buffer from the buffer list. Argument can be either the
buffer index or the full URL. If <oa>count</oa> is given, go to the <oa>count</oa>th buffer.
Go to the specified buffer from the buffer list. Argument can be
either the buffer index or the full URL opened in an existing
buffer. If <oa>count</oa> is given, go to the <oa>count</oa>th
buffer.
</p>
<p>
@@ -228,13 +240,17 @@ See <t>opening</t> for other ways to open new tabs.
<item>
<tags>g^ g0 :bf :bfirst :br :brewind :tabfir :tabfirst :tabr :tabrewind</tags>
<spec>:tabr<oa>ewind</oa></spec>
<spec>:tabfir<oa>st</oa></spec>
<spec>:br<oa>ewind</oa></spec>
<spec>:bf<oa>irst</oa></spec>
<tags>g^ g0</tags>
<spec>g0</spec>
<spec>g^</spec>
<tags>:bf :bfirst :br :brewind</tags>
<spec>:br<oa>ewind</oa></spec>
<spec>:bf<oa>irst</oa></spec>
<tags>:tabfir :tabfirst :tabr :tabrewind</tags>
<spec>:tabr<oa>ewind</oa></spec>
<spec>:tabfir<oa>st</oa></spec>
<description>
<p>Switch to the first tab.</p>
</description>
@@ -254,12 +270,13 @@ See <t>opening</t> for other ways to open new tabs.
<item>
<tags>:tabde :tabdetach</tags>
<strut/>
<spec>:tabde<oa>tach</oa></spec>
<description>
<p>
Detach the current tab, and open it in its own window. As each window must
contain at least one tab it is not possible to detach the only tab in a window.
Use <ex>:tabduplicate</ex> to copy the tab then call <ex>:tabdetach</ex>.
Detach the current tab, and open it in its own window. As each
window must contain at least one buffer, it is not possible to detach
the last buffer in a window.
</p>
</description>
</item>
@@ -267,13 +284,14 @@ See <t>opening</t> for other ways to open new tabs.
<item>
<tags>:taba :tabattach</tags>
<spec>:taba<oa>ttach</oa> <a>window-index</a> <oa>tab-index</oa></spec>
<spec>:taba<oa>ttach</oa> <a>window-index</a> <oa>buffer-index</oa></spec>
<description>
<p>
Attach the current tab to another window. {window-index} is an index into the
list of open windows and <oa>tab-index</oa> is the index at which to insert the
tab in the other window's tab list. If this is the last tab in a window, the
window will be closed.
Attach the current tab to another window. <a>window-index</a> is
an index into the list of open windows and <oa>buffer-index</oa>
is the index at which to insert the tab in the other window's
buffer list. If this is the last buffer in a window, the window
will be closed.
</p>
</description>
</item>
@@ -289,7 +307,7 @@ See <t>opening</t> for other ways to open new tabs.
<p>
Move the current tab to a position after tab <oa>N</oa>. When <oa>N</oa> is 0, the
current tab is made the first one. Without <oa>N</oa> the current tab is made the
last one. <oa>N</oa> can also be prefixed with "+" or "-" to indicate a relative
last one. <oa>N</oa> can also be prefixed with + or - to indicate a relative
movement. If <oa>!</oa> is specified the movement wraps around the start or end of the
tab list.
</p>
@@ -301,19 +319,21 @@ See <t>opening</t> for other ways to open new tabs.
<h2 tag="closing-tabs">Closing tabs</h2>
<item>
<tags>d :tabc :tabclose :bun :bunload :bw :bwipeout :bd :bdelete</tags>
<tags>d</tags>
<tags>:tabc :tabclose</tags>
<tags>:bun :bunload :bw :bwipeout :bd :bdelete</tags>
<spec>:<oa>count</oa>bd<oa>elete</oa><oa>!</oa> <oa>arg</oa></spec>
<spec><oa>count</oa>d</spec>
<description>
<p>
Delete current buffer (=tab). If <oa>count</oa> is specified then <oa>count</oa> tabs are
removed. Afterwards, the tab to the right of the deleted tab(s) is selected.
Delete current buffer. If <oa>count</oa> is specified then <oa>count</oa> tabs are
removed. Afterwards, the tab to the right of the deleted tabs is selected.
</p>
<p>
When used with <oa>arg</oa>, remove all tabs which contain <oa>arg</oa> in the
hostname. <oa>!</oa> forces this command to also search for <oa>arg</oa> in the full
URL and also the title of the tab. Use with care.
currently opened hostname. With <oa>!</oa>, remove all tabs for which
the currently opened page's URL or title contains <oa>arg</oa>.
</p>
</description>
</item>
@@ -322,8 +342,8 @@ See <t>opening</t> for other ways to open new tabs.
<item>
<tags>D</tags>
<spec><oa>count</oa>D</spec>
<description>
<p>Like <k>d</k> but selects the tab to the left of the deleted tab.</p>
<description short="true">
<p>Like <k>d</k> but selects the tab to the left of the deleted tabs after deletion..</p>
</description>
</item>
@@ -331,8 +351,8 @@ See <t>opening</t> for other ways to open new tabs.
<item>
<tags>:tabo :tabonly</tags>
<spec>:tabo<oa>nly</oa></spec>
<description>
<p>Close all other tabs.</p>
<description short="true">
<p>Close all buffers other than the currently visible tab.</p>
</description>
</item>
@@ -343,8 +363,9 @@ See <t>opening</t> for other ways to open new tabs.
<spec><oa>count</oa>u</spec>
<description>
<p>
Undo closing of a tab. If a count is given, don't undo the last but the
<oa>count</oa>th last closed tab. With <oa>url</oa> restores the tab matching the URL.
Restore a closed tab. If a <oa>count</oa> is given, restore the
<oa>count</oa>th closed tab. With <oa>url</oa>, restores most
recently closed tab with a matching URL.
</p>
</description>
</item>
@@ -353,11 +374,8 @@ See <t>opening</t> for other ways to open new tabs.
<item>
<tags>:undoa :undoall</tags>
<spec>:undoa<oa>ll</oa></spec>
<description>
<p>
Undo closing of all closed tabs. &dactyl.host; stores up to 10 closed tabs, even
after a browser restart.
</p>
<description short="true">
<p>Restore all closed tabs in the closed tabs list.</p>
</description>
</item>
@@ -370,8 +388,9 @@ See <t>opening</t> for other ways to open new tabs.
<spec>:tabd<oa>o</oa> <a>cmd</a></spec>
<description>
<p>
Execute <a>cmd</a> in each tab. <a>cmd</a> is executed in each tab starting with the
first and ending with the last which becomes the current tab.
Execute <a>cmd</a> once in each buffer. Each buffer is focused, in
turn, and <a>cmd</a> is executed therein. The last buffer remains
focused after execution.
</p>
<p>

View File

@@ -6,8 +6,8 @@
<document
name="various"
title="&dactyl.appname; Other"
xmlns="http://vimperator.org/namespaces/liberator"
xmlns:html="http://www.w3.org/1999/xhtml">
xmlns="&xmlns.dactyl;"
xmlns:html="&xmlns.html;">
<h1>Other help</h1>
<toc start="2"/>
@@ -15,11 +15,12 @@
<item>
<tags>:beep</tags>
<strut/>
<spec>:beep</spec>
<description>
<p>
Play a system beep. This should not be used for any purpose other
than testing the visual bell.
than testing the visual bell or annoying your co-workers.
</p>
</description>
</item>
@@ -31,12 +32,13 @@
<description>
<p>
Lists the completion contexts used during the completion of its
arguments. These context names are used in options such as
<o>autocomplete</o> and <o>wildcase</o>. Note that completion must
be triggered in order for this command to be effective, so if
autocompletion is not active, you'll need to press the
<k name="Tab"/> key at least once. You should also be aware that
this command is only useful from the commandline.
arguments. These context names may used to tune the function of
the completion system via options like <o>autocomplete</o> and
<o>wildcase</o>. Note that completion must be triggered in order
for this command to be effective, so if autocompletion is not
active, you'll need to press the <k name="Tab"/> key at least
once. You should also be aware that this command is only useful
from the commandline.
</p>
</description>
</item>
@@ -44,14 +46,14 @@
<item>
<tags>:norm :normal</tags>
<spec>:norm<oa>al</oa><oa>!</oa> <a>commands</a></spec>
<spec>:norm<oa>al</oa><oa>!</oa> <a>keys</a></spec>
<description>
<p>
Execute Normal mode commands <a>commands</a>. This makes it possible to execute
Normal mode commands typed on the command line. <a>commands</a> is executed like it
is typed. If the <oa>!</oa> is given, mappings will not be used. <a>commands</a> should be
a complete command. <a>commands</a> cannot start with a space. Put 1 space before
it, 1 space is one space.
Execute key mappings for <a>keys</a> as if they were typed in
Normal mode. If <oa>!</oa> is provided, only builtin key mappings
are executed. This makes it possible to fake Normal mode key
presses from scripts, key mappings, autocommands, and the command
line.
</p>
</description>
</item>
@@ -59,27 +61,24 @@
<item>
<tags><![CDATA[<C-l> CTRL-L :redr :redraw]]></tags>
<strut/>
<spec>:redr<oa>aw</oa></spec>
<description>
<p>Redraws the screen. Useful to update the screen halfway executing a script or function.</p>
<p>Redraws the screen. Useful for updating the screen during the execution of a script or function.</p>
</description>
</item>
<item>
<tags>:run :! :!cmd</tags>
<strut/>
<spec>:!<a>cmd</a></spec>
<description>
<p>
Run a command. Runs <a>cmd</a> through system() and displays its output. Any '!' in
<a>cmd</a> is replaced with the previous external command, but not when there is a
backslash before the '!', then the backslash is removed.
</p>
<p>
Warning: Input redirection (&lt; foo) not done, also do not run commands which
require stdin or it will hang &dactyl.host;! It is possible to launch background
processes, though (e.g. <ex>:! xterm &amp;</ex>).
Run an extenral command command. Runs <a>cmd</a> through system()
and displays its output. Any ! in <a>cmd</a> is replaced with
the previous external command, so long as it is not preceded by a
backslash and <o>banghist</o> is enabled.
</p>
</description>
</item>
@@ -88,7 +87,7 @@
<item>
<tags>:!!</tags>
<spec>:!!</spec>
<description>
<description short="true">
<p>Repeat last <ex>:!<a>cmd</a></ex>.</p>
</description>
</item>
@@ -99,9 +98,9 @@
<spec>:sil<oa>ent</oa> <a>command</a></spec>
<description>
<p>
Execute a command silently. Normal messages and error messages generated by the
command invocation will not be given and will not be added to the message
history.
Execute a command silently. Normal messages and error messages
generated by the command invocation will not be displayed and will
not be added to the message history.
</p>
</description>
</item>
@@ -112,8 +111,8 @@
<spec>:<oa>count</oa>verb<oa>ose</oa> <a>command</a></spec>
<description>
<p>
Execute a command with <o>verbose</o> set to <oa>count</oa>. If <oa>count</oa> is not specified
then 1 is used as the value.
Execute a command with <o>verbose</o> set to <oa>count</oa>. If
<oa>count</oa> is not specified then 1 is used.
</p>
</description>
</item>
@@ -121,11 +120,12 @@
<item>
<tags>:ve :version</tags>
<strut/>
<spec>:ve<oa>rsion</oa><oa>!</oa></spec>
<description>
<p>
Show version information. You can show the &dactyl.host; version page with
<ex>:version!</ex>.
Print &dactyl.appname; and &dactyl.host; version information. When
<oa>!</oa> is provided, show the &dactyl.host; version page.
</p>
</description>
</item>
@@ -134,19 +134,20 @@
<p>
Part of &dactyl.appname;'s user efficiency comes at the cost of storing a
lot of potentially private data, including command-line history, page
marks, and the like. Because we know that keeping a detailed trail of all
of your activities isn't always welcome, &dactyl.appname; provides
comprehensive facilities for erasing potentially sensitive data.
lot of potentially private data, including <t>command-line</t> history, page
marks, visited page history, and the like. Because we know that keeping a
detailed trail of all of your activities isn't always welcome,
&dactyl.appname; provides comprehensive facilities for erasing potentially
sensitive data.
</p>
<p tag="private-mode porn-mode">
<strut/>
&dactyl.appname; fully supports &dactyl.host;'s private browsing mode.
When in private browsing mode, no other than Bookmarks and QuickMarks are
written to disk. Further, upon exiting private mode, all new data,
including command-line history, local and URL marks, and macros, are
purged. For more information, see <o>private</o>.
When in private browsing mode, no data other than Bookmarks and QuickMarks
are written to disk. Further, upon exiting private mode, all new data,
including <t>command-line</t> history, local and URL marks, and macros,
are purged. For more information, see <o>private</o>.
</p>
<p tag="sanitizing clearing-data">
@@ -157,7 +158,7 @@
&dactyl.host;'s own sanitization facility, and so automatically clears any
domain data and session history when requested. Further, &dactyl.appname;
provides its own more granular sanitization facility, which allows, e.g.,
clearing the command-line and macro history for the past ten minutes.
clearing only the command-line and macro history for the past ten minutes.
</p>
<item>
@@ -242,9 +243,10 @@
<spec>&lt;F1></spec>
<description>
<p>
Open the help page. The default page, as specified by <o>helpfile</o> is shown
unless <oa>subject</oa> is specified. If you need help for a specific topic, try
<ex>:help overview</ex>.
Open a help page for <oa>subject</oa>. If <oa>subject</oa> is
omitted, open the default pate as specified in <o>helpfile</o>.
If you're not sure of the exact topic you need help with, try
<k name="Tab"/> completion or <ex>:help overview</ex>.
</p>
</description>
</item>
@@ -254,7 +256,7 @@
<tags>:helpall :helpa help-all</tags>
<spec>:helpa<oa>ll</oa> <oa>subject</oa></spec>
<description>
<p>Open the single unchunked help page.</p>
<p>Open all help pages coalesced into a single page.</p>
<p>See <ex>:help</ex>.</p>
</description>
@@ -300,22 +302,23 @@
<tags>42</tags>
What is the meaning of life, the universe and everything?
Douglas Adams, the only person who knew what this question really was about is
now dead, unfortunately. So now you might wonder what the meaning of death
is…
<p>
What is the meaning of life, the universe and everything? Douglas Adams,
the only person who knew what this question really was about is now dead,
unfortunately. So now you might wonder what the meaning of death is...
</p>
<h2 tag="uncategorized">Uncategorized help</h2>
<item>
<tags><![CDATA[<C-[> <Esc>]]></tags>
<strut/>
<spec>&lt;Esc></spec>
<description>
<p>
Focus content. Exits Command-line or Hints mode and returns to Normal
mode. Also focuses the web page in case a form field has focus and eats
our key presses.
Exits <t>command-line</t>, Insert, or Hints mode and returns to
Normal mode. Focuses the content web page.
</p>
</description>
</item>
@@ -323,12 +326,13 @@ is…
<item>
<tags><![CDATA[<Insert> i]]></tags>
<strut/>
<spec>i</spec>
<description>
<p>
Start caret mode. This mode resembles the Vim's Normal mode where you see a
text cursor and can move around. If you want to select text in this mode, press
<k>v</k> to start its Visual mode.
Start Caret mode. This mode resembles the Vim's Normal mode where
the text cursor is visible on the web page. The <k>v</k> key
enters visual mode, where text is selected as the cursor moves.
</p>
</description>
</item>