<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="dactyl://content/help.xsl"?>

<!DOCTYPE document SYSTEM "dactyl://content/dtd">

<document
    name="browsing"
    title="&dactyl.appName; Browsing"
    xmlns="&xmlns.dactyl;"
    xmlns:html="&xmlns.html;">

<h1 tag="surfing browsing">Browsing</h1>
<toc start="2"/>

<h2 tag="opening">Opening web pages</h2>

<item>
    <tags>o :o :open</tags>
    <spec>:o<oa>pen</oa> <oa>args</oa></spec>
    <spec>o</spec>
    <description>
        <p>
            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>
                A local filename, if it begins with <em>/</em>,
                <em>./</em>, or <em>~/</em> and the specified file
                exists.
            </li>
            <li>
                <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>
                <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>
               Any other value is passed directly to &dactyl.host; and
               must be a valid URL or hostname.
           </li>
        </ol>

        <p>
            <ex>:open</ex> provides powerful URL completion from
            several possible sources, which can be adjusted via the
            <o>complete</o> option.
        </p>
    </description>
</item>

<item>
    <tags>t :t :tabopen :tabnew</tags>
    <spec>:tabopen<oa>!</oa> <oa>args</oa></spec>
    <spec>t</spec>
    <description>
        <p>
            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>

<item>
    <tags>O</tags>
    <spec>O</spec>
    <description short="true">
        <p>
            Open an <ex>:open</ex> prompt followed by the current URL.
        </p>
    </description>
</item>

<item>
    <tags>T</tags>
    <spec>T</spec>
    <description short="true">
        <p>
            Open a <ex>:tabopen</ex> prompt followed by the current URL.
        </p>
    </description>
</item>

<item>
    <tags>s</tags>
    <spec>s</spec>
    <description short="true">
        <p>Open a search prompt.</p>
    </description>
</item>

<item>
    <tags>S</tags>
    <spec>S</spec>
    <description short="true">
        <p>Open a search prompt for a new tab.</p>
    </description>
</item>

<item>
    <tags>:tabdu :tabduplicate</tags>
    <spec>:<oa>count</oa>tabdu<oa>plicate</oa><oa>!</oa></spec>
    <description>
        <p>
            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>

<item>
    <tags>w :winopen :wopen</tags>
    <spec>:wino<oa>pen</oa><oa>!</oa> <oa>args</oa></spec>
    <spec>w</spec>
    <description>
        <p>
            Like <ex>:tabopen</ex>, but all arguments are opened in
            a single new window.
        </p>
        <p>
            When called via <ex>:private</ex>, the new window is a
            private browsing window.
        </p>
    </description>
</item>

<item>
    <tags>W</tags>
    <spec>W</spec>
    <description short="true">
        <p>
            Open a <ex>:winopen</ex> prompt followed by the current URL.
        </p>
    </description>
</item>

<item>
    <tags><![CDATA[<open-clipboard-url> <MiddleMouse> p]]></tags>
    <strut/>
    <spec>p</spec>
    <description>
        <p>
            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>

<item>
    <tags>&lt;tab-open-clipboard-url> 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. The new tab is activated if <o>activate</o>
            contains <str>paste</str>.
        </p>
    </description>
</item>

<item>
    <tags>gP</tags>
    <strut/>
    <spec>gP</spec>
    <description>
        <p>
            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>

