*vimwiki.txt* A Personal Wiki for Vim __ __ ______ __ __ ______ __ __ ______ ~ /\ \/\ \/\__ _\ /'\_/`\/\ \ __/\ \/\__ _\ /\ \/\ \ /\__ _\ ~ \ \ \ \ \/_/\ \/ /\ \ \ \/\ \ \ \/_/\ \/ \ \ \/'/'\/_/\ \/ ~ \ \ \ \ \ \ \ \ \ \ \__\ \ \ \ \ \ \ \ \ \ \ \ \ , < \ \ \ ~ \ \ \_/ \ \_\ \__\ \ \_/\ \ \ \_/ \_\ \ \_\ \__\ \ \\`\ \_\ \__ ~ \ `\___/ /\_____\\ \_\\ \_\ `\___x___/ /\_____\\ \_\ \_\ /\_____\~ `\/__/ \/_____/ \/_/ \/_/'\/__//__/ \/_____/ \/_/\/_/ \/_____/~ Version: 0.9.9 ============================================================================== CONTENTS *vimwiki-contents* 1. Intro |vimwiki| 2. Prerequisites |vimwiki-prerequisites| 3. Mappings |vimwiki-mappings| 3.1. Global mappings |vimwiki-global-mappings| 3.2. Local mappings |vimwiki-local-mappings| 3.3. Text objects |vimwiki-text-objects| 4. Commands |vimwiki-commands| 4.1. Global commands |vimwiki-global-commands| 4.2. Local commands |vimwiki-local-commands| 5. Wiki syntax |vimwiki-syntax| 5.1. Typefaces |vimwiki-syntax-typefaces| 5.2. Links |vimwiki-syntax-links| 5.3. Headers |vimwiki-syntax-headers| 5.4. Paragraphs |vimwiki-syntax-paragraphs| 5.5. Lists |vimwiki-syntax-lists| 5.6. Tables |vimwiki-syntax-tables| 5.7. Preformatted text |vimwiki-syntax-preformatted| 5.8. Blockquotes |vimwiki-syntax-blockquotes| 5.9. Comments |vimwiki-syntax-comments| 6. Folding/Outline |vimwiki-folding| 7. Placeholders |vimwiki-placeholders| 7.1 Table of Contents |vimwiki-table-of-contents| 8. Todo lists |vimwiki-todo-lists| 9. Tables |vimwiki-tables| 10. Diary |vimwiki-diary| 11. Options |vimwiki-options| 12. Help |vimwiki-help| 13. Author |vimwiki-author| 14. Changelog |vimwiki-changelog| 15. License |vimwiki-license| ============================================================================== 1. Intro *vimwiki* Vimwiki is a personal wiki for Vim -- a number of linked text files that have their own syntax highlighting. With vimwiki you can: - organize notes and ideas; - manage todo-lists; - write documentation. To do a quick start press ww (this is usually \ww) to go to your index wiki file. By default it is located in: > ~/vimwiki/index.wiki Feed it with the following example: = My knowledge base = * MyUrgentTasks -- things to be done _yesterday_!!! * ProjectGutenberg -- good books are power. * ScratchPad -- various temporary stuff. Notice that ProjectGutenberg, MyUrgentTasks and ScratchPad highlighted as errors. These are links in CamelCase form that do not exists yet. (CamelCase form -- capitalized word connected with other capitalized words) Place cursor on ProjectGutenberg and press . Now you are in ProjectGutenberg. Edit and save it, then press Backspace to return to previous wiki file. You should see the difference now -- ProjectGutenberg is highlighted as a link. ============================================================================== 2. Prerequisites *vimwiki-prerequisites* Make sure you have these settings in your vimrc file: > set nocompatible filetype plugin on syntax on Without them Vimwiki will not work properly. ============================================================================== 3. Mappings *vimwiki-mappings* There are global and local mappings in vimwiki. ------------------------------------------------------------------------------ 3.1. Global mappings *vimwiki-global-mappings* [count]ww or VimwikiGoHome Open index file of the [count]'s wiki. ww opens first wiki from |g:vimwiki_list|. 1ww as above opens first wiki from |g:vimwiki_list|. 2ww opens second wiki from |g:vimwiki_list|. 3ww opens third wiki from |g:vimwiki_list|. etc. To remap: > :map w VimwikiGoHome < See also|:VimwikiGoHome| [count]wt or VimwikiTabGoHome Open index file of the [count]'s wiki in a new tab. wt tabopens first wiki from |g:vimwiki_list|. 1wt as above tabopens first wiki from |g:vimwiki_list|. 2wt tabopens second wiki from |g:vimwiki_list|. 3wt tabopens third wiki from |g:vimwiki_list|. etc. To remap: > :map t VimwikiTabGoHome < See also|:VimwikiTabGoHome| ws or VimwikiUISelect List and select available wikies. To remap: > :map wq VimwikiUISelect < See also|:VimwikiUISelect| [count]ww or VimwikiMakeDiaryNote Open diary wiki-file for today of the [count]'s wiki. ww opens diary wiki-file for today in the first wiki from |g:vimwiki_list|. 1ww as above opens diary wiki-file for today in the first wiki from |g:vimwiki_list|. 2ww opens diary wiki-file for today in the second wiki from |g:vimwiki_list|. 3ww opens diary wiki-file for today in the third wiki from |g:vimwiki_list|. etc. To remap: > :map d VimwikiMakeDiaryNote < See also|:VimwikiMakeDiaryNote| [count]wt or VimwikiTabMakeDiaryNote Open diary wiki-file for today of the [count]'s wiki in a new tab. wt tabopens diary wiki-file for today in the first wiki from |g:vimwiki_list|. 1wt as above tabopens diary wiki-file for today in the first wiki from |g:vimwiki_list|. 2wt tabopens diary wiki-file for today in the second wiki from |g:vimwiki_list|. 3wt tabopens diary wiki-file for today in the third wiki from |g:vimwiki_list|. etc. To remap: > :map dt VimwikiTabMakeDiaryNote < See also|:VimwikiTabMakeDiaryNote| ------------------------------------------------------------------------------ 3.2. Local mappings NORMAL MODE *vimwiki-local-mappings* *vimwiki_* Follow/Create WikiWord. Maps to|:VimwikiFollowWord|. To remap: > :map wf VimwikiFollowWord < *vimwiki_* Split and follow/create WikiWord Maps to|:VimwikiSplitWord|. To remap: > :map we VimwikiSplitWord < *vimwiki_* Vertical split and follow/create WikiWord Maps to|:VimwikiVSplitWord|. To remap: > :map wq VimwikiVSplitWord < *vimwiki_* Go back to previous WikiWord Maps to|:VimwikiGoBackWord|. To remap: > :map wb VimwikiGoBackWord < *vimwiki_* Find next WikiWord Maps to|:VimwikiNextWord|. To remap: > :map wn VimwikiNextWord < *vimwiki_* Find previous WikiWord Maps to|:VimwikiPrevWord|. To remap: > :map wp VimwikiPrevWord < *vimwiki_wd* wd Delete WikiWord you are in. Maps to|:VimwikiDeleteWord|. To remap: > :map dd VimwikiDeleteWord < *vimwiki_wr* wr Rename WikiWord you are in. Maps to|:VimwikiRenameWord|. To remap: > :map rr VimwikiRenameWord < *vimwiki_* Toggle list item on/off (checked/unchecked) Maps to|:VimwikiToggleListItem|. To remap: > :map tt VimwikiToggleListItem < See |vimwiki-todo-lists|. *vimwiki_=* = Add header level. Create if needed. There is nothing to indent with '==' command in vimwiki, so it should be ok to use '=' here. *vimwiki_-* - Remove header level. *vimwiki_gqq* *vimwiki_gww* gqq Format table. If you did some changes to a table or without swapping insert/normal modes this command gww reformat it. Works only if |g:vimwiki_use_mouse| is set to 1. <2-LeftMouse> Follow/Create WikiWord Split and follow/create WikiWord Vertical split and follow/create WikiWord Go back to previous WikiWord Note: <2-LeftMouse> is just left double click. INSERT MODE *vimwiki-table-mappings* *vimwiki_i_* Goto table cell down to the current, create new row if on the last one. *vimwiki_i_* Goto next table cell, create new row if on the last cell. ------------------------------------------------------------------------------ 3.3. Text objects *vimwiki-text-objects* ah A Header with leading empty lines. ih Inner Header without leading empty lines. You can 'vah' to select a header with its contents or 'dah' to delete it or 'yah' to yank it or 'cah' to change it. ============================================================================== 4. Commands *vimwiki-commands* ------------------------------------------------------------------------------ 4.1. Global Commands *vimwiki-global-commands* *:VimwikiGoHome* Open index file of the current wiki. *:VimwikiTabGoHome* Open index file of the current wiki in a new tab. *:VimwikiUISelect* Open index file of the selected wiki. *:VimwikiMakeDiaryNote* Open diary wiki-file for today of the current wiki. *:VimwikiTabMakeDiaryNote* Open diary wiki-file for today of the current wiki in a new tab. ------------------------------------------------------------------------------ 4.2. Local commands *vimwiki-local-commands* *:VimwikiFollowWord* Follow/create WikiWord. *:VimwikiGoBackWord* Go back to previous WikiWord you come from. *:VimwikiSplitWord* Split and follow/create WikiWord. *:VimwikiVSplitWord* Vertical split and follow/create WikiWord. *:VimwikiNextWord* Find next WikiWord. *:VimwikiPrevWord* Find previous WikiWord. *:VimwikiDeleteWord* Delete WikiWord you are in. *:VimwikiRenameWord* Rename WikiWord you are in. *:Vimwiki2HTML* Convert current WikiPage to HTML. *:VimwikiAll2HTML* Convert all WikiPages to HTML. *:VimwikiToggleListItem* Toggle list item on/off (checked/unchecked) See |vimwiki-todo-lists|. *:VimwikiSearch* /pattern/ *:VWS* /pattern/ Search for /pattern/ in current wiki. *:VimwikiTable* Create a table with 5 cols and 2 rows. :VimwikiTable cols rows Create a table with a given cols and rows :VimwikiTable cols Create a table with a given cols and 2 rows ============================================================================== 5. Wiki syntax *vimwiki-syntax* There are a lot of different wikies out there. Most of them have their own syntax and vimwiki is not an exception here. Default vimwiki's syntax is a subset of google's wiki syntax markup. As for MediaWiki's syntax -- it is not that convenient for non English (Russian in my case :)) keyboard layouts to emphasize text as it uses a lot of '''''' to do it. You have to switch layouts every time you want some bold non English text. This is the answer to "Why not MediaWiki?" Nevertheless, there is MediaWiki syntax file included in the distribution (it doesn't have all the fancy stuff original MediaWiki syntax has though). See |vimwiki-option-syntax|. ------------------------------------------------------------------------------ 5.1. Typefaces *vimwiki-syntax-typefaces* There are a few typefaces that gives you a bit of control on how your text should be decorated: > *bold text* _italic text_ ~~strikeout text~~ `code (no syntax) text` super^script^ sub,,script,, ------------------------------------------------------------------------------ 5.2. Links *vimwiki-syntax-links* Internal links~ WikiWords: > CapitalizedWordsConnected You can limit linking of WikiWords by adding an exclamation mark in front of it: > !CapitalizedWordsConnected Or disable it completely with |g:vimwiki_camel_case|. Link with spaces in it: > [[This is a link]] or: > [[This is a link source|Description of the link]] or: > [[This is a link source][Description of the link]] External links~ Plain link: > http://code.google.com/p/vimwiki Link with description: > [http://habamax.ru/blog habamax home page] Images and image links~ Image link is the link with one of jpg, png or gif endings. Plain image link: > http://someaddr.com/picture.jpg in html: > Link to a local image: > [[images/pabloymoira.jpg]] in html: > Path to image (ie. images/pabloymoira.jpg) is relative to |vimwiki-option-path_html|. Double bracketed link to an image: > [[http://habamax.ru/blog/wp-content/uploads/2009/01/2740254sm.jpg]] in html: > Double bracketed link to an image with description text: > [[http://habamax.ru/blog/wp-content/uploads/2009/01/2740254sm.jpg|dance]] in html: > dance Double bracketed link to an image with alternate text: > [[http://habamax.ru/blog/wp-content/uploads/2009/01/2740254sm.jpg|dance|]] in html: > dance Double bracketed link to an image with alternate text and some style: > [[http://helloworld.com/blabla.jpg|cool stuff|width:150px; height: 120px;]] in html: > cool stuff Double bracketed link to an image without alternate text and some style: > [[http://helloworld.com/blabla.jpg||width:150px; height: 120px;]] in html: > Thumbnail link: > [http://someaddr.com/bigpicture.jpg http://someaddr.com/thumbnail.jpg] or > [[http://someaddr.com/bigpicture.jpg|http://someaddr.com/thumbnail.jpg]] in html: > def hello(world): for x in range(10): print("Hello {0} number {1}".format(world, x)) }}} Result of HTML export: >
 def hello(world):
     for x in range(10):
         print("Hello {0} number {1}".format(world, x))
 
