aboutsummaryrefslogblamecommitdiffstats
path: root/doc/MANUAL.html
blob: aff01898b83c4c300e3fd13ac3fce24a36a8d991 (plain) (tree)
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535








































































































                                                                                  

























                                                                                       
                                       


















































































































































































































































































































































































































                                                                                                                                   
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head><title>w3m manual</title>
</head>
<body>
<h1>w3m MANUAL</h1>
<div align=right>
Akinori Ito<br>
aito@fw.ipsj.or.jp 
</div>
<h2>Index</h2>
<menu>
<li><a href="#Introduction">Introduction</a>
<li><a href="#Options">Options</a>
<li><a href="#Color">Document color</a>
<li><a href="#Key:orig">Key binding</a>
<li><a href="#Key:lynx">Lynx-like key binding</a>
<li><a href="#Mouse">Mouse operation</a>
<li><a href="#Key:custom">Key customization</a>
<li><a href="#LocalCGI">Local CGI</a>
</menu>

<hr>
<a name="Introduction"></a>
<h2>Introduction</h2>
w3m is a pager/text-based WWW browser. You can browse local documents and/or 
documents on the WWW using a terminal emulator.

<hr>
<a name="Options"></a>
<h2>Options</h2>

Command line usage is
<p>
<pre>
    w3m [options] [file|URL]
</pre>
<P>
If you specify filenames/URLs on command line, these documents are displayed. 
If you specify nothing, w3m reads a document from standard input and display it.
If no filename and/or URLs are specified and standard input is tty, w3m terminates
without displaying anything.

<p>
Options are as follows:
<dl>
<dt>+&lt;line number&gt;
<dd>Move to the specified line.
<dt>-t width
<dd>Specify tab width. Default is 8.
<dt>-r
<dd>When displaying text/plain document, prohibit emphasis using backspace.
If you don't specify this option, 
``A^H_'' is interpreted as underlined character and ``A^HA'' as a bold character.
<dt>-l number
<dd>Specify line number preserved internally when reading text/plain document
fron standard input. Default is 10000.
<dt>-s
<dd>Display documents with Shift_JIS code.
<dt>-e
<dd>Display documents with EUC_JP code.
<dt>-j
<dd>Display documents with ISO-2022-JP code.
<dt>-T type
<dd>Specify document type. Without this option, document type
is determined from extension of a file. If the determination
fails, the document is regarded as text/plain.
<p>
Example:<br>
Read HTML document from standard input and display it
<pre>
   cat hoge.html | w3m -T text/html
</pre>
<p>
Display HTML source
<pre>
   w3m -T text/plain hoge.html
</pre>
<dt>-m
<dd>Display document with Internet message mode.
With this option, w3m determines document type from header information.
It is useful when reading E-mail or NetNews messages.
<dt>-v
<dd>visual startup mode.
<dt>-B
<dd>Show the bookmark.
<dt>-bookmark file
<dd>Specify bookmark file.
<dt>-M
<dd>Monochrome display mode.
<dt>-F
<dd>Automatically render frame.
<dt>-S
<dd>Squeeze blank lines.
<dt>-X
<dd>Upon exit, do not display preserved screen.
<dt>-W
<dd>Toggle wrap search mode.
<dt>-o option=value
<dd>Specify option. The option names and values are
same as that appears in ~/.w3m/config.
<dt>-cookie
<dd>Process cookies.
<dt>-no-cookie
<dd>Don't process cookies.
<dt>-num
<dd>Show linenumber.
<dt>-dump
<dd>Read document specified by URL and dump formatted text into standard
output. The width of the document become 80. This width can be overridden
with -cols option.
<dt>-cols width
<dd>Specify document width. Used with -dump option.
<dt>-ppc count
<dd> Specify the number of pixels per character (default 8.0). Larger
 values will make tables narrower.
