sponsor Vim development Vim logo Vim Book Ad

Viki/Deplate : A personal wiki for Vim

 script karma  Rating 1080/328, Downloaded by 21418  Comments, bugs, improvements  Vim wiki

created by
Tom Link
script type
VIKI Forum (questions, feature requests): http://sourceforge.net/projects/deplate/forums/forum/700962
Bug tracker: https://github.com/tomtom/viki_vim/issues
Markup: http://deplate.sourceforge.net/Markup.html (http://deplate.sourceforge.net/markup.txt)
Demo: http://vimsomnia.blogspot.com/2010/11/vikitasks-viki-demonstration-personal.html

This plugin adds wiki-like hypertext capabilities to Vim. You can use viki as a "minor" mode (i.e., as an add-on to any other mode) or as a full-fledged wiki mode. There is also an add-on plugin for "wikifying" latex documents by turning some latex commands into wiki names. If viki is properly configured, activating a reference to an image, a webpage etc. will view that resource in an external viewer.

From http://sourceforge.net/projects/deplate/ you can download a ruby based tool to convert viki markup to html, latex, or docbook. On its homepage (http://deplate.sf.net) you can read a more detailled specification of the markup.

Use the hypertext facility with any filetype. Just type :VikiMinorMode and all wiki names and URLs will be highlighted.