<item>
    <tags><![CDATA[<decrement-url-path> <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 trailing numbers in URLs are often preceded
            by hyphens.
        </p>
    </description>
</item>

<item>
    <tags><![CDATA[<increment-url-path> <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>
    </description>
</item>

<h2 tag="history">History</h2>

<item>
    <tags><![CDATA[<C-o>]]></tags>
    <strut/>
    <spec><oa>count</oa><![CDATA[<C-o>]]></spec>
    <description>
        <p>
            Go to an older position in the jump list.
            If <oa>count</oa> is specified, jump <oa>count</oa> positions backward.
        </p>
    </description>
</item>

<item>
    <tags><![CDATA[<C-i>]]></tags>
    <strut/>
    <spec><oa>count</oa><![CDATA[<C-i>]]></spec>
    <description>
        <p>
            Go to a newer position in the jump list.
            If <oa>count</oa> is specified, jump <oa>count</oa> positions forward.
        </p>
    </description>
</item>

<item>
    <tags>:ju :jumps</tags>
    <strut/>
    <spec>:ju<oa>mps</oa></spec>
    <description>
        <p>
            Display the jump list.
            The jump numbers shown are suitable as arguments to <k name="C-o"/>
            or <k name="C-i"/>.
        </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>
    </description>
</item>

<item>
    <tags><![CDATA[<M-Right> <A-Right> L]]></tags>
    <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> pages.
        </p>
    </description>
</item>

<item>
    <tags>:ba :back</tags>
    <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.
        </p>
        <p>
            The special version <ex>:back!</ex> goes to the beginning of the browser history.
        </p>
    </description>
</item>

<item>
    <tags>:fw :fo :forward</tags>
    <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> pages.
        </p>
        <p>
            The special version <ex>:forward!</ex> goes to the end of the browser history.
        </p>
    </description>
</item>

<item>
    <tags><![CDATA[[d]]></tags>
    <spec><oa>count</oa>[d</spec>
    <description>
        <p>
            Go to the <oa>count</oa>th previous domain in the history stack.
        </p>
    </description>
</item>

<item>
    <tags><![CDATA[]d]]></tags>
    <spec><oa>count</oa>]d</spec>
    <description>
        <p>
            Go to the <oa>count</oa>th next domain in the history stack.
        </p>
    </description>
</item>

<item>
    <tags>:hs :hist :history</tags>
    <spec>:hist<oa>ory</oa><oa>!</oa> <oa>filter</oa></spec>
    <description>
        <p>
            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 that it opens all matching
            pages in new tabs rather than listing them.
        </p>

        <p>The pages may also be filtered via the following options,</p>

        <dl dt="width: 8em;">
            <dt>-max</dt>
            <dd>
                The maximum number of items to list or open
                (short name <em>-m</em>).
            </dd>
            <dt>-sort</dt>
            <dd>
                The sort order of the results
                (short name <em>-s</em>).
            </dd>
        </dl>
    </description>
</item>

<h2 tag="navigating">Navigating</h2>

<item>
    <tags><![CDATA[<open-home-directory> ~]]></tags>
    <spec>~</spec>
    <description short="true">
        <p>Open home directory. Equivalent to <ex>:open ~/</ex></p>
    </description>
</item>

<item>
    <tags><![CDATA[<open-homepage> gh]]></tags>
    <spec>gh</spec>
    <description short="true">
        <p>Go home. Opens the homepage in the current tab.</p>
    </description>
</item>

<item>
    <tags><![CDATA[<tab-open-homepage> gH]]></tags>
    <strut/>
    <spec>gH</spec>
    <description>
        <p>
            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>

<item>
    <tags><![CDATA[<open-parent-path> gu]]></tags>
    <spec><oa>count</oa>gu</spec>
    <description short="true">
        <p>Go to <oa>count</oa>th parent directory.</p>

        <p>
            For example, at the URL
            <tt>http://www.example.com/dir1/dir2/file.htm</tt>,
            2<k>gu</k> opens <tt>http://www.example.com/dir1/</tt>.
        </p>
    </description>
</item>

<item>
    <tags><![CDATA[<open-root-path> gU]]></tags>
    <spec>gU</spec>
    <description short="true">
        <p>Go to the root of the web site.</p>

        <p>
            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>

<h2 tag="reloading">Reloading</h2>

<item>
    <tags>&lt;reload> r</tags>
    <spec>r</spec>
    <description short="true">
        <p>Reload the current web page.</p>
    </description>
</item>

<item>
    <tags>&lt;full-reload> R</tags>
    <spec>R</spec>
    <description short="true">
        <p>Reload the current web page without using the cache.</p>
    </description>
</item>

<item>
    <tags>:re :reload</tags>
    <spec>:re<oa>load</oa><oa>!</oa></spec>
    <description>
        <p>
            Reload current web page. If <oa>!</oa> is given, reload
            without using the cache.
        </p>
    </description>
</item>

<item>
    <tags>:reloada :reloadall</tags>
    <spec>:reloada<oa>ll</oa><oa>!</oa></spec>
    <description>
        <p>
            Reload all tabs. If <oa>!</oa> is given, reload without
            using the cache.
        </p>
    </description>
</item>

<h2 tag="stopping">Stopping</h2>

<item>
    <tags><![CDATA[<stop-load> <C-c> :st :stop]]></tags>
    <spec>&lt;C-c></spec>
    <strut/>
    <spec>:st<oa>op</oa></spec>
    <description short="true">
        <p>Stop loading the current web page.</p>
    </description>
</item>

<item>
    <tags>:stopa :stopall</tags>
    <spec>:stopa<oa>ll</oa></spec>
    <description short="true">
        <p>Stop loading all web pages.</p>
    </description>
</item>

<h2 tag="writing save-file">Writing</h2>

<item>
    <tags>:w :write :sav :saveas</tags>
    <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. If <oa>file</oa> is a directory or ends
            with your platform's path separator, save to the page's default
            filename in that directory. Existing documents will only be
            overwritten if <oa>!</oa> is given.
        </p>
    </description>
</item>

<item>
    <spec>:write >> <a>file</a></spec>
    <description>
        <p>
            Appends the current web page to the file <a>file</a>. The given
            file must already exist.
        </p>
    </description>
</item>

<item>
    <spec>:write !<a>cmd</a></spec>
    <description>
        <p>
            Writes the current web page to <a>cmd</a> and prints the command's
            output.
        </p>
    </description>
</item>

<h2 tag="quitting save-session">Quitting</h2>

<item>
    <tags>ZQ :x :exit</tags>
    <strut/>
    <spec>:exit<oa>!</oa></spec>
    <description>
        <p>
            Quit &dactyl.appName;, no matter how many tabs/windows are open.
            The session is not stored. Use <oa>!</oa> to forcibly quit.
        </p>
    </description>
</item>

<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.
        </p>
    </description>
</item>

<item>
    <tags>:qa :qall :quita :quitall</tags>
    <strut/>
    <spec>:quita<oa>ll</oa></spec>
    <description>
        <p>
            Close the current &dactyl.appName; window, no matter how
            many tabs are open.
        </p>
    </description>
</item>

<item>
    <tags>:wc :wclose :winc :winclose</tags>
    <spec>:winc<oa>lose</oa></spec>
    <description short="true">
        <p>Close the current window.</p>
    </description>
</item>

<item>
    <tags>:winon :winonly</tags>
    <spec>:winon<oa>ly</oa></spec>
    <description short="true">
        <p>Close all windows but the current.</p>
    </description>
</item>

<item>
    <tags>ZZ :xa :xall :wq :wqa :wqall</tags>
    <spec>:wqa<oa>ll</oa></spec>
    <strut/>
    <spec>:xa<oa>ll</oa></spec>
    <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>

<h2 tag="current-directory">The current directory</h2>

<item>
    <tags>:chd :chdir :cd</tags>
    <strut/>
    <spec>:cd <oa>path</oa></spec>
    <description>
        <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>

<item>
    <tags>:pw :pwd</tags>
    <spec>:pw<oa>d</oa></spec>
    <description short="true">
        <p>Print the current directory name.</p>
    </description>
</item>

</document>

<!-- vim:se sts=4 sw=4 et: -->