<dt>-dump_source
<dd>Read document specified by URL and dump the source.
<dt>-dump_head
<dd>Read document specified by URL and dump headers.
<dt>-dump_both
<dd>Read document specified by URL and dump headers and the source.
<dt>-dump_extra
<dd>Read document specified by URL and dump extra informations, headers and the source.
<dt>-post file
<dd>use POST method with file content.
<dt>-header string
<dd>insert string as a header.
<dt>-no-proxy
<dd>Don't use proxy server.
<dt>-no-graph
<dd>Use ASCII character to draw frames.
<dt>-no-mouse
<dd>Don't activate mouse.
<dt>-config file
<dd>specify config file.
</dl>

<hr>
<a name="Color"></a>
<h2>Document color</h2>

Links and images are displayed as follows.
<div align="center">
<table border="1">
<tr><th>&nbsp;</th><th>Color mode</th><th>Monochrome mode</th></tr>
<tr><td>links</td><td>blue</td><td>underline</td></tr>
<tr><td>inline images</td><td>green</td><td>reverse</td></tr>
<tr><td>form input</td><td>red</td><td>reverse</td></tr>
</table>
</div>
These colors can be customized using option setting command "o".

<hr>
<a name="Key:orig"></a>
<h2>Key binding</h2>

After invocation, you can operate w3m by one-character commands from
the keyboard.
<P>
Here's the original key-binding table. If you are using Lynx-like key
bindings, see <a href="#Key:lynx">the Lynx-like key binding</a>.

<H3>Page/Cursor motion</H3>
<table>
<TR><TD WIDTH=100>SPC,C-v<TD>Forward page
<TR><TD>b,ESC v<TD>Backward page
<TR><TD>l,C-f<TD>Cursor right
<TR><TD>h,C-b<TD>Cursor left
<TR><TD>j,C-n<TD>Cursor down
<TR><TD>k,C-p<TD>Cursor up
<TR><TD>J<TD>Roll up one line
<TR><TD>K<TD>Roll down one line
<TR><TD>^,C-a<TD>Go to the beginning of line
<TR><TD>$,C-e<TD>Go to the end of line
<TR><TD>w<TD>Go to next word
<TR><TD>W<TD>Go to previous word
<TR><TD>&gt;<TD>Shift screen right
<TR><TD>&lt;<TD>Shift screen left
<TR><TD>.<TD>Shift screen one column right
<TR><TD>,<TD>Shift screen one column left
<TR><TD>g,M-&lt;<TD>Go to the first line
<TR><TD>G,M-&gt;<TD>Go to the last line
<TR><TD>ESC g<TD>Go to specified line
<TR><TD>Z<TD>Move to the center line
<TR><TD>z<TD>Move to the center column
<TR><TD>TAB<TD>Move to next hyperlink
<TR><TD>C-u,ESC TAB<TD>Move to previous hyperlink
<TR><TD>[<TD>Move to the first hyperlink
<TR><TD>]<TD>Move to the last hyperlink
</table>

<H3>Hyperlink operation</H3>
<table>
<TR><TD WIDTH=100>RET<TD>Follow hyperlink
<TR><TD>a, ESC RET<TD>Save link to file
<TR><TD>u<TD>Peek link URL
<TR><TD>i<TD>Peek image URL
<TR><TD>I<TD>View inline image
<TR><TD>ESC I<TD>Save inline image to file
<TR><TD>:<TD>Mark URL-like strings as anchors
<TR><TD>ESC :<TD>Mark Message-ID-like strings as news anchors
<TR><TD>c<TD>Peek current URL
<TR><TD>=<TD>Display information about current document
<TR><TD>C-g<TD>Show current line number
<TR><TD>C-h<TD>View history of URL
<TR><TD>F<TD>Render frame
<TR><TD>M<TD>Browse current document using external browser
(use 2M and 3M to invoke second and third browser)
<TR><TD>ESC M<TD>Browse link using external browser
(use 2ESC M and 3ESC M to invoke second and third browser)
</table>

<H3>File/Stream operation</H3>
<table>
<TR><TD WIDTH=100>U<TD>Open URL
<TR><TD>V<TD>View new file
<TR><TD>@<TD>Execute shell command and load
<TR><TD>#<TD>Execute shell command and browse
</table>