This might be useful for coloring some programming code with external js tools like google syntax highlighter. You can setup vimwiki to highlight code snippets in preformatted text. See |vimwiki-option-nested_syntaxes| ------------------------------------------------------------------------------ 5.8. Blockquotes *vimwiki-syntax-blockquotes* Text started with 4 or more spaces is a blockquote. This would be a blockquote in vimwiki. It is not highlighted in vim but could be styled by css in html. Blockquotes are usually used to quote a long piece of text from another source. ------------------------------------------------------------------------------ 5.9. Comments *vimwiki-syntax-comments* Text between is a comment. Ex: > < ============================================================================== 6. Folding/Outline *vimwiki-folding* Vimwiki can fold or outline headers and list items. Example: = My current task = * [ ] Do stuff 1 * [ ] Do substuff 1.1 * [ ] Do substuff 1.2 * [ ] Do substuff 1.2.1 * [ ] Do substuff 1.2.2 * [ ] Do substuff 1.3 * [ ] Do stuff 2 * [ ] Do stuff 3 Hit |zM| : = My current task = [8] --------------------------------------~ Hit |zr| : = My current task =~ * [ ] Do stuff 1 [5] --------------------------------------~ * [ ] Do stuff 2~ * [ ] Do stuff 3~ Hit |zr| one more time: = My current task =~ * [ ] Do stuff 1~ * [ ] Do substuff 1.1~ * [ ] Do substuff 1.2 [2] -------------------------------~ * [ ] Do substuff 1.3~ * [ ] Do stuff 2~ * [ ] Do stuff 3~ NOTE: Whether you use default syntax, folding on list items should work properly only if all of them are indented using current |shiftwidth|. For MediaWiki * or # should be in the first column. To turn folding on/off check |g:vimwiki_folding|. ============================================================================== 7. Placeholders *vimwiki-placeholders* ------------------------------------------------------------------------------ 7.1. Table of Contents *vimwiki-toc* *vimwiki-table-of-contents* You can add 'table of contents' to your html page generated from wiki one. Just place > %toc into your wiki page. You can also add caption to your 'toc': > %toc Table of Contents or > %toc Whatever ============================================================================== 8. Todo lists *vimwiki-todo-lists* You can have todo lists -- lists of items you can check/uncheck. Consider the following example: = Toggleable list of todo items = * [X] Toggle list item on/off. * [X] Simple toggling between [ ] and [X]. * [X] All list's subitems should be toggled on/off appropriately. * [X] Toggle child subitems only if current line is list item * [X] Parent list item should be toggled depending on it's child items. * [X] Make numbered list items toggleable too * [X] Add highlighting to list item boxes * [X] Add [ ] to the next created with o, O and list item. Pressing on the first list item will toggle it and all of it's child items: = Toggleable list of todo items = * [ ] Toggle list item on/off. * [ ] Simple toggling between [ ] and [X]. * [ ] All list's subitems should be toggled on/off appropriately. * [ ] Toggle child subitems only if current line is list item * [ ] Parent list item should be toggled depending on it's child items. * [X] Make numbered list items toggleable too * [X] Add highlighting to list item boxes * [X] Add [ ] to the next created with o, O and list item. Pressing on the third list item will toggle it and all of it's parent items: = Toggleable list of todo items = * [.] Toggle list item on/off. * [ ] Simple toggling between [ ] and [X]. * [X] All list's subitems should be toggled on/off appropriately. * [ ] Toggle child subitems only if current line is list item * [ ] Parent list item should be toggled depending on it's child items. * [ ] Make numbered list items toggleable too * [ ] Add highlighting to list item boxes * [ ] Add [ ] to the next created with o, O and list item. Parent items could be toggled by its child items. Symbol inside [ ] depends on percentage of toggled child items(see also |g:vimwiki_listsyms|): > [ ] -- 0% [.] -- 1-33% [o] -- 34-66% [O] -- 67-99% [X] -- 100% It is possible to toggle several list items using visual mode. ============================================================================== 9. Tables *vimwiki-tables* Use :VimwikiTable command to create default table with 5 columns and 2 rows: > | | | | | | |---+---+---+---+---| | | | | | | < Tables are auto-formattable. Let's add some text into first cell: > | First Name | | | | | |---+---+---+---+---| | | | | | | < Whenever you press , or leave Insert mode table is formatted: > | First Name | | | | | |------------+---+---+---+---| | | | | | | < You can easily create nice looking text tables, just press and enter new values: > | First Name | Last Name | Age | City | e-mail | |------------+------------+-----+----------+----------------------| | Vladislav | Pokrishkin | 31 | Moscow | vlad_pok@smail.com | | James | Esfandiary | 27 | Istanbul | esfandiary@tmail.com | < ============================================================================== 10. Diary *vimwiki-diary* Diary helps you make daily notes. You can really easy add information into vimwiki that should be sorted out later. Just hit ww to create new daily note with name based on current date. The link to this newly created file is added to a diary wiki file. Usage example with default settings: > Consider today is 2010-01-27. Hit \w\w . ~/vimwiki/diary.wiki is created. 2 following lines are added to ~/vimwiki/diary/diary.wiki : = Diary = | [[2010-01-27]] | ~/vimwiki/diary/2010-01-27.wiki is created. You are ready to add your information there. ------------------------------------------- On the next day. Hit \w\w . The first line after = Diary = is changed in ~/vimwiki/diary/diary.wiki : = Diary = | [[2010-01-28]] | [[2010-01-27]] | ~/vimwiki/diary/2010-01-28.wiki is created. You are ready to add your information there. > By default there are 4 links on the line. All links are sorted by their dates. Calendar integration *vimwiki-calendar* ------------------------------------------------------------------------------ If you have Calendar.vim installed you can use it to create diary notes. Just open calendar with :Calendar and tap on the date. Wiki file would be created in default wiki's diary. Get it from http://www.vim.org/scripts/script.php?script_id=52 ============================================================================== 11. Options *vimwiki-options* There are global and per wiki(local) options available to tune vimwiki. All global options are set using the following template: > let g:option_name=option_value All per wiki options are |Dictionary|'s pairs in a list of wikies (dictionaries). See |g:vimwiki_list| option for more details. ------------------------------------------------------------------------------ *g:vimwiki_list* *vimwiki-multiple-wikies* Each item in g:vimwiki_list is a |Dictionary| that holds all customization available for a wiki represented by that item. It is in form of > {'option1': 'value1', 'option2: 'value2', ...} Consider the following example: > let g:vimwiki_list = [{'path': '~/my_site/', 'path_html': '~/public_html/'}] It gives us one wiki located at ~/my_site/ that could be htmlized to ~/public_html/ The next example: > let g:vimwiki_list = [{'path': '~/my_site/', 'path_html': '~/public_html/'}, \ {'path': '~/my_docs/', 'ext': '.mdox'}] gives us 2 wikies, first wiki as in previous example, second one is located in ~/my_docs/ and its files have .mdox extension. Empty |Dictionary| in the g:vimwiki_list is the wiki with default options: > let g:vimwiki_list = [{}, \ {'path': '~/my_docs/', 'ext': '.mdox'}] < PER WIKI OPTIONS *viwmiki-local-options* *vimwiki-option-path* ------------------------------------------------------------------------------ Key Default value~ path ~/vimwiki/ Description~ Wiki files location: > let g:vimwiki_list = [{'path': '~/my_site/'}] < *vimwiki-option-path_html* ------------------------------------------------------------------------------ Key Default value~ path_html ~/vimwiki_html/ Description~ HTML files converted from wiki files location: > let g:vimwiki_list = [{'path': '~/my_site/', \ 'path_html': '~/my_site_html/'}] If you omit this option path_html would be path - '/' + '_html/': > let g:vimwiki_list = [{'path': '~/okidoki/'}] ie, path_html = '~/okidoki_html/' *vimwiki-option-auto_export* ------------------------------------------------------------------------------ Key Default value Values~ auto_export 0 0, 1 Description~ Set this option to 1 to automatically generate HTML file when corresponding wiki page is saved: > let g:vimwiki_list = [{'path': '~/my_site/', 'auto_export': 1}] This will keep you HTML files up to date. *vimwiki-option-index* ------------------------------------------------------------------------------ Key Default value~ index index Description~ Name of wiki index file: > let g:vimwiki_list = [{'path': '~/my_site/', 'index': 'main'}] NOTE: Do not add extension. *vimwiki-option-ext* ------------------------------------------------------------------------------ Key Default value~ ext .wiki Description~ Extension of wiki files: > let g:vimwiki_list = [{'path': '~/my_site/', \ 'index': 'main', 'ext': '.document'}] < *vimwiki-option-syntax* ------------------------------------------------------------------------------ Key Default value Values~ syntax default default, media Description~ Wiki syntax. You can use different markup languages (currently default vimwiki and MediaWiki) but only vimwiki's default markup could be converted to HTML at the moment. To use MediaWiki's wiki markup: > let g:vimwiki_list = [{'path': '~/my_site/', 'syntax': 'media'}] < *vimwiki-option-html_header* ------------------------------------------------------------------------------ Key Default value~ html_header Description~ Set up file name for html header template: > let g:vimwiki_list = [{'path': '~/my_site/', \ 'html_header': '~/public_html/header.tpl'}] This header.tpl could look like: > %title%
where %title% is replaced by a wiki page name %root_path% is replaced by a count of ../ for pages buried in subdirs: if you have wikilink [[dir1/dir2/dir3/my page in a subdir]] then %root_path% is replaced by '../../../'. *vimwiki-option-html_footer* ------------------------------------------------------------------------------ Key Default value~ html_footer Description~ Set up file name for html footer template: > let g:vimwiki_list = [{'path': '~/my_site/', \ 'html_footer': '~/public_html/footer.tpl'}] This footer.tpl could look like: >
< *vimwiki-option-css_name* ------------------------------------------------------------------------------ Key Default value~ css_name style.css Description~ Set up css file name: > let g:vimwiki_list = [{'path': '~/my_pages/', \ 'css_name': 'main.css'}] < or even > let g:vimwiki_list = [{'path': '~/my_pages/', \ 'css_name': 'css/main.css'}] < *vimwiki-option-gohome* ------------------------------------------------------------------------------ Key Default value Values~ gohome split split, vsplit, tabe Description~ This option controls the way |:VimwikiGoHome| command works. For instance you have 'No write since last change' buffer. After ww (or :VimwikiGoHome) vimwiki index file will be splitted with it. Or vertically splitted. Or opened in a new tab. Ex: > let g:vimwiki_list = [{'path': '~/my_site/', 'gohome': 'vsplit'}] < *vimwiki-option-maxhi* ------------------------------------------------------------------------------ Key Default value Values~ maxhi 1 0, 1 Description~ Non-existent WikiWord highlighting could be quite slow and if you don't want it set maxhi to 0: > let g:vimwiki_list = [{'path': '~/my_site/', 'maxhi': 0}] This disables filesystem checks for WikiWords. *vimwiki-option-nested_syntaxes* ------------------------------------------------------------------------------ Key Default value Values~ nested_syntaxes {} pairs of highlight keyword and vim filetype Description~ You can make preformatted text to be highlighted with a different syntaxes available for vim. For example the following setup: > let wiki = {} let wiki.path = '~/my_site/' let wiki.nested_syntaxes = {'python': 'python', 'c++': 'cpp'} let vimwiki_list = [wiki] would give you python and c++ highlighting in: > {{{class="brush: python" for i in range(1, 5): print(i) }}} {{{class="brush: c++" #include "helloworld.h" int helloworld() { printf("hello world"); } }}} or in: > {{{c++ #include "helloworld.h" int helloworld() { printf("hello world"); } }}} {{{python for i in range(1, 5): print(i) }}} *vimwiki-option-diary_rel_path* ------------------------------------------------------------------------------ Key Default value~ diary_rel_path diary/ Description~ Related to |vimwiki-option-path| path for diary wiki-files. *vimwiki-option-diary_index* ------------------------------------------------------------------------------ Key Default value~ diary_index diary Description~ Name of wiki-file that holds all links to dated wiki-files. *vimwiki-option-diary_header* ------------------------------------------------------------------------------ Key Default value~ diary_header Diary Description~ Name of the header in |vimwiki-option-diary_index| where links to dated wiki-files are located. *vimwiki-option-diary_link_count* ------------------------------------------------------------------------------ Key Default value~ diary_link_count 4 Description~ Number of maximum dated links placed on one line. Ex: = Diary = || [[2010-01-30]] || [[2010-01-29]] || [[2010-01-28]] || [[2010-01-27]] || || [[2010-01-26]] || [[2010-01-25]] || GLOBAL OPTIONS *viwmiki-global-options* Use: > let g:option_name=option_value to set them. ------------------------------------------------------------------------------ *g:vimwiki_hl_headers* Highlight headers with =Reddish=, ==Greenish==, ===Blueish=== colors. Value Description~ 1 Use predefined colors to highlight different header levels. 0 Use |hl-Title| or VimwikiHeader1-VimwikiHeader6 (if defined in a colorscheme) Default: 1 ------------------------------------------------------------------------------ *g:vimwiki_hl_cb_checked* Checked list items could be highlighted with a color: * [X] the whole line could be highlighted with the option set to 1. * [ ] I wish vim could use strikethru. Value Description~ 1 Highlight checked [X] check box with |group-name| "Comment". 0 Don't. Default: 0 ------------------------------------------------------------------------------ *g:vimwiki_global_ext* *vimwiki-temporary-wiki* If a file with a registered wiki extension is opened in a dir that is not listed in |g:vimwiki_list| then: Value Description~ 1 make a temporary wiki in that dir. 0 don't make temporary wiki it that dir. Default: 1 ------------------------------------------------------------------------------ *g:vimwiki_upper* *g:vimwiki_lower* This affects WikiWord detection. By default WikiWord detection uses English and Russian letters. You can set up your own: > let g:vimwiki_upper = "A-Z\u0410-\u042f" let g:vimwiki_lower = "a-z\u0430-\u044f" ------------------------------------------------------------------------------ *g:vimwiki_auto_checkbox* if on, creates checkbox while toggling list item. Value Description~ 0 Do not create checkbox. 1 Create checkbox. Default: 1 Ex: Press (|:VimwikiToggleListItem|) on a list item without checkbox to create it: > * List item result: > * [ ] List item ------------------------------------------------------------------------------ *g:vimwiki_menu* GUI menu of available wikies to select. Value Description~ '' No menu 'Vimwiki' Top level menu "Vimwiki" 'Plugin.Vimwiki' "Vimwiki" submenu of top level menu "Plugin" etc. Default: 'Vimwiki' ------------------------------------------------------------------------------ *g:vimwiki_stripsym* Change strip symbol -- in Windows you cannot use /*?<>:" in file names so vimwiki replaces them with neutral symbol (_ is default): > let g:vimwiki_stripsym = '_' You can change it to a for example: > let g:vimwiki_stripsym = ' ' ------------------------------------------------------------------------------ *g:vimwiki_badsyms* Consider you do not like spaces in filenames (as some vimwiki users do). In that case you can set up bad symbols that would be converted to |g:vimwiki_stripsym|: > let g:vimwiki_badsyms = ' ' Now files for all [[links with spaces]] would be created like 'links_with_spaces'. This option is a complement one to |g:vimwiki_stripsym|. ------------------------------------------------------------------------------ *g:vimwiki_listsyms* String of 5 symbols for list items with checkboxes. Default value is ' .oOX'. g:vimwiki_listsyms[0] is for 0% done items. g:vimwiki_listsyms[4] is for 100% done items. ------------------------------------------------------------------------------ *g:vimwiki_use_mouse* Use local mouse mappings from |vimwiki-local-mappings|. Value Description~ 0 Do not use mouse mappings. 1 Use mouse mappings. Default: 0 ------------------------------------------------------------------------------ *g:vimwiki_folding* Enable/disable vimwiki's folding/outline. Folding in vimwiki is using 'expr' foldmethod which is very flexible but really slow. Value Description~ 0 Disable folding. 1 Enable folding. Default: 0 ------------------------------------------------------------------------------ *g:vimwiki_fold_lists* Enable/disable folding of list subitems. Value Description~ 0 Disable list subitem's folding. 1 Enable list subitem's folding. Default: 0 ------------------------------------------------------------------------------ *g:vimwiki_fold_trailing_empty_lines* Fold or do not fold empty lines between folded headers. Value Description~ 0 Fold only one empty line. The rest empty lines are unfolded. 1 Fold in all empty lines. Default: 0 ------------------------------------------------------------------------------ *g:vimwiki_camel_case* If you do not want WikiWord to be a link this setting is just for you. Value Description~ 0 Do not make links from CamelCased words. 1 Make links from CamelCased words. Default: 1 ------------------------------------------------------------------------------ *g:vimwiki_list_ignore_newline* This is HTML related. Convert newlines to
s in multiline list items. Value Description~ 0 Newlines in a list item are converted to
s. 1 Ignore newlines. Default: 1 ------------------------------------------------------------------------------ *g:vimwiki_use_calendar* Create new or open existing diary wiki-file for the date selected in Calendar. See |vimwiki-calendar|. Value Description~ 0 Do not use calendar. 1 Use calendar. Default: 1 ------------------------------------------------------------------------------ *g:vimwiki_browsers* *VimwikiWeblinkHandler* You can open external weblinks in a webbrowser. Webbrowsers are listed in |g:vimwiki_browsers|. For win32 it is: chrome, opera, firefox and explorer. For other OSes it is: opera, firefox and konqueror. The first available browser from the list is used to open weblink. If you have opera and firefox and want weblinks to be opened in the latter just: > let g:vimwiki_browsers=['C:\Program Files\Firefox\firefox.exe'] or redefine VimwikiWeblinkHandler function: > function! VimwikiWeblinkHandler(weblink) let browser = 'C:\Program Files\Firefox\firefox.exe' execute '!start "'.browser.'" ' . a:weblink endfunction ------------------------------------------------------------------------------ *g:vimwiki_table_auto_fmt* Turn on/off table auto-formatting. Value Description~ 0 Do not auto-format tables. 1 Auto-format tables. Default: 1 ------------------------------------------------------------------------------ *g:vimwiki_w32_dir_enc* Convert directory name from current |encoding| into 'g:vimwiki_w32_dir_enc' before it is created. If have 'enc=utf-8' and you set up > let g:vimwiki_w32_dir_enc = 'cp1251' < then following the next link with : > [[привет/мир]] > would convert utf-8 'привет' to cp1251 and create directory with that name. Default value: '' ============================================================================== 12. Help *vimwiki-help* As you could see I am not native English speaker (not a writer as well). Please send me correct phrases instead of that incorrect stuff I have used here. Any help is really appreciated! ============================================================================== 13. Author *vimwiki-author* I live in Moscow and you may believe me -- there are no polar bears (no brown too) here in the streets. I do not do programming for a living. So don't blame me for an ugly ineffective code. Improvements are welcome. Many thanks to all of you for voting vimwiki up on www.vim.org. I do vimwiki in my spare time I could use to dance argentine tango with beautiful women. Your votes are kind of a good replacement. ;) Sincerely yours, Maxim Kim . Vimwiki's website: http://code.google.com/p/vimwiki/ Vim plugins website: http://www.vim.org/scripts/script.php?script_id=2226 ============================================================================== 14. Changelog *vimwiki-changelog* 0.9.9~ * NEW: Diary. Help in making daily notes. See |vimwiki-diary|. Now you can really easy add information into vimwiki that should be sorted out later. * NEW: Tables are redesigned. Syntax is changed. Now they are auto-formattable. You can navigate them with and in insert mode. See |vimwiki-syntax-tables| and |vimwiki-tables| for more details. * NEW: Keyword STARTED: is added. * NEW: Words TODO:, DONE:, STARTED:, XXX:, FIXME:, FIXED: are highlighed inside headers. * FIX: Export to html external links with 'file://' protocol. Ex: [file:///home/user1/book.pdf my book]. * FIX: Menu is corrupted if wiki's path contains spaces. * FIX: Settings |wrap| and |linebreak| are removed from ftplugin. Add them into your personal settings file `.vim/after/ftplugin/vimwiki.vim` if needed. * NEW: Headers are highlighted in different colors by default. See |g:vimwiki_hl_headers| to turn it off. * FIX: Issue 40: Links with russian subdirs don't work. * NEW: It is now possible to generate HTML files automatically on page save. See |vimwiki-option-auto_export|. 0.9.8~ * NEW: Rename |g:vimwiki_fold_empty_lines| to |g:vimwiki_fold_trailing_empty_lines|. * NEW: One can use '-' along with '*' to start unordered list item. * NEW: List items could be started from the first column. As a result some limitations appeared: - a space after *, - or # for a list item is mandatory. - |g:vimwiki_fold_trailing_empty_lines| if set to 0 folds one trailing empty line. * NEW: Folding is off by default. Use |g:vimwiki_folding| to enable it. * NEW: Speed up vimwiki's folding a bit. Should lag a bit less in a long todo lists. * NEW: Centered headers. Start header with at least one space to make it html centered. * NEW: Change in default css: header's colors. * NEW: Vimwiki is aware of |GetLatestVimScripts| now. * FIX: Use tag instead of custom in html. * FIX: There are no text styling in htmlized quoted text. * FIX: set default value of g:vimwiki_fold_lists to 0 as written in this help. * FIX: Issue 33: Folded list items have wrong indentation when 'tabs' are used. * FIX: Issue 34: vimwiki#subdir got wrong dir when VimwikiGet('path') is a symbolic link. Thanks lilydjwg for the patch. * FIX: Issue 28: todo-list auto-indent enhancement. New item should always be unchecked. * Issue 36: Change the name of the Search command to VimwikiSearch as it conflicts with MultipleSearch. Alias :VWS is also available. * NEW: You can generate 'Table of contents' of your wiki page. See |vimwiki-toc| for details. 0.9.701~ * FIX: Issue 30: Highlighting doesn't work for checked list item. 0.9.7~ * NEW: Default checkbox symbols are changed to [ ], [.], [o], [O], [X]. You can change them using |g:vimwiki_listsyms| variable. * NEW: Color group names are renamed from wikiBold, wikiItalic, etc to VimwikiBold, VimwikiItalic, etc. * NEW: Open external links in a browser. There are default browsers defined in |g:vimwiki_browsers| list. You can also redefine |VimwikiWeblinkHandler| function to open weblinks in other programs. * NEW: Issue 25: Toggle the states of multiple TODO list items at a time (in VISUAL and in VISUAL LINE modes) * NEW: Issue 26: Highlight code snippets in vimwiki's pre. See |vimwiki-option-nested_syntaxes|. Thanks kriomant. * NEW: Issue 27: Automatic garbage deletion from html directory. * NEW: Save all open vimwiki buffers before export to html. * NEW: Issue 29: Custom :Search command. * NEW: Header text objects are now expandable in VISUAL mode. Tap 'vah' to select a header. Tap again 'ah' to expand selection further. Thanks Andy Wokula. * FIX: Folding settings are reset to vim defaults in a new tab (think of \wt) so you cannot hide things in folds. * FIX: https links in form of [https://hello.world.com] are not exported into html. Thanks Saurabh Sarpal for the patch. 0.9.6~ * NEW: You can have multiline list items. See |vimwiki-syntax-lists|. * NEW: You can ignore newlines in multiline list items when do export to html. See |g:vimwiki_list_ignore_newline| option. * NEW: Different checkbox symbols [.], [:], [o] are added. See |vimwiki-todo-lists|. * NEW: Now there is no longer syntax of preformatted text that is started by a whitespace. * NEW: Blockquotes. See |vimwiki-syntax-blockquote|. * NEW: Per wiki folding option (vimwiki-option-folding) is removed. Global |g:vimwiki_folding| and |g:vimwiki_fold_lists| are added. * NEW: Due to being quite slow folding of list items is off by default. Use |g:vimwiki_fold_lists| to turn it on. * NEW: If you want replace some symbols in a wikifilename use |g:vimwiki_badsyms| option (Andreas Baldeau). * FIX: Command |:VimwikiToggleListItem| doesn't work for one of the two wikies opened at the same time with different syntaxes. * FIX: Command |:VimwikiToggleListItem| do not switch parent checkboxes if there are non-checkbox list items available. * FIX: Issue 24: Link error in html when write [[one.two.three]]. * FIX: Rename WikiWord to something with a colon (:) does nasty things. * FIX: Command |:VimwikiToggleListItem| do not switch right if there are list items without checkboxes in the list. 0.9.5~ * NEW: Added |g:vimwiki_global_ext| to control creation of temporary wikies in dirs that are not listed in |g:vimwiki_list|. * NEW: Added |g:vimwiki_hl_headers| to highlight headers with different predefined colors. * NEW: Checked [X] items are not highlighted with Comment syntax group by default. Use |g:vimwiki_hl_cb_checked| to turn it on. * NEW: Added new syntax for links: [[link address][link description]]. * NEW: Added allias of mapping for *nix systems. * NEW: Added |g:vimwiki_camel_case|. Set it to 0 if you do not want CamelCased WikiWords to be linkified. * FIX: Links with g:vimwiki_stripsym (default '_') [[My_Link|Text]] are not highlighted when created. * FIX: indent/vimwiki.vim is obsolete. If you upgrade from previous versions remove it. It causes wrong list indentation if noexpandtab is set. * FIX: If tabs and spaces are used to indent list items html export gives error. Thanks Klaus Ethgen for report. * FIX: Some html export fixes. 0.9.4~ * NEW: Links with directories: [[dir1/dir2/Link|Text]]. Thanks Jie Wu. * NEW: Added %root_path% template variable to get relative root dir of path_html. See |vimwiki-option-html_header|. * FIX: Indent is incorrect for vim without "float" compile option. Thanks Julian Kooij. * FIX: Convert to html doesn't work right with links like [[foo::bar]]. * FIX: Rename wikiword doesn't work right when rename WikiWord to [[WikiWord blablabla]]. * FIX: Renaming of links with description doesn't work. * FIX: Weblinks with commas are not highlighted. * MISC: Some changes in default css file. 0.9.3~ * NEW: g:vimwiki_menu option is a string which is menu path. So one can use let g:vimwiki_menu = 'Plugin.Vimwiki' to set the menu to the right place. * NEW: g:vimwiki_fold_empty_lines -- don't or do fold in empty lines between headers. See |g:vimwiki_fold_empty_lines| * FIX: Encoding error when running vimwiki in Windows XP Japanese. Thanks KarasAya. 0.9.2c~ * FIX: Regression: Export HTML link error with [[Link|Text]]. 0.9.2b~ * FIX: Installation on Linux doesn't work. (Dos line endings in Vimball archive file). * FIX: Clear out FlexWiki ftplugin's setup. Now you don't have to hack filetype.vim to get rid of unexpected ':setlocal bomb' from FlexWiki's ftplugin. * FIX: When write done: it will show another done: in html file. 0.9.2a~ * FIX: Installation on Linux doesn't work. (Dos line endings in autoload/vimwiki_lst.vim and indent/vimwiki.vim). 0.9.2~ * NEW: Option 'folding' added to turn folding on/off. * NEW: Header text object. See |vimwiki-text-objects|. * NEW: Add/remove Header levels with '=' and '-'. See |vimwiki_=|. * NEW: Vimwiki GUI menu to select available wikies. See |g:vimwiki_menu|. * NEW: You can specify the name of your css file now. See |vimwiki-option-css_name| * NEW: You can add styles to image links, see |vimwiki-syntax-links|. * FIX: History doesn't work after |VimwikiRenameWord|. * FIX: Some of wikipedia links are not correctly highlighted. Links with parentheses. * MISC: Renamed vimwiki_gtd to vimwiki_lst. 0.9.1~ * NEW: HTML Table cell text alignment, see |vimwiki-syntax-tables| * NEW: Wikipage history simplified. Each vimwiki buffer now holds b:vimwiki_prev_word which is list of [PrevWord, getpos()]. * NEW: If highlight for groups wikiHeader1..wikiHeader6 exist (defined in a colorscheme) -- use it. Otherwise use Title highlight for all Headers. * FIX: Warn only once if 'html_header' or 'html_footer' does not exist. * FIX: Wrong folding for the text after the last nested list item. * FIX: Bold and Italic aren't highlighted in tables without spaces between || and * or _. ||*bold*||_asdf_ || (Thanks Brett Stahlman) 0.9.0~ * NEW: You can add classes to 'pre' tag -- |vimwiki-syntax-preformatted|. This might be useful for coloring some programming code with external js tools like google syntax highlighter. * NEW: !WikiPage is not highlighted. It is just a plain word WikiPage in HTML, without exclamation mark * NEW: Definition lists, see |vimwiki-syntax-lists|. * NEW: New implementation of |:VimwikiRenameWord|. CAUTION: It was tested on 2 computers only, backup your wiki before use it. Email me if it doesn't work for you. * FIX: Less than 3 symbols are not highlighted in Bold and Italic. * FIX: Added vimwiki autocmd group to avoid clashes with user defined autocmds. * FIX: Pressing ESC while |:VimwikiUISelect| opens current wiki index file. Should cancel wiki selection. 0.8.3~ * NEW: on a list item creates checkbox. * FIX: With * in the first column, shouldn't insert more * (default syntax). * FIX: With MediaWiki's ** [ ], should insert it on the next line. * FIX: HTML export should use 'fileencoding' instead of 'encoding'. * FIX: Code cleanup. 0.8.2~ * DEL: Removed google syntax file. * NEW: Default vimwiki syntax is a subset of google's one. Header's has been changed from !Header to =Header=. It is easier to maintain only 2 syntaxes. See |vimwiki-syntax-headers|. * NEW: Multiline paragraphs -- less longlines. * NEW: Comments. See |vimwiki-syntax-comments|. * DEL: Removed setlocal textwidth = 0 from ftplugin. * FIX: New regexps for bold, italic, bolditalic. * FIX: The last item in List sometimes fold-in incorrectly. * FIX: Minor tweaks on default css. 0.8.1~ * NEW: Vimwiki's foldmethod changed from syntax to expr. Foldtext is changed to be nicer with folded list items. * NEW: Fold/outline list items. * NEW: It is possible now to edit wiki files in arbitrary directories which is not in g:vimwiki_list's paths. New WikiWords are created in the path of the current WikiWord. * NEW: User can remap Vimwiki's built in mappings. * NEW: Added |g:vimwiki_use_mouse|. It is off by default. * FIX: Removed mapping. 0.8.0~ * NEW: Multiple wikies support. A lot of options have been changed, see |vimwiki-options| * NEW: Auto create directories. * NEW: Checked list item highlighted as comment. * FIX: Multiple 'set ft=vimwiki' for each buffer disabled. Vimwiki should load its buffers a bit faster now. 0.7.1~ * NEW: VimwikiToggleListItem added to be able to remap to anything user prefers more. * FIX: Toggleable list items do not work with MediaWiki markup. * FIX: Changing g:vimwiki_home_html to path with ~ while vimwiki is loaded gives errors for HTML export. * DEL: Command :VimwikiExploreHome. 0.7.0~ * NEW: GTD stuff -- toggleable list items. See |vimwiki-todo-lists|. * FIX: Headers do not fold inner headers. (Thanks Brett Stahlman) * FIX: Remove last blank lines from preformatted text at the end of file. * DEL: Removed g:vimwiki_smartCR option. 0.6.2~ * NEW: [[link|description]] is available now. * FIX: Barebone links (ie: http://bla-bla-bla.org/h.pl?id=98) get extra escaping of ? and friends so they become invalid in HTML. * FIX: In linux going to [[wiki with whitespaces]] and then pressing BS to go back to prev wikipage produce error. (Thanks Brendon Bensel for the fix) * FIX: Remove setlocal encoding and fileformat from vimwiki ftplugin. * FIX: Some tweaks on default style.css 0.6.1~ * FIX: [blablabla bla] shouldn't be converted to a link. * FIX: Remove extra annoing empty strings from PRE tag made from whitespaces in HTML export. * FIX: Moved functions related to HTML converting to new autoload module to increase a bit vimwiki startup time. 0.6~ * NEW: Header and footer templates. See|g:vimwiki_html_header| and |g:vimwiki_html_footer|. * FIX: |:Vimwiki2HTML| does not recognize ~ as part of a valid path. 0.5.3~ * FIX: Fixed |:VimwikiRenameWord|. Error when g:vimwiki_home had whitespaces in path. * FIX: |:VimwikiSplitWord| and |:VimwikiVSplitWord| didn't work. 0.5.2~ * NEW: Added |:VimwikiGoHome|, |:VimwikiTabGoHome| and |:VimwikiExploreHome| commands. * NEW: Added wt mapping to open vimwiki index file in a new tab. * NEW: Added g:vimwiki_gohome option that controls how|:VimwikiGoHome| works when current buffer is changed. (Thanks Timur Zaripov) * FIX: Fixed |:VimwikiRenameWord|. Very bad behaviour when autochdir isn't set up. * FIX: Fixed commands :Wiki2HTML and :WikiAll2HTML to be available only for vimwiki buffers. * FIX: Renamed :Wiki2HTML and :WikiAll2HTML to |:Vimwiki2HTML| and |:VimwikiAll2HTML| commands. * FIX: Help file corrections. 0.5.1~ * NEW: This help is created. * NEW: Now you can fold headers. * NEW: VimwikiGoHome and VimwikiExploreHome were added. * FIX: Bug with {{{HelloWikiWord}}} export to HTML is fixed. * DEL: Sync option removed from: Syntax highlighting for preformatted text {{{ }}}. 0.5~ * NEW: vimwiki default markup to HTML conversion improved. * NEW: Added basic GoogleWiki and MediaWiki markup languages. * NEW: Chinese [[complex wiki words]]. 0.4~ * NEW: vimwiki=>HTML converter in plain Vim language. * NEW: Plugin autoload. 0.3.4~ * FIX: Backup files (.wiki~) caused a bunch of errors while opening wiki files. 0.3.3~ * FIX: [[wiki word with dots at the end...]] didn't work. * NEW: Added error handling for delete wiki word function. * NEW: Added keybindings o and O for list items when g:vimwiki_smartCR=1. * NEW: Added keybinding wh to visit wiki home directory. 0.3.2~ * FIX: Renaming -- error if complex wiki word contains %. * FIX: Syntax highlighting for preformatted text {{{ }}}. Sync option added. * FIX: smartCR bug fix. 0.3.1~ * FIX: Renaming -- [[hello world?]] to [[hello? world]] links are not updated. * FIX: Buffers menu is a bit awkward after renaming. * NEW: Use mouse to follow links. Left double-click to follow WikiWord, Rightclick then Leftclick to go back. 0.3~ * NEW: Highlight non-existent WikiWords. * NEW: Delete current WikiWord (wd). * NEW: g:vimwiki_smartCR=2 => use Vim comments (see :h comments :h formatoptions) feature to deal with list items. (thx -- Dmitry Alexandrov) * NEW: Highlight TODO:, DONE:, FIXED:, FIXME:. * NEW: Rename current WikiWord -- be careful on Windows you cannot rename wikiword to WikiWord. After renaming update all links to that renamed WikiWord. * FIX: Bug -- do not duplicate WikiWords in wiki history. * FIX: After renaming [[wiki word]] twice buffers are not deleted. * FIX: Renaming from [[wiki word]] to WikiWord result is [[WikiWord]] * FIX: More than one complex words on one line is bugging each other when try go to one of them. [[bla bla bla]] [[dodo dodo dodo]] becomes bla bla bla]] [[dodo dodo dodo. 0.2.2~ * NEW: Added keybinding -- split WikiWord * NEW: Added keybinding -- vertical split WikiWord 0.2.1~ * NEW: Install on Linux now works. 0.2~ * NEW: Added part of Google's Wiki syntax. * NEW: Added auto insert # with ENTER. * NEW: On/Off auto insert bullet with ENTER. * NEW: Strip [[complex wiki name]] from symbols that cannot be used in file names. * NEW: Links to non-wiki files. Non wiki files are files with extensions ie [[hello world.txt]] or [[my homesite.html]] 0.1~ * First public version. ============================================================================== 15. License *vimwiki-license* The MIT Licence http://www.opensource.org/licenses/mit-license.php Copyright (c) 2010 Maxim Kim Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. vim:tw=78:ts=8:ft=help