minor corrections and updates to help and tutorial
[conkeror.git] / content / help.html
blob9fc5b819f7876995ae126dada4ae944a28d764c6
1 <!DOCTYPE html
2 PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml">
5 <head>
6 <title>Conkeror User Manual</title>
7 <script type="text/javascript">
8 <!-- <![CDATA[
10 var gPrefService = Components.classes["@mozilla.org/preferences-service;1"]
11 .getService(Components.interfaces.nsIPrefBranch);
13 function set_pref()
15 gPrefService.setCharPref("conkeror.rcfile", document.getElementById("pref").value);
16 window.alert("RC File Set.");
19 function fill_rc_pref_box () {
20 var pref;
22 if (!gPrefService.prefHasUserValue("conkeror.rcfile")) {
23 pref = "";
24 } else {
25 pref = gPrefService.getCharPref("conkeror.rcfile");
28 var el = document.getElementById ("pref");
29 el.value = pref;
32 // ]]> -->
33 </script>
34 </head>
35 <body onload="fill_rc_pref_box()">
36 <h1>Conkeror User Manual</h1>
38 <h2>Introduction</h2>
40 <p>
41 Conkeror is a Mozilla-based web browser whose design is inspired by
42 <a href="http://www.gnu.org/software/emacs">GNU Emacs</a>.
43 </p>
46 <p>
47 You can learn Conkeror's key bindings by <a
48 href="chrome://conkeror/content/tutorial.html">reading the
49 tutorial</a>. The keyboard shortcut to visit the tutorial is
50 <code>Control-h t</code>. That is, first press Control-h, then
51 release those keys, and press t.
52 </p>
55 <h2>Overview of the Keys</h2>
58 <h3>Browsing</h3>
59 <table border="1">
60 <tr>
61 <td><b>key</b></td>
62 <td><b>M-x command</b></td>
63 <td><b>meaning</b></td>
64 </tr>
65 <tr>
66 <td>g</td>
67 <td>find-url</td>
68 <td>open new URL</td>
69 </tr>
70 <tr>
71 <td>B</td>
72 <td>go-back</td>
73 <td>&nbsp;</td>
74 </tr>
75 <tr>
76 <td>F</td>
77 <td>go-forward</td>
78 <td>&nbsp;</td>
79 </tr>
80 <tr>
81 <td>r</td>
82 <td>revert-buffer</td>
83 <td>reload</td>
84 </tr>
85 <tr>
86 <td>C-g</td>
87 <td>abort</td>
88 <td>stop</td>
89 </tr>
90 <tr>
91 <td>C-h i</td>
92 <td>help-page</td>
93 <td>Show this page.</td>
94 </tr>
95 <tr>
96 <td>C-h t</td>
97 <td>tutorial</td>
98 <td>Show the Conkeror tutorial.</td>
99 </tr>
100 </table>
102 <h3>Movement</h3>
103 <table border="1">
104 <tr><td>C-a</td><td>beginning of line</td></tr>
105 <tr><td>C-e</td><td>end of line</td></tr>
106 <tr><td>C-f</td><td>Forward a column</td></tr>
107 <tr><td>C-b</td><td>backward a column</td></tr>
108 <tr><td>C-n</td><td>Forward a line</td></tr>
109 <tr><td>C-p</td><td>backward a line</td></tr>
110 <tr><td>C-v</td><td>Page down</td></tr>
111 <tr><td>M-v</td><td>Page up</td></tr>
112 <tr><td>M-&lt;</td><td>Beginning of document</td></tr>
113 <tr><td>M-&gt;</td><td>End of document</td></tr>
114 <tr><td>C-s</td><td>Open i-search forward</td></tr>
115 <tr><td>C-r</td><td>Open i-search backward</td></tr>
116 </table>
118 <h3>I-Search</h3>
119 <table border="1">
120 <tr><td>C-s</td><td>search forward</td></tr>
121 <tr><td>C-r</td><td>search backward</td></tr>
122 <tr><td>C-g</td><td>quit i-search (jump back to where i-search started)</td></tr>
123 <tr><td>backspace</td><td>undo search</td></tr>
124 <tr><td>any modifier plus a key, enter or tab</td><td>close i-search</td></tr>
125 </table>
128 <h3>Web Jump</h3>
129 <p> In firefox this is the bookmark keyword feature. You type the
130 keyword into the location followed by some text your browser jumps to
131 the bookmark with the %s in the bookmark's URL substituted for this
132 text.</p>
134 <p>Conkeror also has this feature, but it's seperate from
135 bookmarks. Here are the built in web jumps:</p>
137 <table border="1">
138 <tr><td>google</td><td>Search with google</td></tr>
139 <tr><td>image</td><td>Search google images</td></tr>
140 <tr><td>wikipedia</td><td>Search wikipedia.org</td></tr>
141 <tr><td>slang</td><td>Search urbandictionary.com</td></tr>
142 <tr><td>dictionary</td><td>Search dictionary.reference.com</td></tr>
143 <tr><td>scholar</td><td>search google scholar</td></tr>
144 <tr><td>clusty</td><td>search the internet with clusty</td></tr>
145 <tr><td>xulplanet</td><td>search xulplanet.com</td></tr>
146 <tr><td>bugzilla</td><td>search the mozilla bug database</td></tr>
147 <tr><td>clhs</td><td>search the Common Lisp Hyper Spec</td></tr>
148 <tr><td>emacswiki</td><td>search the emacswiki</td></tr>
149 <tr><td>cliki</td><td>search the Common Lisp wiki</td></tr>
150 <tr><td>ratpoisonwiki</td><td>search the ratpoison wiki</td></tr>
151 <tr><td>stumpwmwiki</td><td>search the StumpWM wiki</td></tr>
152 <tr><td>savannah</td><td>search savannah.gnu.org</td></tr>
153 <tr><td>sourceforge</td><td>search sourceforge.net</td></tr>
154 <tr><td>freshmeat</td><td>search freshmeat.net</td></tr>
155 <tr><td>slashdot</td><td>search slashdot.com</td></tr>
156 <tr><td>kuro5hin</td><td>search kuro5hin.com</td></tr>
157 <tr><td>sheldonbrown</td><td>Search sheldonbrown.com</td></tr>
158 </table>
161 delicious webjumps can be added by putting the following in your rc file:
162 </p>
164 <pre>
165 add_delicious_webjumps ("myusername");
166 </pre>
169 this will create the following webjumps:
170 </p>
172 <table border="1">
173 <tr><td>adelicious</td><td>Add a delicious bookmark.</td></tr>
174 <tr><td>delicious</td><td>View your delicious bookmarks</td></tr>
175 <tr><td>sdelicious</td><td>Search your delicious bookmarks</td></tr>
176 <tr><td>sadelicious</td><td>Search all delicious bookmarks</td></tr>
177 </table>
180 <h3>Buffer Management</h3>
181 <table border="1">
182 <tr><td>C-u g</td><td>Open an URL in a new buffer</td></tr>
183 <tr><td>C-x b</td><td>Select a buffer based on it's name.</td></tr>
184 <tr><td>M-p</td><td>previous buffer</td></tr>
185 <tr><td>M-n</td><td>Next bufer</td></tr>
186 <tr><td>C-x k</td><td>kill buffer</td></tr>
187 <tr><td>C-x 5 C-f, C-u C-u g</td><td>Open an URL in a new frame</td></tr>
188 <tr><td>C-x 5 0</td><td>Close the current frame (all buffers in the
189 frame are lost, at this point)</td></tr>
190 <tr><td>C-x C-c</td><td>Quit conkeror</td></tr>
191 </table>
194 <h2>Conkeror RC File</h2>
196 If you want to add a key binding, a new command, or some other
197 customization then you need to create your rc file. The rc file is
198 just a javascript file that will get evaluated on startup. Conkeror
199 checks the "conkeror.rcfile" preference and if it exists, loads it
200 and evaluates it. Use the following form to set your rc file. You'll
201 have to restart conkeror to load the rc file. Here's an example
202 value. It's what I use:
203 </p>
204 <pre>
205 /home/sabetts/.conkerorrc
206 </pre>
208 It must be an absolute path and must be a file.
209 </p>
211 <form action="get">
213 <input id="pref" value="" />
214 <input type="button" value="Set RC File" onclick="set_pref();" />
215 </p>
216 </form>
218 <p>Here are three common customizations:</p>
219 <ul>
220 <li>To add a new web jump:
221 <pre>
222 add_webjump("keyword", "url");
223 </pre></li>
224 <li>To add a new command:
225 <pre>
226 add_command("command-name", function_name, []);
227 </pre>
228 The 3rd argument is much like the interactive function in
229 emacs. Currently only "p" and "P" work. See bindings.js in the source
230 code for examples of how it works.
231 </li>
233 <li>To add a new key binding:
234 <pre>
235 define_key(ctrlx_kmap, kbd("c", MOD_META), "command-name");
236 </pre>
237 This binds C-x M-c to execute "command-name". Take a look at
238 bindings.js for the builtin keymaps and key bindings.
239 </li>
240 </ul>
242 <h2>Universal Argument</h2>
245 Conkeror support the universal argument, C-u. It's a prefix binding
246 that changes how a command behaves. In Conkeror, C-u has two main
247 effects. The first effect is that the command will be executed
248 multiple times. For example, typing the following:
249 </p>
250 <pre>
251 C-u C-n
252 </pre>
254 will cause conkeror to scroll down 4 lines.
255 </p>
256 <pre>
257 C-u 12 C-n
258 </pre>
260 will cause conkeror to scroll down 12 lines.
261 </p>
264 The second effect is to open in a new buffer or a new window.
265 </p>
266 <pre>
267 C-u g conkeror.mozdev.org RET
268 </pre>
270 This opens the conkeror project web page in a new buffer.
271 </p>
272 <pre>
273 C-u C-u n 12 RET
274 </pre>
276 This opens link number 12 in a new window.
277 </p>
280 There are some commands where the effect is ambiguous. Does
281 <code>C-u B</code> go back four pages in the history or does it go
282 back one and open the result in a new buffer? I am working on adding
283 a second universal argument that would allow you to do both.
284 </p>
286 <h2>toggle-eod-space</h2>
289 <code>toggle-eod-space</code> is a slightly ugly hack that should
290 help you read articles more smoothly. Imagine you're reading an
291 article. You start reading the beginning. Your eyes get to the
292 bottom of the screen, so you press Space to page down. You continue
293 until near the end of the article. You press Space to read the last
294 part and your browser only scrolls down part of a page, leaving
295 where you left off somwhere in the middle of the screen and not at
296 the top where you expected it. You spend the next couple seconds
297 searching for where you left off. <code>toggle-eod-space</code> adds
298 1 page of blank space to the end of the web page, so your last page
299 down is a full one. Note, <code>toggle-eod-space</code> turns the
300 feature on (or off) but the space won't be added to (or removed
301 from) the current page. It affects the subsequently loaded pages.
302 </p>
304 <h2>Ad Blocking</h2>
306 Conkeror can block images, scripts, etc originating from servers
307 that match one of conkeror's adblock patterns. To add a pattern use
308 <code>M-x adblock-add-pattern</code>. The pattern is a regular
309 expression.
310 </p>
313 <h2>Conkeror Resources</h2>
314 <ul>
315 <li><a href="http://conkeror.mozdev.org">Conkeror homepage</a></li>
316 </ul>
318 </body>
319 </html>