<H3>Buffer operation</H3>
<table>
<TR><TD WIDTH=100>B<TD>Back to the previous buffer
<TR><TD>v<TD>View HTML source
<TR><TD>s<TD>Select buffer
<TR><TD>E<TD>Edit buffer source
<TR><TD>C-l<TD>Redraw screen
<TR><TD>R<TD>Reload buffer
<TR><TD>S<TD>Save buffer
<TR><TD>ESC s<TD>Save source
<TR><TD>ESC e<TD>Edit buffer image
</table>

<H3>Buffer selection mode</H3>
<table>
<TR><TD WIDTH=100>k, C-p<TD>Select previous buffer
<TR><TD>j, C-n<TD>Select next buffer
<TR><TD>D<TD>Delect current buffer
<TR><TD>RET<TD>Go to the selected buffer
</table>

<H3>Bookmark operation</H3>
<table>
<TR><TD WIDTH=100>ESC b<TD>Load bookmark
<TR><TD>ESC a<TD>Add current to bookmark
</table>

<H3>Search</H3>
<table>
<TR><TD WIDTH=100>/,C-s<TD>Search forward
<TR><TD>?,C-r<TD>Search backward
<TR><TD>n<TD>Search next
<TR><TD>N<TD>Search previous
<TR><TD>C-w<TD>Toggle wrap search mode
</table>

<H3>Mark operation</H3>
<table>
<TR><TD WIDTH=100>C-SPC<TD>Set/unset mark
<TR><TD>ESC p<TD>Go to previous mark
<TR><TD>ESC n<TD>Go to next mark
<TR><TD>"<TD>Mark by regular expression
</table>

<H3>Miscellany</H3>
<table>
<TR><TD WIDTH=100>!<TD>Execute shell command
<TR><TD>H<TD>Help (load this file)
<TR><TD>o<TD>Set option
<TR><TD>C-k<TD>Show cookie jar
<TR><TD>C-c<TD>Stop
<TR><TD>C-z<TD>Suspend
<TR><TD>q<TD>Quit (with confirmation, if you like)
<TR><TD>Q<TD>Quit without confirmation
</table>

<H3>Line-edit mode</H3>
<table>
<TR><TD WIDTH=100>C-f<TD>Move cursor forward
<TR><TD>C-b<TD>Move cursor backward
<TR><TD>C-h<TD>Delete previous character
<TR><TD>C-d<TD>Delete current character
<TR><TD>C-k<TD>Kill everything after cursor
<TR><TD>C-u<TD>Kill everything before cursor
<TR><TD>C-a<TD>Move to the top of line
<TR><TD>C-e<TD>Move to the bottom of line
<TR><TD>C-p<TD>Fetch the previous string from the history list
<TR><TD>C-n<TD>Fetch the next string from the history list
<TR><TD>TAB,SPC<TD>Complete filename
<TR><TD>RETURN<TD>Accept
</table>

<hr>
<a name="Key:lynx"></a>
<h2>Lynx-like key binding</h2>

