minibuffer-completion.js: Fix default get_value for prefix_completer and all_words_co...
[conkeror.git] / content / help.html
blob7cd5f30c5df582cc69679863bcd7d73d8397d5ec
1 <!DOCTYPE html
2 PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4 <!--
5 (C) Copyright 2004-2006 Shawn Betts
6 (C) Copyright 2007-2008 John J. Foerch
8 Use, modification, and distribution are subject to the terms specified in the
9 COPYING file.
10 -->
12 <html xmlns="http://www.w3.org/1999/xhtml">
13 <head>
14 <title>Conkeror User Manual</title>
15 <script type="text/javascript">
16 <!-- <![CDATA[
18 var gPrefService = Components.classes["@mozilla.org/preferences-service;1"]
19 .getService(Components.interfaces.nsIPrefBranch);
21 function set_pref()
23 var val = document.getElementById("pref").value;
24 if (val == '') {
25 if (gPrefService.prefHasUserValue ("conkeror.rcfile")) {
26 gPrefService.clearUserPref("conkeror.rcfile");
28 window.alert("preference `conkeror.rcfile' cleared.")
29 } else {
30 gPrefService.setCharPref("conkeror.rcfile", val);
31 window.alert("preference `conkeror.rcfile' Set.");
35 function fill_rc_pref_box () {
36 var pref;
38 if (!gPrefService.prefHasUserValue("conkeror.rcfile")) {
39 pref = "";
40 } else {
41 pref = gPrefService.getCharPref("conkeror.rcfile");
44 var el = document.getElementById ("pref");
45 el.value = pref;
48 // ]]> -->
49 </script>
50 </head>
51 <body onload="fill_rc_pref_box()">
52 <h1>Conkeror User Manual</h1>
54 <h2>Introduction</h2>
56 <p>
57 Conkeror is a Mozilla-based web browser whose design is inspired by
58 <a href="http://www.gnu.org/software/emacs">GNU Emacs</a>.
59 </p>
62 <p>
63 You can learn Conkeror's key bindings by <a
64 href="chrome://conkeror/content/tutorial.html">reading the
65 tutorial</a>. The keyboard shortcut to visit the tutorial is
66 <code>Control-h t</code>. That is, first press Control-h, then
67 release those keys, and press t.
68 </p>
71 <h2>Overview of the Keys</h2>
74 <h3>Browsing</h3>
75 <table border="1">
76 <tr>
77 <td><b>key</b></td>
78 <td><b>M-x command</b></td>
79 <td><b>meaning</b></td>
80 </tr>
81 <tr>
82 <td>g</td>
83 <td>find-url</td>
84 <td>open new URL</td>
85 </tr>
86 <tr>
87 <td>B</td>
88 <td>go-back</td>
89 <td>&nbsp;</td>
90 </tr>
91 <tr>
92 <td>F</td>
93 <td>go-forward</td>
94 <td>&nbsp;</td>
95 </tr>
96 <tr>
97 <td>r</td>
98 <td>revert-buffer</td>
99 <td>reload</td>
100 </tr>
101 <tr>
102 <td>C-g</td>
103 <td>abort</td>
104 <td>stop</td>
105 </tr>
106 <tr>
107 <td>C-h i</td>
108 <td>help-page</td>
109 <td>Show this page.</td>
110 </tr>
111 <tr>
112 <td>C-h t</td>
113 <td>tutorial</td>
114 <td>Show the Conkeror tutorial.</td>
115 </tr>
116 </table>
118 <h3>Movement</h3>
119 <table border="1">
120 <tr><td>C-a</td><td>beginning of line</td></tr>
121 <tr><td>C-e</td><td>end of line</td></tr>
122 <tr><td>C-f</td><td>Forward a column</td></tr>
123 <tr><td>C-b</td><td>backward a column</td></tr>
124 <tr><td>C-n</td><td>Forward a line</td></tr>
125 <tr><td>C-p</td><td>backward a line</td></tr>
126 <tr><td>C-v</td><td>Page down</td></tr>
127 <tr><td>M-v</td><td>Page up</td></tr>
128 <tr><td>M-&lt;</td><td>Beginning of document</td></tr>
129 <tr><td>M-&gt;</td><td>End of document</td></tr>
130 <tr><td>C-s</td><td>Open i-search forward</td></tr>
131 <tr><td>C-r</td><td>Open i-search backward</td></tr>
132 </table>
134 <h3>I-Search</h3>
135 <table border="1">
136 <tr><td>C-s</td><td>search forward</td></tr>
137 <tr><td>C-r</td><td>search backward</td></tr>
138 <tr><td>C-g</td><td>quit i-search (jump back to where i-search started)</td></tr>
139 <tr><td>backspace</td><td>undo search</td></tr>
140 <tr><td>any modifier plus a key, enter or tab</td><td>close i-search</td></tr>
141 </table>
144 <h3>Web Jump</h3>
145 <p> In firefox this is the bookmark keyword feature. You type the
146 keyword into the location followed by some text your browser jumps to
147 the bookmark with the %s in the bookmark's URL substituted for this
148 text.</p>
150 <p>Conkeror also has this feature, but it's seperate from
151 bookmarks. Here are the built in web jumps:</p>
153 <table border="1">
154 <tr><td>google</td><td>Search with google</td></tr>
155 <tr><td>image</td><td>Search google images</td></tr>
156 <tr><td>wikipedia</td><td>Search wikipedia.org</td></tr>
157 <tr><td>slang</td><td>Search urbandictionary.com</td></tr>
158 <tr><td>dictionary</td><td>Search dictionary.reference.com</td></tr>
159 <tr><td>scholar</td><td>search google scholar</td></tr>
160 <tr><td>clusty</td><td>search the internet with clusty</td></tr>
161 <tr><td>xulplanet</td><td>search xulplanet.com</td></tr>
162 <tr><td>bugzilla</td><td>search the mozilla bug database</td></tr>
163 <tr><td>clhs</td><td>search the Common Lisp Hyper Spec</td></tr>
164 <tr><td>emacswiki</td><td>search the emacswiki</td></tr>
165 <tr><td>cliki</td><td>search the Common Lisp wiki</td></tr>
166 <tr><td>ratpoisonwiki</td><td>search the ratpoison wiki</td></tr>
167 <tr><td>stumpwmwiki</td><td>search the StumpWM wiki</td></tr>
168 <tr><td>savannah</td><td>search savannah.gnu.org</td></tr>
169 <tr><td>sourceforge</td><td>search sourceforge.net</td></tr>
170 <tr><td>freshmeat</td><td>search freshmeat.net</td></tr>
171 <tr><td>slashdot</td><td>search slashdot.com</td></tr>
172 <tr><td>kuro5hin</td><td>search kuro5hin.com</td></tr>
173 <tr><td>sheldonbrown</td><td>Search sheldonbrown.com</td></tr>
174 </table>
177 delicious webjumps can be added by putting the following in your rc file:
178 </p>
180 <pre>
181 add_delicious_webjumps ("myusername");
182 </pre>
185 this will create the following webjumps:
186 </p>
188 <table border="1">
189 <tr><td>adelicious</td><td>Add a delicious bookmark.</td></tr>
190 <tr><td>delicious</td><td>View your delicious bookmarks</td></tr>
191 <tr><td>sdelicious</td><td>Search your delicious bookmarks</td></tr>
192 <tr><td>sadelicious</td><td>Search all delicious bookmarks</td></tr>
193 </table>
196 <h3>Buffer Management</h3>
197 <table border="1">
198 <tr><td>C-u g</td><td>Open an URL in a new buffer</td></tr>
199 <tr><td>C-x b</td><td>Select a buffer based on it's name.</td></tr>
200 <tr><td>M-p</td><td>previous buffer</td></tr>
201 <tr><td>M-n</td><td>Next bufer</td></tr>
202 <tr><td>C-x k</td><td>kill buffer</td></tr>
203 <tr><td>C-x 5 C-f, C-u C-u g</td><td>Open an URL in a new frame</td></tr>
204 <tr><td>C-x 5 0</td><td>Close the current frame (all buffers in the
205 frame are lost, at this point)</td></tr>
206 <tr><td>C-x C-c</td><td>Quit conkeror</td></tr>
207 </table>
210 <h2>Conkeror RC File</h2>
212 You can customize Conkeror by creating an rc script or set of
213 scripts, and using the form below to set the preference
214 `conkeror.rcfile' to the path of your script. It can be set to the
215 path of a single file or a directory. When conkeror.rcfile is a
216 directory, all files with an extension of `.js' will be loaded from
217 that directory (non-recursive). These scripts are plain javascript
218 files. Conkeror loads them during startup into application scope
219 (as opposed to loading them for each window).
220 </p>
223 Note, if you set conkeror.rcfile to a file, the path must be
224 absolute. Conkeror will not expand ~ to your home directory. This
225 is a current limitation, and we hope to fix it soon.
226 </p>
228 <form action="get">
230 <input id="pref" value="" />
231 <input type="button" value="Set RC File" onclick="set_pref();" />
232 </p>
233 </form>
235 <p>Here are three common customizations:</p>
236 <ul>
237 <li>To add a new web jump:
238 <pre>
239 add_webjump("keyword", "url");
240 </pre></li>
241 <li>To add a new command:
242 <pre>
243 add_command("command-name", function_name, []);
244 </pre>
245 The 3rd argument is much like the interactive function in
246 emacs. Currently only "p" and "P" work. See bindings.js in the source
247 code for examples of how it works.
248 </li>
250 <li>To add a new key binding:
251 <pre>
252 define_key(ctrlx_kmap, kbd("c", MOD_META), "command-name");
253 </pre>
254 This binds C-x M-c to execute "command-name". Take a look at
255 bindings.js for the builtin keymaps and key bindings.
256 </li>
257 </ul>
259 <h2>Universal Argument</h2>
262 Conkeror support the universal argument, C-u. It's a prefix binding
263 that changes how a command behaves. In Conkeror, C-u has two main
264 effects. The first effect is that the command will be executed
265 multiple times. For example, typing the following:
266 </p>
267 <pre>
268 C-u C-n
269 </pre>
271 will cause conkeror to scroll down 4 lines.
272 </p>
273 <pre>
274 C-u 12 C-n
275 </pre>
277 will cause conkeror to scroll down 12 lines.
278 </p>
281 The second effect is to open in a new buffer or a new window.
282 </p>
283 <pre>
284 C-u g conkeror.mozdev.org RET
285 </pre>
287 This opens the conkeror project web page in a new buffer.
288 </p>
289 <pre>
290 C-u C-u n 12 RET
291 </pre>
293 This opens link number 12 in a new window.
294 </p>
297 There are some commands where the effect is ambiguous. Does
298 <code>C-u B</code> go back four pages in the history or does it go
299 back one and open the result in a new buffer? I am working on adding
300 a second universal argument that would allow you to do both.
301 </p>
303 <h2>toggle-eod-space</h2>
306 <code>toggle-eod-space</code> is a slightly ugly hack that should
307 help you read articles more smoothly. Imagine you're reading an
308 article. You start reading the beginning. Your eyes get to the
309 bottom of the screen, so you press Space to page down. You continue
310 until near the end of the article. You press Space to read the last
311 part and your browser only scrolls down part of a page, leaving
312 where you left off somwhere in the middle of the screen and not at
313 the top where you expected it. You spend the next couple seconds
314 searching for where you left off. <code>toggle-eod-space</code> adds
315 1 page of blank space to the end of the web page, so your last page
316 down is a full one. Note, <code>toggle-eod-space</code> turns the
317 feature on (or off) but the space won't be added to (or removed
318 from) the current page. It affects the subsequently loaded pages.
319 </p>
321 <h2>Ad Blocking</h2>
323 Conkeror can block images, scripts, etc originating from servers
324 that match one of conkeror's adblock patterns. To add a pattern use
325 <code>M-x adblock-add-pattern</code>. The pattern is a regular
326 expression.
327 </p>
330 <h2>Conkeror Resources</h2>
331 <ul>
332 <li><a href="http://conkeror.mozdev.org">Conkeror homepage</a></li>
333 </ul>
335 </body>
336 </html>