In full mode, viki becomes a personal wiki (http://c2.com/cgi/wiki?PersonalWiki). The full wiki mode included syntax highlighting (for headings, lists, tables, textstyles etc.), folding support, and additional key bindings (i.e., you can press <c-tab> or <s-c-tab> to move the cursor to the next/previous viki name). By default, the viki filetype is enabled for all files with a .viki suffix. The viki markup is explained at http://deplate.sourceforge.net/Markup.html (http://deplate.sourceforge.net/markup.txt)

In case you missed out on wikis, a wiki is a simple way of creating hypertexts. In its very basic form creating a hyperlink is as easy as writing a word in CamelCase or by enclosing a word in brackets--as in [[destination]] or [-destination-]. A wiki is a simple tool to organize ideas, notes etc. See http://en.wikipedia.org/wiki/Wiki for details.

- vikitasks (vimscript #2894): Distributed TODO lists
- hookcursormoved (vimscript #2037): Enhanced detection of hyperlinks to inexistent destinations.
- vxfold (vimscript #3004) by Marko Mahnič: Provides org-mode like fold cycling
- VOoM (vimscript #2657): A two-pane outliner with support for viki

Also available via git
install details
Open the vba file and type:

    :so %

See :help vimball for details. Also, make sure to read |viki-customization|. If you have difficulties to install this plugin or if you use vim 7.0, please make sure to use the current version of vimball (vimscript #1502).

- tlib (vimscript #1863)

Optional enhancements:
- hookcursormoved (vimscript #2037): Enhanced detection of hyperlinks to inexistent destinations.

This plugin relies on the use of filetype plugins. Your .vimrc file should thus contain these lines:

    set nocompatible
    filetype plugin indent on
    syntax on

By default, vim doesn't allow to |abandon| a modified buffer unless |hidden| is set. If get a "cannot abandon buffer"-message, please read the help on |g:vikiHide| and |abandon| to find out how to avoid this problem.

There is also a ruby-based tool for converting viki markup to html, latex, or docbook. Download deplate from the sourceforge project site: http://sourceforge.net/projects/deplate/

rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
viki.zip 4.09 2016-01-26 7.0 Tom Link - viki#fileword_suffixes: Also search for files with theses suffixes in |viki#CollectFileWords()|.
- Don't use :HiLink
- NEW :Vikifind command
- Vikifind: add matches for file basename only
- viki#Find(): When matching file names, allow use of [ _-] as whitespace; require trag >= 1.3
- viki#GetInterVikiDef(): optional argument: include_files
- VikiAnchor_rx(): use "\n"
- viki_viki#SetupBuffer(): Setup &path
- remove _tplugin.vim
- Improved viki#DirListing()
- Moved g:vikiOpenFileWith_ANY related code to tlib_vim
- Moved tinykeymap-related code to listitem_vim
- Require tlib >= 1.15
- Improve :Vikifind etc.
- g:vikiOpenUrlWith_ANY: FIX xdg string
- various minor changes
- s/TLibTrace/Tlibtrace/g
- s:GetHead: disable iconv
- viki#DirListing(): "filter" doesn't exclude dirs
- FIX maps in "major mode"
- Disable debug message
- syntax/*.vim: More conceal definitions
MD5 checksum: 4921508fcf82aac578f7740d28ed151d
viki.zip 4.08 2014-11-03 7.0 Tom Link - Incoporate changes from pull request 12
- viki#InterVikiDest(): Use g:vikiIndex (again)
- viki#InterVikiDest: FIX check if i_index exists
- viki_viki#CompleteExtendedNameDef(): Use match() instead of =~ (work-around)
- iskeyword+=192-255
- Allow digits in interviki names
- FIX #13: viki_viki#SetupBuffer(): remove "::" from interviki names for use in interviki_rx
- vikiBaseDirs: A list of directories where to look for "file words" and "hyper words"
- CollectVikiWords(): Use correct directory for hypewords
- Priority lists: Highlight #Y, #Z as comments (like #X)
- viki#DirListing(): Improve display for "**/*.*" pattern (requires proper rewrite)
- FIX #14: Move definition of g:vikiFoldMethodVersion back to plugin/viki.vim
- syntax: g:vikiIndentedPriorityLists can also be window- or buffer-local
- If the SetSyntax plugin is installed, set tw to 0 the cursor is over priority lists
- syn cluster vikiPriorityListGen
MD5 checksum: 059e1b085b663c1d2d498756fbba39f6
viki.zip 4.07 2014-04-02 7.0 Tom Link - Incoporate changes from pull request 12
- viki#InterVikiDest(): Use g:vikiIndex (again)
- viki#InterVikiDest: FIX check if i_index exists
- viki_viki#CompleteExtendedNameDef(): Use match() instead of =~ (work-around)
- iskeyword+=192-255
MD5 checksum: 64d81aebd79f239ea8be3a201e38cbef
viki.zip 4.06 2013-10-20 7.0 Tom Link - Help template
- FIX viki#DirListing(): correctly process file patterns
MD5 checksum: 0bdb3097b73a9855892d60124d0d581f
viki.zip 4.05 2013-10-18 7.0 Tom Link - Files region: replace listing only if it has changed
- Fix possible typo that breaks a default configuration on some systems - 'Please define g:vikiOpenUrlWith_http or g:vikiOpenUrlWith_ANY'
- In region header: allow space after <<
- Merge branch 'master' of https://github.com/NickHu/viki_vim
- addon-info
- tinykeymap: p, n: move to previous/next list item
- viki#GetIndent(): special handling of !!!|+++|???|### markers
- viki#GetIndent(): Fixed indentation for marker list items (???, !!!, +++, ###)
- Syntax: Accept tags (:word) and contacts (@name) anywhere in a priority list item
- Add accdb & mdb to g:vikiSpecialFiles
- g:viki#code_syntax (prepare for syntax highlighting in #Code regions)
- Don't call viki#UpdateHeadings() on InsertLeave events
- viki#UpdateHeadings(): Avoid superfluous checks
- FIX: Highlighting of symbols within strings and similar syntax groups
- viki#UpdateHeadings(): Restore the search register (@/)
- viki#OpenLink(): Use tlib#dir#NativeName() when opening directories
- Require tlib 1.05
- #Files: Files in the cd are inserted as [[basename.ext]!] not as [[basename.ext][basename.ext]!] when conceal is enabled
- #Files: glob can refer to an interviki
- #Files takes an optional "format" argument
- viki#Files: slightly improved file tree display; cache isdirectory() info
- NEW #Grep regions; <LL>vu and <LL>vU update #Files and #Grep regions; require tlib 1.06
- #Files, #Grep regions: separate multiple patterns with "|"
- Finally enable support for proper highlighting of #Code regions
- Use xdg-open with &
- g:viki#code_syntax: Always enable these filetypes for #Code; g:viki#code_syntax_map: map #Code syntax arg to vim filetypes
MD5 checksum: 8b08d2dd760471dd912511da3ad62818
viki.zip 4.04 2012-09-28 7.0 Tom Link - #Files: error when the region started/ended at last line
- Support for tinykeymaps plugin (move list item)
- Moved definitions of functions and global variables from ftplugin/viki.vim to autoload/viki.vim (fixes #5)
- Moved listitem_move to autoload/tinykeymap/map
- g:viki#cmd_no_fnameescape: Don't pre-process arguments for some file-viewer commands
- vikiPriorityLists syntax: Make date more explicit; allow dates in tags
- tinykeymap: listitem_move: Highlight the current line
- #Files: improved display of file properties; sort argument
MD5 checksum: e90c38e13fd9dc00edab65879dde2967
viki.zip 4.03 2012-08-27 7.0 Tom Link - #Files: Error when glob pattern started with [*?]
- #Files head: call iconv() if encodings differ
MD5 checksum: 44dbf4bf6d6a985e3b140781636f8fdc
viki.zip 4.02 2012-08-25 7.0 Tom Link - Define a viki#MinorMode(...) function again.
- Start a new fold at each heading (fixes #5)
- Add g:vikiNameSuffix to g:ft_ignore_pat (fixes #8)
- Conceal markup of extended links with names (fixes #7)
- Hide markup of extended links & use cchar (fixes #7)
- Improved #Files region: highligh as extended links; emulate tree
- Conceal extended links markup: allow modifiers
- If has('conceal') and extended markup is concealed #Files regions display only the filenames tail
- #Files: modfied display of deep file listings
- #Files: Make sure pattern is evaluated with respect to the buffer's directory
- #Files: Error when region begins on last line
MD5 checksum: 44dbf4bf6d6a985e3b140781636f8fdc
viki.zip 4.01 2012-04-20 7.0 Tom Link - Escape special character when loading "autoload/viki/enc_{&enc}.vim"
- Support for xdg
- Register 3gp as special file
- viki#SetAnchorMarks(): Hide errors
- :EditWrapper(): Fix slashes on windows
- g:vikiIndentedPriorityLists: if 0, allow priority lists not to be indented
- s:EditWrapper(): Correct filenames only if g:vikiDirSeparator == ''
- s:UpdateHeadings(): Use silent! when searching for headers
MD5 checksum: 918f9422bc3678ccd8c0eb71abad6f6b
viki.vba 4.00 2012-02-19 7.0 Tom Link - Use conceal to hide bold & typewriter markup and to replace some symbols
- concealed symbols: ARROWL, ARROWR
- Use conceal for ArrowTilde*, ARRORLR
- syntax: Properly highlight tskeleton placeholders in viki syntax
- Undo special treatment of TSkelPlaceHolder (this should be handled by tskeleton)
- viki#DirListing(): Don't insert an empty line if the listing is empty
- g:viki#autoupdate_files: Optionally update all Files regions when setting viki filetype
- viki#FilesUpdateAll(): call winrestview() only if the view has changed
- viki#Balloon(): Also show directory listings
- g:viki#use_texmath: if true, load syntax/texmath.vim
- g:vikiNameSuffix: Defaults to .viki
- g:vikiFamily defaults to viki
- g:vikiUseParentSuffix default to 1
- g:vikiHighlightMath defaults to 'latex'
- g:vikiSaveHistory defaults to 1 if &viminfo includes '!'
- g:vikiSpecialFilesExtra: Define extra file extensions in .vimrc
- g:vikiSpecialProtocolsExtra: Define extra special protocols in .vimrc
- If hidden is off and the buffer is dirty, query the user what to do
- Rename g:viki#autoupdate_files to g:vikiAutoupdateFiles
- Syntax: Enable highlighting of spell errors (thanks tlapicka)
- Cleanup (thanks tlapicka)
- If b:vikiTextstylesVer == 1: Syntax for vikiColor, vikiContinousColor, and vikiExample (proposed by tlapicka)
- docs: consistently use .viki as suffix.
- g:vikiFoldLevel: Set the foldlevel of viki files
- Use filetypedetect group for BufRead,BufNewFile events
- vikiUpperCharacters, vikiLowerCharacters: Improved definitions for utf8 & latin1
- Create ii text object by default.
MD5 checksum: 95f40e8f6c015161196620f5f6a7e5f1
viki.vba 3.20 2012-01-21 7.0 Tom Link - Use syn-conceal if available
- viki#SetAnchorMarks(): call QuickfixsignsSet('', ['marks']): specify "marks"
- Register docx, pptx, xlsx as special extensions
- viki_viki#SetupBuffer: Allow brackets in extended viki links
- compiler/deplate: Space was not escaped (thanks to E Peron)
- don't set fold* if vikiFoldMethodVersion<1
- .gitignore
- Don't check for has('vim_starting')
- Moved s:MatchList() to autoload/viki.vim
- New: viki#SelectListItem(), viki#ShiftListItem(), viki#MoveListItem()
- Use vimdedoc.rb to generate the help file from source
- Enable {fn} macros as hyperlinks
- VikiDefine: define interviki commands with command!
- Duplicate help tags (fix #2)
- vnoremap <buffer> <expr> ii for viki#SelectListItem('.')
- VikiFoldLevel(): Always check if vikiFolds == ""
- #Files region: allow optional "head" argument
- Configurable option for how to handle malformed viki names
- Make sure g:VIKIBACKREFS is a dictionary
- New VikiFoldLevel version 8: headings only, uses cached info about heading levels for speed-up
- Enable VikiFoldLevel() v8 to fold list items
- Enable VikiFoldLevel() v8 to inversely fold headings (H)
- Remove support for multiple folding methods (g:vikiFoldMethodVersion)
MD5 checksum: 18b8b9837ebb7451d56a90ccfc1de854
viki.vba 3.19 2010-11-11 7.0 Tom Link - Use tlib#balloon#Register() if available
- viki#Edit(): Switch to homepage only if we are in a viki-enabled buffer
- Run VimEnter command immediately if !has('vim_starting')
- Transcode balloon text (guess the file encoding based on the value of &fenc)
- Don't rely on g:vikiEnabled to be set when loading syntax/viki.vim
- Removed g:vikiEnabled variable (use g:viki#quit for checking when to quit)
- Act more graciously if g:vikiHomePage is empty
MD5 checksum: 64ebd14609764e98b91f1e233e121e32
Viki.vba 3.18 2010-03-31 7.0 Tom Link - g:vikiFoldMethodVersion defaults to 7 (a simpler method that relies on "=" though)
- Syntax for tasks lists
Viki.vba.gz 3.17 2010-03-09 7.0 Tom Link - FIX: g:vikiOpenUrlWith_ANY for Windows
- Moved definition of fold related variables to ftplugin/viki.vim
- viki_viki: Anchors in URLs can start with an upper case character
- viki#RestoreCursorPosition(): use winrestview() (reported by Marko Mahnic)
Viki.vba.gz 3.16 2010-02-20 7.0 Tom Link - CHANGE: Moved the definition of some variables from plugin/viki.vim to autoload/viki.vim (this could require some changes in after/* user configuration)
- viki#Balloon(), g:vikiBalloonLines: Display text from the target file in a balloon tooltip if &balloonexpr is set to viki#Balloon().
- Renamed VikiMode() to viki#Mode()
- Renamed viki#MakeName() to VikiMakeName()
- Renamed viki#Define() to VikiDefine()
- Removed g:vikiIndex (the index name has to be made explicit in VikiDefine()) in order to reduce startup time
- Set g:vikiMenuPrefix = "" in order to reduce startup time
- Registered eml as special file
- Define g:vikiSaveHistory in plugin/viki.vim (reported by Marko Mahnic)
- FIX: Handling of cursor positions (reported by Marko Mahnic)
Viki.vba.gz 3.13 2009-12-21 7.0 Tom Link - Extended viki links: decode %HH in local filenames (this may cause problems with file names containing an unencoded %)
- Require tlib 0.32
- viki#ExecExternal(): Escape !
- special file: xmind
- Make regexp for inexistent links case sensitive
- viki#HomePage()
- viki#GetInterVikis()
Viki.vba.gz 3.11 2009-03-20 7.0 Tom Link - Default values for g:vikiOpenUrlWith_ANY and g:vikiOpenFileWith_ANY on Macs (thanks mboniou)
- Correct default value for g:vikiOpenFileWith_ANY @ Windows
- Disabled regions' #END-syntax
- Don't define interviki commands if a command of the same name already exists.
Viki.vba.gz 3.10 2008-08-31 7.0 Tom Link From this version on, viki requires vim 7.2's shellescape() and fnameescape() functions.

- VikiOpenSpecialFile() uses fnameescape()
- FIX: automatically set marks (#m? type of anchors)
- Anchor regexp can be configured via g:vikiAnchorNameRx
Viki.vba.gz 3.8 2008-06-21 7.0 Tom Link - FIX: viki#MarkInexistentInElement() for pre 7.0.009 vim (thanks to M Brandmeyer)
- FIX: Make sure tlib is loaded even if it is installed in a different rtp-directory (thanks to M Brandmeyer)
- Added dia to g:vikiSpecialFiles
- FIX: Scrambled window when opening an url from vim (thanks A Moell)
Viki.vba.gz 3.7 2008-01-15 7.0 Tom Link - In a file that doesn't contain headings, return 0 instead of '=' as
default value if g:vikiFoldMethodVersion == 4.
- FIX: "=" in if expressions in certain versions of VikiFoldLevel()
Viki.vba.gz 3.6 2008-01-14 7.0 Tom Link - Forgot to define a default value for g:viki_intervikis.
Viki.vba.gz 3.5 2008-01-13 7.0 Tom Link - Don't try to append an empty anchor to an url (Thanks RM Schmid).
- New variable g:viki_interviki to define intervikis in ~/.vimrc without loading autoload/viki.vim
- Minor updates to the help file.
Viki.vba.gz 3.4 2008-01-05 7.0 Tom Link - Promote anchors to VikiOpenSpecialProtocol().
- viki_viki: Enabled #INCLUDE
- Put the poor-man's math highlighting into syntax/texmath.vim so that
it can be included from other syntax files.
- Cascade menu of intervikis
- FIX: don't register viki names as known/unknown more than once
Viki.vba.gz 3.3 2007-10-12 7.0 Tom Link - Use hookcursormoved >= 0.3
- Backslash-save command-line completion
- Mark unknown intervikis as inexistent
Viki.vba.gz 3.2 2007-10-05 7.0 Tom Link - viki_viki.vim: Wrong value for b:vikiCmdDestIdx and
- Moved :VikiMinorModeViki, :VikiMinorModeLaTeX, and
:VikiMinorModeAnyWord to plugin/viki.vim
Viki.vba.gz 3.1 2007-10-04 7.0 Tom Link - Slightly improved performance of s:MarkInexistent() and
Viki.vba.gz 3.0 2007-10-04 7.0 Tom Link - VikiFolds() rev4: The text body is set to max heading level + 1 in
order to avoid lookups and thus speed-up the code.
- g:vikiPromote: Don't set viki minor modes for any files opened via
viki, unless this variable is set
- Added support for 'l' vikiFolds to the default fold expression.
- Added support for the {ref} macro (the referenced label has to be in
the same file though)
- INCOMPATIBLE CHANGE: Moved most function to autoload/viki.vim; moved
support for deplate/viki markup to vikiDeplate.vim.
- The argument of the VikiMode() has changed. (But this function
shouldn't be used anyway.)
- With g:vikiFoldMethodVersion=4 (the default), the text body is at the
level of the heading. This uses "=" for the body, which can be a problem
on slow machines. With g:vikiFoldMethodVersion=5, the body is below the
lowest heading, which can cause other problem.
- :VikiEditInVim ... edit special files in vim
- Set the default value for g:vikiCacheInexistent in order not to
surprise users with the abundance of cached data.
- Require tlib 0.15
- Use tlib#progressbar
- Improved (poor-man's) tex/math syntax highlighting
- Removed norm! commands form s:MarkInexistent().
- FIX: Wrong value for b:vikiSimpleNameAnchorIdx when simple viki names
weren't disabled.
- Optionally use hookcursormoved (vimscript #2037) for improved detection of hyperlinks to
inexistent sources. If this plugin causes difficulties, please tell me
and temporarily remove it.
- Use matchlist() instead of substitute(), which could speed things up a
Viki.vba.gz 2.4 2007-08-26 7.0 Tom Link - The shortcuts automatically defined by VikiDefine may now take an
optional argument (the file on an interviki) (:WIKI thus is the same as
:VikiEdit WIKI:: and supports the same command-line completion)
- Read ".vikiWords" in parent directories (top-down);
g:vikiHyperWordsFiles: Changed order (read global words first)
- In .vikiWords: destination can be an interviki name (if not, it is
assumed to be a relative filename); if destination is -, the word will
be removed from the jump table; blanks in "hyperwords" will be replaced
with \s\+ in the regular expression.
- New :VikiBrowse command.
- FIX: wrong value for &comments
- FIX: need to reset filetype on color-scheme change (because of viki's
own styles)
- FIX: Caching of inexistent viki names.
- In minor mode, don't map keys that trigger a check for inexistent
- Don't highlight textstyles (emphasized, typewriter) in comments.
- Removed configuration by: VikiInexistentColor(),
g:vikiInexistentColor, VikiHyperLinkColor(), g:vikiHyperLinkColor; use
g:viki_highlight_hyperlink_light, g:viki_highlight_hyperlink_dark,
g:viki_highlight_inexistent_light, g:viki_highlight_inexistent_dark
instead. By default, links are no longer made bold.
- The new default fold expression (g:vikiFoldMethodVersion=4) support
only hH folds (normal and inverse headings based; see g:vikiFolds).
Previous fold methods can be used by setting g:vikiFoldMethodVersion.
Viki.vba.gz 2.3 2007-07-17 7.0 Tom Link - Require tlib >= 0.9
- FIX: Use absolute file names when editing a local file (avoid problem
when opening a file in a different window with a different CWD).
- New folding routine. Use the old folding method by setting
g:vikiFoldMethodVersion to 1.
Viki.vba.gz 2.2 2007-06-24 7.0 Tom Link - Re-Enabled the previously (2.1) made and then disabled change concerning re-entering a viki buffer
- Don't try to use cached values for buffers that have no file attached yet (thanks to Erik Olsson)
- Require tlib >= 0.8
Viki.vba.gz 2.1 2007-06-24 7.0 Tom Link - Cache inexistent patterns (experimental)
- s:EditWrapper: Don't escape ' '.
- FIX: VikiMode(): Error message about b:did_ftplugin not being defined
- FIX: Check if g:netrw_browsex_viewer is defined (thanks to Erik Olsson for pointing this and some other problems out)
- ftplugin/viki.vim: FIX: Problem with heading in the last line. Disabled vikiFolds type 's'
- Always check the current line for inexistent links when re-entering a viki buffer
Viki.vba.gz 2.0 2007-05-17 7.0 Tom Link - Got rid of multvals & genutils dependencies (use vim7 lists instead)
- New dependency: tlib.vim (vimscript #1863)
- INCOMPATIBLE CHANGE: The format of g:vikiMapFunctionality has changed.
- INCOMPATIBLE CHANGE: g:vikiSpecialFiles is now a list!
- Viki now has a special #Files region that can be automatically
updated. This way we can start thinking about using viki for as
project/file management tool. This is for vim only and not supported yet
in deplate. New related maps & commands: :VikiFilesUpdate (<LL>vu),
:VikiFilesUpdateAll (<LL>vU), :VikiFilesCmd, :VikiFilesCall,
:VikiFilesExec (<LL>vx), and VikiFileExec.
- VikiGoParent() (mapped to <LL>v<bs> or <LL>v<up>): If b:vikiParent is
defined, open this viki name, otherwise follow the backlink.
- New :VikiEditTab command.
- Map <LL>vt to open in tab.
- Map <LL>v<left> to open go back.
- Keys listed in g:vikiMapQParaKeys are now mapped to
s:VikiMarkInexistentInParagraphVisible() which checks only the visible
area and thus avoids scrolling.
- Highlight lines containing blanks (which vim doesn't treat as
paragraph separators)
- When following a link, check if it is an special viki name before
assuming it's a simple one.
- Map [[, ]], [], ][
- If an interviki has an index file, a viki name like [[INTERVIKI::]]
will now open the index file. In order to browse the directory, use
[[INTERVIKI::.]]. If no index file is defined, the directory will be
opened either way.
- Set the default value of g:vikiFeedbackMin to &lines.
- Added ws as special files to be opened with :WsOpen if existent.
- Replaced most occurences of <SID> with s:
- Use tlib#InputList() for selecting back references.
- g:vikiOpenFileWith_ANY now uses g:netrw_browsex_viewer by default.
- CHANGE: g:vikiSaveHistory: We now rely on viminfo's "!" option to save
- FIX: VikiEdit now works properly with protocols that are to be opened
with an external viewer
- FIX: VikiEdit completion, which is more usable now
viki.zip 1.13 2007-03-11 7.0 Tom Link - Intervikis can now be defined as function ('*Function("%s")', this
breaks conversion via deplate) or format string ('%/foo/%s/bar', not yet
supported by deplate)
- Task lists take optional tags, eg #A [tag] foo; they may also be
tagged with the letters G-Z, which are highlighted as general task (not
supported by deplate)
- Automatically set marks for labels prefixed with "m" (eg #ma -> 'a,
#mB -> 'B)
- Two new g:vikiNameTypes: w = (Hyper)Words, f = File names in cwd as
hyperwords (experimental, not implemented in deplate)
- In extended viki names: add the suffix only if the destination hasn't
got one
- A buffer local b:vikiOpenInWindow allows links to be redirected to a
certain window (ie, if b:vikiOpenInWindow = 2, pressing <c-cr> behaves
like <LocalLeader>v2); this is useful if you use some kind of
directory/catalog metafile; possible values: absolute number, +/-
relative number, "last"
- Switched back to old regexp for simple names in order to avoid
highlighting of names like LaTeX
- VikiEdit opens the homepage only if b:vikiFamily is set
- Map <LocalLeader>vF to <LocalLeader>vn<LocalLeader>vf
- Improved syntax for (nested) macros
- Set &suffixesadd so that you can use vim's own gf in some situations
- SYNTAX: Allow empty lines as region delimiters (deplate 0.8.1)
- FIX: simple viki names with anchors where not recognised
- FIX: don't mark simple (inter)viki names as inexistent that expand to
links matching g:vikiSpecialProtocols
- FIX: file names containing %
- FIX: added a patch (VikiMarkInexistentInElement) by Kevin Kleinfelter
for compatibility with an unpatched vim70 (untested)
- FIX: disabling simple names (s) also properly disables the name types:
Viki.zip 1.12 2006-09-23 6.0 Tom Link - Define some keywords in syntax file (useful for omnicompletion)
- Define :VIKI command as an alias for :VikiHome
- FIX: Problem with names containing spaces
- FIX: Extended names with suffix & interviki
- FIX: Indentation of priority lists.
- FIX: VikiDefine created wrong (old-fashioned) VikiEdit commands under
certain conditions.
- FIX: Directories in extended viki names + interviki names were marked
as inexistent
- FIX: Syntax highlighting of regions or commands the headline of which
spanned several lines
- Added ppt to g:vikiSpecialFiles.
Viki.zip 1.11 2006-04-20 6.0 Tom Link - Enable [[INTERVIKI::]]
- VikiEdit also creates commands for intervikis that have no index
- Respect "!" and "*" modifiers in extended viki links
- New g:vikiMapFunctionalityMinor variable
- New g:vikiMapLeader variable
- CHANGE: Don't map VikiMarkInexistent in minor mode (see
- CHANGE: new attributes for g:vikiMapFunctionality: c, m[fb], i, I
- SYNTAX: cterm support for todo lists, emphasize
- FIX: Erroneous cursor movement
- FIX: VikiEdit didn't check if a file was already opened, which caused
a file to be opened in two buffers under certain conditions
- FIX: Error in <SID>MapMarkInexistent()
- FIX: VikiEdit: Non-viki names were not quoted
- FIX: Use fnamemodify() to expand tildes in filenames
- FIX: Inexistent quoted viki names with an interviki prefix weren't
properly highlighted
- FIX: Minor problem with suffixes & extended viki names
- FIX: Use keepjumps
- FIX: Catch E325
- FIX: Don't catch errors in <SID>EditWrapper() if the command matches
g:vikiNoWrapper (due to possible compatibility problems eg with :Explore
in vim 6.4)
- OBSOLETE: Negative arguments to VikiMode or VikiMinorMode are obsolete
(or they became the default to be precise)
- OBSOLETE: g:vikiMapMouse
- REMOVED: mapping to <LocalLeader><c-cr>
- DEPRECATED: VikiModeMaybe
Viki.zip 1.10 2006-03-15 6.0 Tom Link - Pseudo anchors (not supported by deplate): jump to a line number, e.g. [[file#l=10]] or [[file#line=10]]; find an regexp, e.g. [[file#rx=\\d]]; execute some vim code, e.g. [[file#vim=call Whatever()]]; you can also define your own handlers: VikiAnchor_{type}(arg)
- g:vikiFolds: new 'b' flag: the body has a higher level than all
headings (gives you some kind of outliner experience; the default value
for g:vikiFolds was changed to 'h')
- FIX: VikiFindAnchor didn't work properly in some situations
- FIX: Escape blanks when following a link (this could cause problems in
some situations, not always)
- FIX: Don't try to mark inexistent links when pressing enter if the current
line is empty.
- FIX: Restore vertical cursor position in window after looking for
inexistent links.
- FIX: Backslashes got lost in some situations.
Viki.zip 1.9 2006-02-22 6.0 Tom Link - Register mp3, ogg and some other multimedia related suffixes as
special files
- Add a menu of Intervikis if g:vikiMenuPrefix is != ''
- g:vikiMapKeys can contain "\n" and " " (supplement g:vikiMapKeys with
the variables g:vikiMapQParaKeys and g:vikiMapBeforeKeys)
- FIX: <SID>IsSupportedType
- FIX: Only the first inexistent link in a line was highlighted
- FIX: Set &buflisted when editing an existing buffer
- FIX: VikiDefine: Non-viki index names weren't quoted
- FIX: In "minor mode", vikiFamily wasn't correctly set in some
situations; other problems related to b:vikiFamily
- FIX: AnyWord works again
- Removed: VikiMinorModeMaybe
- VikiDefine now takes an optional fourth argument (an index file;
default=Index) and automatically creates a vim command with the name of
the interviki that opens this index file
Viki.zip 1.8 2005-11-23 6.0 Tom Link - Fold lists too (see also g:vikiFolds)
- Allow interviki names in extended viki names (e.g.,
[[WIKI::WikiName][Display Name]])
- Renamed <SID>GetSimpleRx4SimpleWikiName() to
VikiGetSimpleRx4SimpleWikiName() (required in some occasions; increased the
version number so that we can check against it)
- Fix: Problem with urls/fnames containing '!' and other special characters
(which now have to be escaped by the handler; so if you defined a custom
handler, e.g. g:vikiOpenFileWith_ANY, please adapt its definition)
- Fix: VikiEdit! opens the homepage only when b:vikiEnabled is defined in the
current buffer (we assume that for the homepage the global configuration is in
- Fix: Problem when g:vikiMarkInexistent was false/0
- Fix: Removed \c from the regular expression for extended names, which caused
FindNext to malfunction and caused a serious slowdown when matching of
bad/unknown links
- Fix: Re-set viki minor mode after entering a buffer
- The state argument in Viki(Minor)Mode is now mostly ignored
- Fix: A simple name's anchor was ignored
Viki.zip 1.7 2005-10-31 6.0 Tom Link - g:vikiHomePage: If you call VikiEdit! (with "bang"), the homepage is opened
first so that its customizations are in effect. Also, if you call :VikiHome or
:VikiEdit *, the homepage is opened.
- basic highlighting & indentation of emacs-planner style task lists (sort of)
- command line completion for :VikiEdit
- new command/function VikiDefine for defining intervikis
- added <LocalLeader>ve map for :VikiEdit
- fixed problem in VikiEdit (when the cursor was on a valid viki link, the
text argument was ignored)
- fixed opening special files/urls in a designated window
- fixed highlighting of comments
- vikiLowerCharacters and vikiUpperCharacters can be buffer local
- fixed problem when an url contained an ampersand
- fixed error message when the &hidden option wasn't set (see g:vikiHide)
Viki.zip 1.6.3 2005-10-01 6.0 Tom Link - file type URLs (file://) are now treated like special files
- indent: if g:vikiIndentDesc is '::', align a definition's description to the
first non-blank position after the '::' separator
- b:vikiDisableType
- Put AnyWord-related stuff into a file of its own.
- indentation for notices (!!!, ??? etc.)
- When creating a new file by following a link, the desired window number was ignored
- (VikiOpenSpecialFile) Escape blanks in the filename
- Set &include and &define (ftplugin)
- Set g:vikiFolds to '' to avoid using Headings for folds (which may cause a
major slowdown on slower machines)
- renamed <SID>DecodeFileUrl(dest) to VikiDecomposeUrl()
- fixed problem with table highlighting
Viki.zip 1.6.1 2005-02-05 6.0 Tom Link - fixed indentation bug
- removed forgotten debug message
Viki.zip 1.6 2005-01-25 6.0 Tom Link - new command: VikiEdit NAME ... allows editing of arbitrary viki names (also understands extended and interviki formats)
- support for some regions/commands/macros: #INC/#INCLUDE, #IMG, #Img (requires an id to be defined), {img}
- b:vikiInverseFold: Inverse folding of subsections
- g:vikiFreeMarker: Search for the plain anchor text if no explicitly marked anchor was found.
- setting the b:vikiNoSimpleNames to true prevents viki from recognizing simple viki names
- made some script local functions global so that it should be easier to integrate viki with other plugins
- fixed moving cursor on <SID>VikiMarkInexistent()
- fixed typo: b:VikiEnabled, which should be b:vikiEnabled (thanks to Ned Konz)
Viki.zip 1.5.2 2004-10-26 6.0 Tom Link - changed default markup of textstyles: __emphasize__, ''code''; the
previous markup can be re-enabled by setting g:vikiTextstylesVer to 1)
- fixed problem with VikiQuote
- on follow-link, check for yet unsaved buffers too
Viki.zip 1.5.1 2004-09-27 6.0 Tom Link - depends on multvals >= 3.8.0
- new viki family "AnyWord" (see |viki-any-word|), which turns any word into a
potential viki link
- <LocalLeader>vq, VikiQuote: mark selected text as a quoted viki name
(requires imaps.vim, vimscript #244 or vimscript #475)
- check for null links when pressing <space>, <cr>, ], and some other keys
(defined in g:vikiMapKeys)
- a global suffix for viki files can be defined by g:vikiNameSuffix
- fix syntax problem when checking for links to inexistent files
Viki.zip 1.5 2004-09-09 6.0 Tom Link - different highlighting for links to existing and non-existing files
- added key bindings <LL>vs (split) and <LL>vv (split vertically)
- added key bindings <LL>v1 through to <LL>v4: open the viki link
under cursor in the windows 1 to 4
- handle variables g:vikiSplit, b:vikiSplit
- don't indent regions
- regions can be indented
- When a file doesn't exist, ESC or "n" aborts creation
Viki.zip 1.4 2004-08-20 6.0 Tom Link - fixed problem with table highlighting that could cause vim to hang
- it is now possible to selectivly disable simple or quoted viki names
- indent plugin
Viki.zip 1.3.1 2004-08-11 6.0 Tom Link - fixed bug when VikiGoBack was called without a definitiv back-reference (e.g. via <LocalLeader>vb)
- fixed encoding problems with latin-1 characters
Viki.zip 1.3 2004-08-06 6.0 Tom Link - basic ctags support (see |viki-tags|)
- mini-ftplugin for bibtex files (use record labels as anchors)
- added mapping <LocalLeader><c-cr>: follow link in other window (if any)
- disabled the highlighting of italic char styles (i.e., /text/)
- the ftplugin doesn't set deplate as the compiler; renamed the compiler plugin to deplate
- fix: VikiFoldLevel()
Viki.zip 1.2.103 2004-05-04 6.0 Tom Link - syntax file: fix nested regexp problem
- deplate: conversion to html/latex; download from
- made syntax a little bit more restrictive (*WORD* now matches /\*\w+\*/ instead of /\*\S+\*/)
- interviki definitions can now be buffer local variables, too
- fixed <SID>DecodeFileUrl(dest)
- some kind of compiler plugin (uses deplate)
- removed g/b:vikiMarkupEndsWithNewline variable
- saved all files in unix format (thanks to Grant Bowman for the hint)
- removed international characters from g:vikiLowerCharacters and
g:vikiUpperCharacters because of difficulties with different encodings (thanks to Grant Bowman for pointing out this problem); non-english-speaking users have to set these variables in their vimrc file
- g:vikiExplorer (for viewing directories)
- preliminary support for "soft" anchors (b:vikiAnchorRx)
- improved VikiOpenSpecialProtocol(url); g:vikiOpenUrlWith_{PROTOCOL},
- improved VikiOpenSpecialFile(file); g:vikiOpenFileWith_{SUFFIX},
- anchors may contain upper characters (but must begin with a lower char)
- some support for Mozilla ThunderBird mailbox-URLs (this requires spaces to be encoded as %20)
- changed g:vikiDefSep to ''
Viki.zip 1.0.5 2004-02-05 6.0 Tom Link Bug fixes. This version should work now with g:vikiUseParentSuffix set to 0, which, well, is the default value.
Viki.zip 1.0 2004-02-01 6.0 Tom Link - "Syntax" changes
- Extended names: For compatibility reasons with other wikis, the anchor is now in the reference part.
- For compatibility reasons with other wikis, prepending an anchor with b:commentStart is optional.
- g:vikiUseParentSuffix
- Renamed variables & functions (basically s/Wiki/Viki/g)
- added a ftplugin stub, moved the description to a help file
- "[--]" is reference to current file
- Folding support (at section level)
- "Intervikis"
- More highlighting
- g:vikiFamily, b:vikiFamily
- VikiGoBack() (experimental option: persistent history data)
- rudimentary LaTeX support ("soft" viki names)
- removed call to "simplify()"
Viki.vim 380 2003-12-19 6.0 Tom Link Initial upload
ip used for rating:

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.