If you have chosen `Lynx-like key binding' at the compile time,
you can use the following key binding.

<H3>Page/Cursor motion</H3>
<table>
<TR><TD WIDTH=100>SPC,C-v,+<TD>Forward page
<TR><TD>b,ESC v,-<TD>Previous page
<TR><TD>l<TD>Cursor right
<TR><TD>h<TD>Cursor left
<TR><TD>j<TD>Cursor down
<TR><TD>k<TD>Cursor up
<TR><TD>J<TD>Roll up one line
<TR><TD>K<TD>Roll down one line
<TR><TD>^<TD>Go to the beginning of line
<TR><TD>$<TD>Go to the end of line
<TR><TD>&gt;<TD>Shift screen right
<TR><TD>&lt;<TD>Shift screen left
<TR><TD>C-a<TD>Go to the first line
<TR><TD>C-e<TD>Go to the last line
<TR><TD>G<TD>Go to the specified line
<TR><TD>Z<TD>Move to the center line
<TR><TD>z<TD>Move to the center column
<TR><TD>TAB,C-n,Down arrow<TD>Move to next hyperlink
<TR><TD>ESC TAB,C-p,Up arrow<TD>Move to previous link
<TR><TD>C-g<TD>Show current page position
</table>


<H2>Hyperlink operation</H2>
<table>
<TR><TD WIDTH=100>RET, C-f, Right arrow<TD>Follow hyperlink
<TR><TD>d, ESC RET<TD>Save link to file
<TR><TD>u<TD>Peek link URL
<TR><TD>i<TD>Peek image URL
<TR><TD>I<TD>View inline image
<TR><TD>ESC I<TD>Save inline image to file
<TR><TD>:<TD>Mark URL-like strings as anchors
<TR><TD>ESC :<TD>Mark Message-ID-like strings as news anchors
<TR><TD>c<TD>Peek current URL
<TR><TD>=<TD>Display information about current document
<TR><TD>C-h<TD>View history of URL
<TR><TD>F<TD>Render frame
<TR><TD>M<TD>Browse current document using external browser
(use 2M and 3M to invoke second and third browser)
<TR><TD>ESC M<TD>Browse link using external browser
(use 2ESC M and 3ESC M to invoke second and third browser)
</table>

<H2>File/Stream operation</H2>
<table>
<TR><TD WIDTH=100>g,U<TD>Open URL
<TR><TD>V<TD>View new file
<TR><TD>@<TD>Execute shell command and load
<TR><TD>#<TD>Execute shell command and browse
</table>

<H2>Buffer operation</H2>
<table>
<TR><TD WIDTH=100>B, C-b, Left arrow<TD>Back to the previous buffer
<TR><TD>\<TD>View HTML source
<TR><TD>s, C-h<TD>Select buffer
<TR><TD>E<TD>Edit buffer source
<TR><TD>C-l, C-w<TD>Redraw screen
<TR><TD>R, C-r<TD>Reload buffer
<TR><TD>S, p<TD>Save buffer
<TR><TD>ESC s<TD>Save source
<TR><TD>ESC e<TD>Edit buffer image
</table>

<H2>Buffer selection mode</H2>
<table>
<TR><TD WIDTH=100>k, C-p<TD>Select previous buffer
<TR><TD>j, C-n<TD>Select next buffer
<TR><TD>D<TD>Delect current buffer
<TR><TD>RET<TD>Go to the selected buffer
</table>

<H2>Bookmark operation</H2>
<table>
<TR><TD WIDTH=100>v, ESC b<TD>Load bookmark
<TR><TD>a, ESC a<TD>Add current to bookmark
</table>

<H2>Search</H2>
<table>
<TR><TD WIDTH=100>/, C-s<TD>Search forward
<TR><TD>n<TD>Search next
<TR><TD>w<TD>Toggle wrap search mode
</table>

<H2>Mark operation</H2>
<table>
<TR><TD WIDTH=100>C-SPC<TD>Set/unset mark
<TR><TD>P<TD>Go to previous mark
<TR><TD>N<TD>Go to next mark
<TR><TD>"<TD>Mark by regular expression
</table>

<H2>Miscellany</H2>
<table>
<TR><TD WIDTH=100>!<TD>Execute shell command
<TR><TD>H, ?<TD>Help (load this file)
<TR><TD>o<TD>Set option
<TR><TD>C-k<TD>Show cookie jar
<TR><TD>C-c<TD>Stop
<TR><TD>C-z<TD>Suspend
<TR><TD>q<TD>Quit (with confirmation, if you like)
<TR><TD>Q<TD>Quit without confirmation
</table>

<H2>Line-edit mode</H2>
<table>
<TR><TD WIDTH=100>C-f<TD>Move cursor forward
<TR><TD>C-b<TD>Move cursor backward
<TR><TD>C-h<TD>Delete previous character
<TR><TD>C-d<TD>Delete current character
<TR><TD>C-k<TD>Kill everything after cursor
<TR><TD>C-u<TD>Kill everything before cursor
<TR><TD>C-a<TD>Move to the top of line
<TR><TD>C-e<TD>Move to the bottom of line
<TR><TD>C-p<TD>Fetch the previous string from the history list
<TR><TD>C-n<TD>Fetch the next string from the history list
<TR><TD>TAB,SPC<TD>Complete filename
<TR><TD>RETURN<TD>Accept
</table>

<hr>
<a name="Mouse"></a>
<h2>Mouse operation</h2>
If w3m is compiled with mouse option and you are using
xterm/kterm/rxvt (in this case, you have to set the TERM
environment variable to `xterm' or `kterm'.) or GPM 
environment, you can use mouse
for the navigation. 
<p>
<table border=0>
<tr><td>left click
<td>Move the cursor to the place pointed by the mouse cursor.
If you click the cursor and it is on an anchor, follow the anchor.
<tr><td>middle click
<td>Back to the previous buffer.
<tr><td>right click
<td>Open pop-up menu. You can choose an item by clicking it.
<tr><td>left drag
<td>Scroll document. The default behavior is to grab the document
and drag it. You can reverse the behavior (grab the window and drag it)
with the option setting panel.
</table>
<p>


