Mercurial > vim
comparison runtime/doc/syntax.txt @ 3713:9910cbff5f16
Updated runtime files.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Wed, 25 Jul 2012 17:49:10 +0200 |
parents | 11d40fc82f11 |
children | c53344bacabf |
comparison
equal
deleted
inserted
replaced
3712:a0b8a8a9867d | 3713:9910cbff5f16 |
---|---|
1 *syntax.txt* For Vim version 7.3. Last change: 2012 Jun 13 | 1 *syntax.txt* For Vim version 7.3. Last change: 2012 Jul 16 |
2 | 2 |
3 | 3 |
4 VIM REFERENCE MANUAL by Bram Moolenaar | 4 VIM REFERENCE MANUAL by Bram Moolenaar |
5 | 5 |
6 | 6 |
378 2HTML *2html.vim* *convert-to-HTML* | 378 2HTML *2html.vim* *convert-to-HTML* |
379 | 379 |
380 This is not a syntax file itself, but a script that converts the current | 380 This is not a syntax file itself, but a script that converts the current |
381 window into HTML. Vim opens a new window in which it builds the HTML file. | 381 window into HTML. Vim opens a new window in which it builds the HTML file. |
382 | 382 |
383 After you save the resulting file, you can view it with any browser. The | |
384 colors should be exactly the same as you see them in Vim. | |
385 | |
383 You are not supposed to set the 'filetype' or 'syntax' option to "2html"! | 386 You are not supposed to set the 'filetype' or 'syntax' option to "2html"! |
384 Source the script to convert the current file: > | 387 Source the script to convert the current file: > |
385 | 388 |
386 :runtime! syntax/2html.vim | 389 :runtime! syntax/2html.vim |
387 < | 390 < |
388 *:TOhtml* | 391 Many variables affect the output of 2html.vim; see below. Any of the on/off |
389 Or use the ":TOhtml" user command. It is defined in a standard plugin. | 392 options listed below can be enabled or disabled by setting them explicitly to |
390 ":TOhtml" also works with a range and in a Visual area: > | 393 the desired value, or restored to their default by removing the variable using |
391 | 394 |:unlet|. |
392 :10,40TOhtml | 395 |
393 | 396 Remarks: |
394 Warning: This can be slow! The script must process every character of every | 397 - Some truly ancient browsers may not show the background colors. |
395 line. Because it can take a long time, by default a progress bar is displayed | 398 - From most browsers you can also print the file (in color)! |
396 in the statusline for each major step in the conversion process. If you don't | 399 - The latest TOhtml may actually work with older versions of Vim, but some |
397 like seeing this progress bar, you can disable it and get a very minor speed | 400 features such as conceal support will not function, and the colors may be |
398 improvement with: > | 401 incorrect for an old Vim without GUI support compiled in. |
399 | 402 |
400 let g:html_no_progress = 1 | 403 Here is an example how to run the script over all .c and .h files from a |
401 | 404 Unix shell: > |
402 ":TOhtml" has another special feature: if the window is in diff mode, it will | 405 for f in *.[ch]; do gvim -f +"syn on" +"run! syntax/2html.vim" +"wq" +"q" $f; done |
403 generate HTML that shows all the related windows. This can be disabled by | 406 < |
404 setting the g:html_diff_one_file variable: > | 407 *g:html_start_line* *g:html_end_line* |
405 | |
406 let g:html_diff_one_file = 1 | |
407 | |
408 After you save the resulting file, you can view it with any browser. The | |
409 colors should be exactly the same as you see them in Vim. | |
410 | |
411 To restrict the conversion to a range of lines, use a range with the |:TOhtml| | 408 To restrict the conversion to a range of lines, use a range with the |:TOhtml| |
412 command, or set "g:html_start_line" and "g:html_end_line" to the first and | 409 command below, or set "g:html_start_line" and "g:html_end_line" to the first |
413 last line to be converted. Example, using the last set Visual area: > | 410 and last line to be converted. Example, using the last set Visual area: > |
414 | 411 |
415 :let g:html_start_line = line("'<") | 412 :let g:html_start_line = line("'<") |
416 :let g:html_end_line = line("'>") | 413 :let g:html_end_line = line("'>") |
417 | 414 :runtime! syntax/2html.vim |
418 The lines are numbered according to 'number' option and the Number | 415 < |
419 highlighting. You can force lines to be numbered in the HTML output by | 416 *:TOhtml* |
420 setting "html_number_lines" to non-zero value: > | 417 :[range]TOhtml The ":TOhtml" command is defined in a standard plugin. |
418 This command will source |2html.vim| for you. When a | |
419 range is given, set |g:html_start_line| and | |
420 |g:html_end_line| to the start and end of the range, | |
421 respectively. Default range is the entire buffer. | |
422 | |
423 If the current window is part of a |diff|, unless | |
424 |g:html_diff_one_file| is set, :TOhtml will convert | |
425 all windows which are part of the diff in the current | |
426 tab and place them side-by-side in a <table> element | |
427 in the generated HTML. | |
428 | |
429 Examples: > | |
430 | |
431 :10,40TOhtml " convert lines 10-40 to html | |
432 :'<,'>TOhtml " convert current/last visual selection | |
433 :TOhtml " convert entire buffer | |
434 < | |
435 *g:html_diff_one_file* | |
436 Default: 0. | |
437 When 0, all windows involved in a |diff| in the current tab page are converted | |
438 to HTML and placed side-by-side in a <table> element. | |
439 When 1, only the current buffer is converted. | |
440 Example: > | |
441 | |
442 let g:html_diff_one_file = 1 | |
443 < | |
444 *g:html_whole_filler* | |
445 Default: 0. | |
446 When 0, if |g:html_diff_one_file| is 1, a sequence of more than 3 filler lines | |
447 is displayed as three lines with the middle line mentioning the total number | |
448 of inserted lines. | |
449 When 1, always display all inserted lines as if |g:html_diff_one_file| were | |
450 not set. | |
451 > | |
452 :let g:html_whole_filler = 1 | |
453 < | |
454 *TOhtml-performance* *g:html_no_progress* | |
455 Default: 0. | |
456 When 0, display a progress bar in the statusline for each major step in the | |
457 2html.vim conversion process. | |
458 When 1, do not display the progress bar. This offers a minor speed improvement | |
459 but you won't have any idea how much longer the conversion might take; for big | |
460 files it can take a long time! | |
461 Example: > | |
462 | |
463 let g:html_no_progress = 1 | |
464 < | |
465 You can obtain better performance improvements by also instructing Vim to not | |
466 run interactively, so that too much time is not taken to redraw as the script | |
467 moves through the buffer, switches windows, and the like: > | |
468 | |
469 vim -E -s -c "let g:html_no_progress=1" -c "syntax on" -c "set ft=c" -c "runtime syntax/2html.vim" -cwqa myfile.c | |
470 < | |
471 Note that the -s flag prevents loading your .vimrc and any plugins, so you | |
472 need to explicitly source/enable anything that will affect the HTML | |
473 conversion. See |-E| and |-s-ex| for details. It is probably best to create a | |
474 script to replace all the -c commands and use it with the -u flag instead of | |
475 specifying each command separately. | |
476 | |
477 *g:html_number_lines* | |
478 Default: current 'number' setting. | |
479 When 0, buffer text is displayed in the generated HTML without line numbering. | |
480 When 1, a column of line numbers is added to the generated HTML with the same | |
481 highlighting as the line number column in Vim (|hl-LineNr|). | |
482 Force line numbers even if 'number' is not set: > | |
421 :let g:html_number_lines = 1 | 483 :let g:html_number_lines = 1 |
422 Force to omit the line numbers by using a zero value: > | 484 Force to omit the line numbers: > |
423 :let g:html_number_lines = 0 | 485 :let g:html_number_lines = 0 |
424 Go back to the default to use 'number' by deleting the variable: > | 486 Go back to the default to use 'number' by deleting the variable: > |
425 :unlet g:html_number_lines | 487 :unlet g:html_number_lines |
426 | 488 < |
427 By default, valid HTML 4.01 using cascading style sheets (CSS1) is generated. | 489 *g:html_use_css* |
428 If you need to generate markup for really old browsers or some other user | 490 Default: 1. |
429 agent that lacks basic CSS support, use: > | 491 When 1, generate valid HTML 4.01 markup with CSS1 styling, supported in all |
492 modern browsers and most old browsers. | |
493 When 0, generate <font> tags and similar outdated markup. This is not | |
494 recommended but it may work better in really old browsers, email clients, | |
495 forum posts, and similar situations where basic CSS support is unavailable. | |
496 Example: > | |
430 :let g:html_use_css = 0 | 497 :let g:html_use_css = 0 |
431 | 498 < |
432 Concealed text is removed from the HTML and replaced with the appropriate | 499 *g:html_ignore_conceal* |
433 character from |:syn-cchar| or 'listchars' depending on the current value of | 500 Default: 0. |
434 'conceallevel'. If you always want to display all text in your document, | 501 When 0, concealed text is removed from the HTML and replaced with a character |
435 either set 'conceallevel' to zero before invoking 2html, or use: > | 502 from |:syn-cchar| or 'listchars' as appropriate, depending on the current |
503 value of 'conceallevel'. | |
504 When 1, include all text from the buffer in the generated HTML, even if it is | |
505 |conceal|ed. | |
506 | |
507 Either of the following commands will ensure that all text in the buffer is | |
508 included in the generated HTML (unless it is folded): > | |
436 :let g:html_ignore_conceal = 1 | 509 :let g:html_ignore_conceal = 1 |
437 | 510 :setl conceallevel=0 |
438 Similarly, closed folds are put in the HTML as they are displayed. If you | 511 < |
439 don't want this, use the |zR| command before invoking 2html, or use: > | 512 *g:html_ignore_folding* |
513 Default: 0. | |
514 When 0, text in a closed fold is replaced by the text shown for the fold in | |
515 Vim (|fold-foldtext|). See |g:html_dynamic_folds| if you also want to allow | |
516 the user to expand the fold as in Vim to see the text inside. | |
517 When 1, include all text from the buffer in the generated HTML; whether the | |
518 text is in a fold has no impact at all. |g:html_dynamic_folds| has no effect. | |
519 | |
520 Either of these commands will ensure that all text in the buffer is included | |
521 in the generated HTML (unless it is concealed): > | |
522 zR | |
440 :let g:html_ignore_folding = 1 | 523 :let g:html_ignore_folding = 1 |
441 | 524 < |
442 You may want to generate HTML that includes all the data within the folds, and | 525 *g:html_dynamic_folds* |
443 allow the user to view the folded data similar to how they would in Vim. To | 526 Default: 0. |
444 generate this dynamic fold information, use: > | 527 When 0, text in a closed fold is not included at all in the generated HTML. |
528 When 1, generate javascript to open a fold and show the text within, just like | |
529 in Vim. | |
530 | |
531 Setting this variable to 1 causes 2html.vim to always use CSS for styling, | |
532 regardless of what |g:html_use_css| is set to. | |
533 | |
534 This variable is ignored when |g:html_ignore_folding| is set. | |
535 > | |
445 :let g:html_dynamic_folds = 1 | 536 :let g:html_dynamic_folds = 1 |
446 | 537 < |
447 Using html_dynamic_folds will imply html_use_css, because it would be far too | 538 *g:html_no_foldcolumn* |
448 difficult to do it for old browsers. However, html_ignore_folding overrides | 539 Default: 0. |
449 html_dynamic_folds. | 540 When 0, if |g:html_dynamic_folds| is 1, generate a column of text similar to |
450 | 541 Vim's foldcolumn (|fold-foldcolumn|) the user can click on to toggle folds |
451 Using html_dynamic_folds will default to generating a foldcolumn in the html | 542 open or closed. The minimum width of the generated text column is the current |
452 similar to Vim's foldcolumn, that will use javascript to open and close the | 543 'foldcolumn' setting. |
453 folds in the HTML document. The width of this foldcolumn starts at the current | 544 When 1, do not generate this column; instead, hovering the mouse cursor over |
454 setting of |'foldcolumn'| but grows to fit the greatest foldlevel in your | 545 folded text will open the fold as if |g:html_hover_unfold| were set. |
455 document. If you do not want to show a foldcolumn at all, use: > | 546 > |
456 :let g:html_no_foldcolumn = 1 | 547 :let g:html_no_foldcolumn = 1 |
457 | 548 < |
458 Using this option, there will be no foldcolumn available to open the folds in | 549 *TOhtml-uncopyable-text* *g:html_prevent_copy* |
459 the HTML. For this reason, another option is provided: html_hover_unfold. | 550 Default: empty string. |
460 Enabling this option will use CSS 2.0 to allow a user to open a fold by | 551 This option prevents certain regions of the generated HTML from being copied, |
461 hovering the mouse pointer over it. Note that old browsers (notably Internet | 552 when you select all text in document rendered in a browser and copy it. Useful |
462 Explorer 6) will not support this feature. Browser-specific markup for IE6 is | 553 for allowing users to copy-paste only the source text even if a fold column or |
463 included to fall back to the normal CSS1 code so that the folds show up | 554 line numbers are shown in the generated content. Specify regions to be |
464 correctly for this browser, but they will not be openable without a | 555 affected in this way as follows: |
465 foldcolumn. Note that using html_hover_unfold will allow modern browsers with | 556 f: fold column |
466 disabled javascript to view closed folds. To use this option, use: > | 557 n: line numbers (also within fold text) |
558 t: fold text | |
559 d: diff filler | |
560 | |
561 Example, to make the fold column and line numbers uncopyable: > | |
562 :let g:html_prevent_copy = "fn" | |
563 < | |
564 This feature is currently implemented by inserting read-only <input> elements | |
565 into the markup to contain the uncopyable areas. This does not work well in | |
566 all cases. When pasting to some applications which understand HTML, the | |
567 <input> elements also get pasted. But plain-text paste destinations should | |
568 always work. | |
569 | |
570 *g:html_no_invalid* | |
571 Default: 0. | |
572 When 0, if |g:html_prevent_copy| is non-empty, an invalid attribute is | |
573 intentionally inserted into the <input> element for the uncopyable areas. This | |
574 increases the number of applications you can paste to without also pasting the | |
575 <input> elements. Specifically, Microsoft Word will not paste the <input> | |
576 elements if they contain this invalid attribute. | |
577 When 1, no invalid markup is ever intentionally inserted, and the generated | |
578 page should validate. However, be careful pasting into Microsoft Word when | |
579 |g:html_prevent_copy| is non-empty; it can be hard to get rid of the <input> | |
580 elements which get pasted. | |
581 | |
582 *g:html_hover_unfold* | |
583 Default: 0. | |
584 When 0, the only way to open a fold generated by 2html.vim with | |
585 |g:html_dynamic_folds| set, is to click on the generated fold column. | |
586 When 1, use CSS 2.0 to allow the user to open a fold by moving the mouse | |
587 cursor over the displayed fold text. This is useful to allow users with | |
588 disabled javascript to view the folded text. | |
589 | |
590 Note that old browsers (notably Internet Explorer 6) will not support this | |
591 feature. Browser-specific markup for IE6 is included to fall back to the | |
592 normal CSS1 styling so that the folds show up correctly for this browser, but | |
593 they will not be openable without a foldcolumn. | |
594 > | |
467 :let g:html_hover_unfold = 1 | 595 :let g:html_hover_unfold = 1 |
468 | 596 < |
469 Setting html_no_foldcolumn with html_dynamic_folds will automatically set | 597 *TOhtml-wrap-text* *g:html_pre_wrap* |
470 html_hover_unfold, because otherwise the folds wouldn't be dynamic. | 598 Default: current 'wrap' setting. |
471 | 599 When 0, if |g:html_no_pre| is 0 or unset, the text in the generated HTML does |
472 By default "<pre>" and "</pre>" are used around the text. When 'wrap' is set | 600 not wrap at the edge of the browser window. |
473 in the window being converted, the CSS 2.0 "white-space:pre-wrap" value is | 601 When 1, if |g:html_use_css| is 1, the CSS 2.0 "white-space:pre-wrap" value is |
474 used to wrap the text. You can explicitly enable the wrapping with: > | 602 used, causing the text to wrap at whitespace at the edge of the browser |
603 window. | |
604 Explicitly enable text wrapping: > | |
475 :let g:html_pre_wrap = 1 | 605 :let g:html_pre_wrap = 1 |
476 or disable with > | 606 Explicitly disable wrapping: > |
477 :let g:html_pre_wrap = 0 | 607 :let g:html_pre_wrap = 0 |
478 This generates HTML that looks very close to the Vim window, but unfortunately | 608 Go back to default, determine wrapping from 'wrap' setting: > |
479 there can be minor differences such as the lack of a 'showbreak' option in in | 609 :unlet g:html_pre_wrap |
480 the HTML, or where line breaks can occur. | 610 < |
481 | 611 *g:html_no_pre* |
482 Another way to obtain text wrapping in the HTML, at the risk of making some | 612 Default: 0. |
483 things look even more different, is to use: > | 613 When 0, buffer text in the generated HTML is surrounded by <pre>...</pre> |
614 tags. Series of whitespace is shown as in Vim without special markup, and tab | |
615 characters can be included literally (see |g:html_expand_tabs|). | |
616 When 1 (not recommended), the <pre> tags are omitted, and a plain <div> is | |
617 used instead. Whitespace is replaced by a series of character | |
618 references, and <br> is used to end each line. This is another way to allow | |
619 text in the generated HTML is wrap (see |g:html_pre_wrap|) which also works in | |
620 old browsers, but may cause noticeable differences between Vim's display and | |
621 the rendered page generated by 2html.vim. | |
622 > | |
484 :let g:html_no_pre = 1 | 623 :let g:html_no_pre = 1 |
485 This will use <br> at the end of each line and use " " for repeated | 624 < |
486 spaces. Doing it this way is more compatible with old browsers, but modern | 625 *g:html_expand_tabs* |
487 browsers support the "white-space" method. | 626 Default: 1 if 'tabstop' is 8, 'expandtab' is 0, and no fold column or line |
488 | 627 numbers occur in the generated HTML; |
489 If you do stick with the default "<pre>" tags, <Tab> characters in the text | 628 0 otherwise. |
490 are included in the generated output if they will have no effect on the | 629 When 0, <Tab> characters in the buffer text are replaced with an appropriate |
491 appearance of the text and it looks like they are in the document | 630 number of space characters, or references if |g:html_no_pre| is 1. |
492 intentionally. This allows for the HTML output to be copied and pasted from a | 631 When 1, if |g:html_no_pre| is 0 or unset, <Tab> characters in the buffer text |
493 browser without losing the actual whitespace used in the document. | 632 are included as-is in the generated HTML. This is useful for when you want to |
494 | 633 allow copy and paste from a browser without losing the actual whitespace in |
495 Specifically, <Tab> characters will be included if the 'tabstop' option is set | 634 the source document. Note that this can easily break text alignment and |
496 to the default of 8, 'expandtab' is not set, and if neither the foldcolumn nor | 635 indentation in the HTML, unless set by default. |
497 the line numbers are included in the HTML output (see options above). When any | 636 |
498 of these conditions are not met, any <Tab> characters in the text are expanded | 637 Force |2html.vim| to keep <Tab> characters: > |
499 to the appropriate number of spaces in the HTML output. | |
500 | |
501 When "<pre>" is included, you can force |:TOhtml| to keep the tabs even if the | |
502 other conditions are not met with: > | |
503 :let g:html_expand_tabs = 0 | 638 :let g:html_expand_tabs = 0 |
504 Note that this can easily break text alignment and indentation in the HTML. | 639 < |
505 | 640 Force tabs to be expanded: > |
506 Force tabs to be expanded even when they would be kept using: > | |
507 :let g:html_expand_tabs = 1 | 641 :let g:html_expand_tabs = 1 |
508 | 642 < |
509 For diff mode on a single file (with g:html_diff_one_file) a sequence of more | 643 *TOhtml-encoding-detect* *TOhtml-encoding* |
510 than 3 filler lines is displayed as three lines with the middle line | 644 It is highly recommended to set your desired encoding with |
511 mentioning the total number of inserted lines. If you prefer to see all the | 645 |g:html_use_encoding| for any content which will be placed on a web server. |
512 inserted lines as with the side-by-side diff, use: > | 646 |
513 :let g:html_whole_filler = 1 | 647 If you do not specify an encoding, |2html.vim| uses the preferred IANA name |
514 And to go back to displaying up to three lines again: > | 648 for the current value of 'fileencoding' if set, or 'encoding' if not. |
515 :unlet g:html_whole_filler | 649 'encoding' is always used for certain 'buftype' values. 'fileencoding' will be |
516 | 650 set to match the chosen document encoding. |
517 For most buffers, TOhtml uses the current value of 'fileencoding' if set, or | 651 |
518 'encoding' if not, to determine the charset and 'fileencoding' of the HTML | 652 Automatic detection works for the encodings mentioned specifically by name in |
519 file. 'encoding' is always used for certain 'buftype' values. In general, this | 653 |encoding-names|, but TOhtml will only automatically use those encodings with |
520 works for the encodings mentioned specifically by name in |encoding-names|, | 654 wide browser support. However, you can override this to support specific |
521 but TOhtml will only automatically use those encodings which are widely | 655 encodings that may not be automatically detected by default (see options |
522 supported. However, you can override this to support specific encodings that | 656 below). See http://www.iana.org/assignments/character-sets for the IANA names. |
523 may not be automatically detected by default. | 657 |
524 | 658 Note, by default all Unicode encodings are converted to UTF-8 with no BOM in |
659 the generated HTML, as recommended by W3C: | |
660 | |
661 http://www.w3.org/International/questions/qa-choosing-encodings | |
662 http://www.w3.org/International/questions/qa-byte-order-mark | |
663 | |
664 *g:html_use_encoding* | |
665 Default: none, uses IANA name for current 'fileencoding' as above. | |
525 To overrule all automatic charset detection, set g:html_use_encoding to the | 666 To overrule all automatic charset detection, set g:html_use_encoding to the |
526 name of the charset to be used. TOhtml will try to determine the appropriate | 667 name of the charset to be used. It is recommended to set this variable to |
527 'fileencoding' setting from the charset, but you may need to set it manually | 668 something widely supported, like UTF-8, for anything you will be hosting on a |
528 if TOhtml cannot determine the encoding. It is recommended to set this | 669 webserver: > |
529 variable to something widely supported, like UTF-8, for anything you will be | |
530 hosting on a webserver: > | |
531 :let g:html_use_encoding = "UTF-8" | 670 :let g:html_use_encoding = "UTF-8" |
532 You can also use this option to omit the line that specifies the charset | 671 You can also use this option to omit the line that specifies the charset |
533 entirely, by setting g:html_use_encoding to an empty string: > | 672 entirely, by setting g:html_use_encoding to an empty string (NOT recommended): > |
534 :let g:html_use_encoding = "" | 673 :let g:html_use_encoding = "" |
535 To go back to the automatic mechanism, delete the g:html_use_encoding | 674 To go back to the automatic mechanism, delete the |g:html_use_encoding| |
536 variable: > | 675 variable: > |
537 :unlet g:html_use_encoding | 676 :unlet g:html_use_encoding |
538 | 677 < |
539 If you specify a charset with g:html_use_encoding for which TOhtml cannot | 678 *g:html_encoding_override* |
540 automatically detect the corresponding 'fileencoding' setting, you can use | 679 Default: none, autoload/tohtml.vim contains default conversions for encodings |
541 g:html_encoding_override to allow TOhtml to detect the correct encoding. | 680 mentioned by name at |encoding-names|. |
681 This option allows |2html.vim| to detect the correct 'fileencoding' when you | |
682 specify an encoding with |g:html_use_encoding| which is not in the default | |
683 list of conversions. | |
684 | |
542 This is a dictionary of charset-encoding pairs that will replace existing | 685 This is a dictionary of charset-encoding pairs that will replace existing |
543 pairs automatically detected by TOhtml, or supplement with new pairs. For | 686 pairs automatically detected by TOhtml, or supplement with new pairs. |
544 example, to allow TOhtml to detect the HTML charset "windows-1252" properly as | 687 |
545 the encoding "8bit-cp1252", use: > | 688 Detect the HTML charset "windows-1252" as the encoding "8bit-cp1252": > |
546 :let g:html_encoding_override = {'windows-1252': '8bit-cp1252'} | 689 :let g:html_encoding_override = {'windows-1252': '8bit-cp1252'} |
547 < | 690 < |
548 The g:html_charset_override is similar, it allows TOhtml to detect the HTML | 691 *g:html_charset_override* |
549 charset for any 'fileencoding' or 'encoding' which is not detected | 692 Default: none, autoload/tohtml.vim contains default conversions for encodings |
550 automatically. You can also use it to override specific existing | 693 mentioned by name at |encoding-names| and which have wide |
551 encoding-charset pairs. For example, TOhtml will by default use UTF-8 for all | 694 browser support. |
552 Unicode/UCS encodings. To use UTF-16 and UTF-32 instead, use: > | 695 This option allows |2html.vim| to detect the HTML charset for any |
696 'fileencoding' or 'encoding' which is not detected automatically. You can also | |
697 use it to override specific existing encoding-charset pairs. For example, | |
698 TOhtml will by default use UTF-8 for all Unicode/UCS encodings. To use UTF-16 | |
699 and UTF-32 instead, use: > | |
553 :let g:html_charset_override = {'ucs-4': 'UTF-32', 'utf-16': 'UTF-16'} | 700 :let g:html_charset_override = {'ucs-4': 'UTF-32', 'utf-16': 'UTF-16'} |
554 | 701 |
555 Note that documents encoded in either UTF-32 or UTF-16 have known | 702 Note that documents encoded in either UTF-32 or UTF-16 have known |
556 compatibility problems with at least one major browser. | 703 compatibility problems with some major browsers. |
557 | 704 |
558 *convert-to-XML* *convert-to-XHTML* | 705 *convert-to-XML* *convert-to-XHTML* *g:html_use_xhtml* |
559 If you do not like plain HTML, an alternative is to have the script generate | 706 Default: 0. |
560 XHTML (XML compliant HTML). To do this set the "html_use_xhtml" variable: > | 707 When 0, generate standard HTML 4.01 (strict when possible). |
708 When 1, generate XHTML 1.0 instead (XML compliant HTML). | |
709 > | |
561 :let g:html_use_xhtml = 1 | 710 :let g:html_use_xhtml = 1 |
562 | |
563 Any of the on/off options listed above can be enabled or disabled by setting | |
564 them explicitly to the desired value, or restored to their default by removing | |
565 the variable using |:unlet|. | |
566 | |
567 Remarks: | |
568 - Some truly ancient browsers may not show the background colors. | |
569 - From most browsers you can also print the file (in color)! | |
570 - This version of TOhtml may work with older versions of Vim, but some | |
571 features such as conceal support will not function, and the colors may be | |
572 incorrect for an old Vim without GUI support compiled in. | |
573 | |
574 Here is an example how to run the script over all .c and .h files from a | |
575 Unix shell: > | |
576 for f in *.[ch]; do gvim -f +"syn on" +"run! syntax/2html.vim" +"wq" +"q" $f; done | |
577 < | 711 < |
578 | 712 |
579 ABEL *abel.vim* *ft-abel-syntax* | 713 ABEL *abel.vim* *ft-abel-syntax* |
580 | 714 |
581 ABEL highlighting provides some user-defined options. To enable them, assign | 715 ABEL highlighting provides some user-defined options. To enable them, assign |