<hr>
<a name="Key:custom"></a>
<h2>Key customization</h2>
You can customize the key binding (except line-editing keymap)
by describing ~/.w3m/keymap. For example,
<pre>

   keymap C-o NEXT_PAGE

</pre>
binds `NEXT_PAGE' function (normally bound to SPC and C-v)
to control-o. See <a href="README.func">README.func</a> for
list of available functions. Original and Lynx-like keymap
definitions are provided (<a href="keymap.default">keymap.default</a>
and <a href="keymap.lynx">keymap.lynx</a>) as examples.

<hr>
<a name="LocalCGI"></a>
<h2>Local CGI</h2>
You can run CGI scripts using w3m, without any HTTP server.
It means that w3m behaves like an HTTP server and activates CGI script,
then w3m reads the output of the script and display it. The 
<a href="file:///$LIB/w3mbookmark?mode=panel&bmark=~/.w3m/bookmark.html&url=MANUAL.html&title=w3m+manual">bookmark registration</a>
and <a href="file:///$LIB/w3mhelperpanel?mode=panel">helper-app editor</a>
are realized as local CGI scripts.
Using local CGI, w3m can be used as a general purpose form interface.
<P>
For security reason, CGI scripts invoked by w3m must be in one of
these directories.
<ul>
<li>The directory where w3m-related files are stored 
(typically /usr/local/lib/w3m). This directory can be referred
as $LIB.
<li>/cgi-bin/ directory. You can map /cgi-bin/ to any directory you like
with option setting panel (``Directory corresponds to /cgi-bin'' field).
You can specify multiple paths separated by `:', like
/usr/local/cgi-bin:/home/aito/cgi-bin. To use /cgi-bin/ directory,
you must use file:/cgi-bin URL as follows:
<pre>
 w3m -o cgi_bin=/path/to/cgi-bin file:/cgi-bin/script.cgi
</pre>
It is not recommended to include current directory to this path.
</ul>
<p>
The CGI script can use special header `w3m-control:' to control w3m.
This field can take any function (see <a href="README.func">README.func</a>),
and the specified function is invoked after the document is displayed.
For example, The CGI output
<pre>

Content-Type: text/plain
W3m-control: BACK

</pre>
will display blank page and delete that buffer immediately.
This is useful when you don't want to display any page after
the script is invoked. The next example
<pre>

Content-Type: text/plain
W3m-control: DELETE_PREVBUF

contents.....
</pre>
will override the current buffer.
<p>
One w3m-control: header have to contain only one function, but you can
include more than one w3m-control: lines in the HTTP header.
In addition, you can specify an argument to GOTO function:
<pre>

Content-Type: text/plain
W3m-control: GOTO http://www.yahoo.com/

</pre>
This example works exactly the same way to the Location header: 
<pre>

Content-Type: text/plain
Location: http://www.yahoo.com/

</pre>
Note that this header has no effect when the CGI script is invoked
through HTTP server.

</body>
</html>