vim 插件 vimwiki 帮助文档

D:\Program Files\vim\vim90\pack\dist\start\vimwiki-2024.01.24\doc\vimwiki.cnx.html
vimwiki.txt   Vim 个人维基

             __   __  ___   __   __  _     _  ___   ___   _  ___            
            |  | |  ||   | |  |_|  || | _ | ||   | |   | | ||   |           
            |  |_|  ||   | |       || || || ||   | |   |_| ||   |           
            |       ||   | |       ||       ||   | |      _||   |           
            |       ||   | |       ||       ||   | |     |_ |   |           
             |     | |   | | ||_|| ||   _   ||   | |    _  ||   |           
              |___|  |___| |_|   |_||__| |__||___| |___| |_||___|           

==============================================================================
目录                                                             vimwiki

    1. 介绍                          vimwiki-intro
    2. 安装需求                      vimwiki-prerequisites
    3. 映射                          vimwiki-mappings
        3.1. 全局映射                vimwiki-global-mappings
        3.2. 局部映射                vimwiki-local-mappings
        3.3. 文本对象                vimwiki-text-objects
    4. 命令                          vimwiki-commands
        4.1. 全局命令                vimwiki-global-commands
        4.2. 局部命令                vimwiki-local-commands
    5. 维基语法                      vimwiki-syntax
        5.1. 字体                    vimwiki-syntax-typefaces
        5.2. 链接                    vimwiki-syntax-links
        5.3. 标题                    vimwiki-syntax-headers
        5.4. 段落                    vimwiki-syntax-paragraphs
        5.5. 列表                    vimwiki-syntax-lists
        5.6. 表格                    vimwiki-syntax-tables
        5.7. 格式化文本              vimwiki-syntax-preformatted
        5.8. 数学公式                vimwiki-syntax-math
        5.9. 引用                    vimwiki-syntax-blockquotes
        5.10. 注释                   vimwiki-syntax-comments
        5.11. 水平分隔线             vimwiki-syntax-hr
        5.12. 标签                   vimwiki-syntax-tags
    6. 折叠/大纲                     vimwiki-folding
    7. 占位符                        vimwiki-placeholders
    8. 列表                          vimwiki-lists
    9. 表格                          vimwiki-tables
    10. 日记                         vimwiki-diary
    11. 锚点                         vimwiki-anchors
    12. 选项                         vimwiki-options
        12.1. 注册维基               vimwiki-register-wiki
        12.2. 临时维基               vimwiki-temporary-wiki
        12.3. 维基变量               vimwiki-local-options
        12.4. 语法变量               vimwiki-syntax-options
        12.5. 全局变量               vimwiki-global-options
    13. 获得帮助                     vimwiki-help
    14. 项献 & 漏洞报告              vimwiki-contributing
    15. 开发者                       vimwiki-development
    16. 更新日志                     vimwiki-changelog
    17. 许可证                       vimwiki-license


==============================================================================
1. 介绍                                                       vimwiki-intro

Vimwiki 可以在 Vim 编辑器中构建自己的百科。百科是组织在一起有统一格式的文本集
合,它使用 wiki 语法或者是 markdown 语法使文本在 Vim 中高亮显示以提高文本的可
读性。

通过 Vimwiki 你可以:
    - 组织笔记和想法
    - 组织待办事项
    - 编写文档
    - 写日记
    - 将文档导出为 HTML

Vimwiki 使用起来非常容易。安装完成后在 vim 中按 <Leader>ww (<Leader> 键默认
为 \) 会创建/打开 index 维基文件,该文件是其他维基文件的入口,默认文件存放位
置在 ~/vimwiki/index.wiki。

在该文件中输入以下示例:

= 我的个人知识库 =
    * 任务 -- _昨天_ 完成的事情!!!
    * Gutenberg 计划 -- 好书给我力量。
    * 草稿 -- 临时记录的一些东西。

然后,将光标移动到 '任务' 上然后按 Enter。这将会创建一个指向 '任务' 的链接,
它用双括号标记 '[[任务]]'。再次按 Enter 即可新建/打开指向 '任务' 的链接,按
Backspace 可保存并退回。

维基链接可以包含多个词,在 "visual" 模式下选中所需的词,然后按 Enter。

在可视模式下选中 'Gutenberg 计划' 按 Enter。文本会变成下面这个样式:

= 我的个人知识库 =
    * [[任务]] -- _昨天_ 完成的事情!!!
    * [[Gutenberg 计划]] -- 好书给我力量。
    * 草稿 -- 临时记录的一些东西。

使用这个方法可以创建子文件,可以创建出无数个彼此链接的文件,以此来组织你的笔记、
文档和任务。

==============================================================================
2. 安装需求                                       vimwiki-prerequisites

确保在 vimrc 文件里有以下设置:
    set nocompatible
    filetype plugin on
    syntax on

没有这些设置 Vimwiki 将无法正常工作。


==============================================================================
3. 映射                                                 vimwiki-mappings

Vimwiki 中的全局映射和局部映射。

------------------------------------------------------------------------------
3.1. 全局映射                                 vimwiki-global-mappings

只要正在使用 Vim 编辑,全局映射命令都会起作用。全局映射不会覆盖用户自己或是其
它插件已定义好的快捷键。下面是 Vimwiki 中所有的全局映射。

当 Vimwiki 全局映射默认的快捷键与其它快捷键冲突时,或者你想自定义快捷键时可以
使用下面的格式重新定义快捷键:

         :nmap {map} <Plug>{command}

含义
        {map} 你定义的快捷键
        {command} 需要重映射的维基命令

举例说明,重新定义 :VimwikiIndex 的快捷键,命令如下:
        :nmap <Leader>wx <Plug>VimwikiIndex

注意  <Plug> 属于命令中的一部分,执行 "map" 命令时会将其展开。若使用 "noremap"
作映射则不会对 <Plug> 进行展开。

若将全局映射放在 vimrc 文件里,则不需要命令前面的冒号。


                                                          vimwiki_<Leader>ww
[count]<Leader>ww
        打开第 [count] 个维基中的 index 文件。

        <Leader>ww 如果还没有维基文件被打开,则打开 g:vimwiki_list 列表中的
        第一个维基。除此之外打开当前已打开的维基。
        1<Leader>ww 打开 g:vimwiki_list 列表中的第一个维基。
        2<Leader>ww 打开 g:vimwiki_list 列表中的第二个维基。
        3<Leader>ww 打开 g:vimwiki_list 列表中的第三个维基。
        以上类推。

        重映射: <Plug>VimwikiIndex

参考 :VimwikiIndex


                                                          vimwiki_<Leader>wt
[count]<Leader>wt
        在新窗口打开第 [count] 个维基中的 index 文件。

        <Leader>wt 在新窗口打开 g:vimwiki_list 列表中的第一个 wiki。
        1<Leader>wt 同上,在新窗口打开 g:vimwiki_list 列表中的第一个 wiki。
        2<Leader>wt 在新窗口打开 g:vimwiki_list 列表中的第一个 wiki。
        3<Leader>wt 在新窗口打开 g:vimwiki_list 列表中的第一个 wiki。
        以上类推。

        重映射: <Plug>VimwikiTabIndex

参考 :VimwikiTabIndex

                                                          vimwiki_<Leader>ws
<Leader>ws
        列出可供选择的维基。

        重映射: <Plug>VimwikiUISelect

参考 :VimwikiUISelect

                                                          vimwiki_<Leader>wi
[count]<Leader>wi
        打开第 [count] 个维基中的  diary 文件。

        <Leader>wi 打开当前维基的 diary 文件。
        1<Leader>wi 打开 g:vimwiki_list 列表中的第一个 diary 文件。
        2<Leader>wi 打开 g:vimwiki_list 列表中的第二个 diary 文件。
        以上类推。

        重映射: <Plug>VimwikiDiaryIndex

参考 :VimwikiDiaryIndex

                                                  vimwiki_<Leader>w<Leader>w
[count]<Leader>w<Leader>w
        打开第 [count] 个维基中今天的 diary 文件。

        <Leader>w<Leader>w 打开当前维基中今天的 diary 文件。
        1<Leader>w<Leader>w 打开 g:vimwiki_list 列表里第一个维基中今天的
        diary 文件。
        2<Leader>w<Leader>w 打开 g:vimwiki_list 列表里第二个维基中今天的
        diary 文件。
        3<Leader>w<Leader>w 打开 g:vimwiki_list 列表里第三个维基中今天的
        diary 文件。
        以上类推。

        重映射: <Plug>VimwikiMakeDiaryNote

参考 :VimwikiMakeDiaryNote


                                                  vimwiki_<Leader>w<Leader>t
[count]<Leader>w<Leader>t
        在新窗口打开第 [count] 个维基中今天的 diary 文件。

        <Leader>w<Leader>t 在新窗口打开当前维基中今天的 diary 文件。
	1<Leader>w<Leader>t 在新窗打开 g:vimwiki_list 列表里第一个维基中今天
        的diary 文件。
	2<Leader>w<Leader>t 在新窗口打开 g:vimwiki_list 列表里第二个维基中今
        天的diary 文件。
        3<Leader>w<Leader>t 在新窗口打开 g:vimwiki_list 列表里第三个维基中今天
        天的diary 文件。
        以上类推。

        重映射: <Plug>VimwikiTabMakeDiaryNote

参考 :VimwikiTabMakeDiaryNote


                                                  vimwiki_<Leader>w<Leader>y
[count]<Leader>w<Leader>y
        打开第 [count] 个维基中昨天的 diary 文件。

        <Leader>w<Leader>y 打开当前维基中昨天的 diary 文件。
        1<Leader>w<Leader>y 打开 g:vimwiki_list 列表里第一个维基中昨天的
        diary 文件。
        2<Leader>w<Leader>y 打开 g:vimwiki_list 列表里第二个维基中昨天的
        diary 文件。
        3<Leader>w<Leader>y 打开 g:vimwiki_list 列表里第三个维基中昨天的
        diary 文件。
        以上类推。
        
        重映射: <Plug>VimwikiMakeYesterdayDiaryNote

参考 :VimwikiMakeYesterdayDiaryNote

                                                  vimwiki_<Leader>w<Leader>m
[count]<Leader>w<Leader>m
        打开第 [count] 个维基中明天的 diary 文件。

        <Leader>w<Leader>m 打开当前维基中明天的 diary 文件。
        1<Leader>w<Leader>m 打开 g:vimwiki_list 列表里第一个维基中明天的
        diary 文件。
        2<Leader>w<Leader>m 打开 g:vimwiki_list 列表里第二个维基中明天的
        diary 文件。
        3<Leader>w<Leader>m 打开 g:vimwiki_list 列表里第三个维基中明天的
        diary 文件。
        以上类推。

        重映射: <Plug>VimwikiMakeTomorrowDiaryNote

参考 :VimwikiMakeTomorrowDiaryNote

------------------------------------------------------------------------------
3.2. 局部映射                                   vimwiki-local-mappings

当使用 Vim 编辑维基文件时,即 FileType 为 "vimwiki"。局部映射时才会起作。
局部命令会覆盖与之有冲突的其它快捷键。若要修改或者禁用局部映射命令
(参考 g:vimwiki_key_mappings),下面列出了 Vimwiki 中所有的局部映射命令。

修改以 <Plug> 开头的映射:

        :{mode}map {map} <Plug>{command}

修改不以 <Plug> 开头的映射:

        :{mode}noremap {map} {command}

含义
        {mode} 模式 n 表示 "normal", v 表示 "visual", i 表示 "insert"
        {map} 定义的快捷键
        {command} 需要重映射的维基命令

举例:
       :nmap <Leader>tl <Plug>VimwikiToggleListItem
       :vmap <Leader>tl <Plug>VimwikiToggleListItem
       :nnoremap glo :VimwikiChangeSymbolTo a)<CR>

前两行在模式 normal 和 visual 下将 "\tl" 重映射到 :VimwikiToggleListItem<Leader> 默认为 "\"。使用命令 :echo mapleader 可以查看是否有被映射为其它值。
第三行的映射不包含 <Plug>,它直接映射到 Ex 模式命令。

注意  <Plug> 是命令的一部分,需映射的命令中包含 <Plug> 时必须使用 "map" 命令。
若使用了 "noremap" 命令则不会对 <Plug> 进行展开。

推荐将你自定义的局部映射放在 .vim 配置目录下的 ftplugin/vimwiki.vim 中,如果没
有可以手动创建。或者在 vimrc 中使用 autocmd  为不同类型的文件进行配置。

注意:你可能想在映射的命令选项中使用 <silent> <buffer>,但这仅在映射位于
ftplugin 中或是根据文件类型的自动的命令中才需这么做。你可以查阅 Vim 的帮助进行
详细的了解。

映射              模式
                                                          vimwiki_<Leader>wh
<Leader>wh         n    将当前的维基页面转换为 HTML。
                        映射到 :Vimwiki2HTML
                        重映射: <Plug>Vimwiki2HTML

                                                         vimwiki_<Leader>whh
<Leader>whh        n    将当前维基页面转为 HTML 并使用浏览器打开。
                        映射到 :Vimwiki2HTMLBrowse
                        重映射: <Plug>Vimwiki2HTMLBrowse

                                                  vimwiki_<Leader>w<Leader>i
<Leader>w<Leader>i n    在 diary 维基中更新目录
                        映射到 :VimwikiDiaryGenerateLinks
                        重映射: <Plug>VimwikiDiaryGenerateLinks

                                                                vimwiki_<CR>
<CR>               n    打开/创建维基链接 (不存在时创建)。
                        映射 :VimwikiFollowLink.
                        重映射: <Plug>VimwikiFollowLink

                                                              vimwiki_<S-CR>
<S-CR>             n    以水平分栏窗口跳转到 (不存在时创建) 维基链接。
                        在一些终端中可能失效,需重新映射。
                        映射到 :VimwikiSplitLink.
                        重映射: <Plug>VimwikiSplitLink

                                                              vimwiki_<C-CR>
<C-CR>             n    以垂直分栏窗口跳转到 (不存在时创建) 维基链接。
                        在一些终端中可能无效,需重新映射。
                        映射到 :VimwikiVSplitLink.
                        重映射: <Plug>VimwikiVSplitLink

                                                              vimwiki_<M-CR>
<M-CR>             n    将其添加到缓冲区列表中,而不打开 (不存在时创建)。
                        在一些终端中可能无效,需重新映射。
                        映射到 :VimwikiBaddLink.
                        重映射: <Plug>VimwikiBaddLink

                                        vimwiki_<C-S-CR>    vimwiki_<D-CR>
<C-S-CR>, <D-CR>   n    在新标签页打开维基链接 (不存在时创建)。
                        在一些终端中可能无效,重映射可以解决。
                        映射到 :VimwikiTabDropLink.
                        重映射: <Plug>VimwikiTabDropLink
                        参考 :VimwikiTabnewLink 旧版本总会打开一个新窗口。

                                                         vimwiki_<Backspace>
<Backspace>        n    回到父级维基页面。
                        映射到 :VimwikiGoBackLink.
                        重映射: <Plug>VimwikiGoBackLink

                                                               vimwiki_<Tab>
<Tab>              n    跳转到当前页面的下一个链接处。
                        映射到 :VimwikiNextLink.
                        重映射: <Plug>VimwikiNextLink

                                                             vimwiki_<S-Tab>
<S-Tab>            n    跳转到当前页面的上一个链接处。
                        映射到 :VimwikiPrevLink.
                        重映射: <Plug>VimwikiPrevLink

                                                          vimwiki_<Leader>wc
<Leader>wc         n v  改变该行或者是选中文本的颜色。
                        映射到 :VimwikiColorize 之后会询问用户使用的颜色
                        重映射: <Plug>VimwikiColorize

                                                          vimwiki_<Leader>wn
<Leader>wn         n    跳转到指定的链接。
                        映射到 :VimwikiGoto.
                        重映射: <Plug>VimwikiGoto

                                                          vimwiki_<Leader>wd
<Leader>wd         n    删除当前所在的维基页。
                        映射到 :VimwikiDeleteFile.
                        重映射: <Plug>VimwikiDeleteFile

                                                          vimwiki_<Leader>wr
<Leader>wr         n    重命名当前所在的维基页。
                        映射到 :VimwikiRenameFile.
                        重映射: <Plug>VimwikiRenameFile

                                                                   vimwiki_=
=                  n    增加标题层级,如果文本不是标题则将其变为标题。在
                        Vimwiki 里没有使用 "==" 进行缩进的命令,所以这里使用
                        "=" 是可以的。
                        重映射: <Plug>VimwikiAddHeaderLevel

                                                                   vimwiki_-
-                  n    减少标题层级。
                        重映射: <Plug>VimwikiRemoveHeaderLevel

                                                                  vimwiki_[[
[[                 n    跳转到当前缓冲区的上一个标题处。
                        重映射: <Plug>VimwikiGoToPrevHeader

                                                                  vimwiki_]]
]]                 n    跳转到当前缓冲区的下一个标题处。
                        重映射: <Plug>VimwikiGoToNextHeader

                                                                  vimwiki_[=
[=                 n    跳转到同一标题下与光标所处标题同级的上一个标题。
                        重映射: <Plug>VimwikiGoToPrevSiblingHeader

                                                                  vimwiki_]=
]=                 n    跳转到同一标题下与光标所处标题同级的下一个标题。
                        重映射: <Plug>VimwikiGoToNextSiblingHeader

                                                    vimwiki_]u  vimwiki_[u
]u [u              n    移动到上一级,即移动到当前标题的父标题处。
                        重映射: <Plug>VimwikiGoToParentHeader

                                                                   vimwiki_+
+                  n v  将普通文本转换为链接,或者为链接添加描述。
                        在 normal 模式下会将光标处的词转为链接,
                        在 visual 模式下会将选中的文本转换为链接。
                        重映射:
                        <Plug>VimwikiNormalizeLink (normal mode)
                        <Plug>VimwikiNormalizeLinkVisual (visual mode)

                                                          vimwiki_<C-Space>
<C-Space>         n     切换列表的状态 (on/off)。会将普通列表转换为待办列表。
                        映射到 :VimwikiToggleListItem.
                        参考 vimwiki-todo-lists.
                        重映射: <Plug>VimwikiToggleListItem

                                                                vimwiki_gnt
gnt               n     跳转到当前维基中下一个未完成的任务。
                        映射到 :VimwikiNextTask
                        重映射: <Plug>VimwikiNextTask

                                      vimwiki_gl<Space> vimwiki_gL<Space>
gl<Space>         n     将待办列表转换为普通列表。
                        重映射: <Plug>VimwikiRemoveSingleCB
gL<Space>               将同一级的待办列表全部转为普通列表。
                        重映射: <Plug>VimwikiRemoveCBInList

                                                  vimwiki_gln vimwiki_glp
gln               n v   增加待办列表的完成进度,例如从 [ ] 到 [.] 到 [o] 等。
                        参考 vimwiki-todo-lists.
glp                     减少待办列表的完成进度。
                        重映射: <Plug>VimwikiIncrementListItem

                                                  vimwiki_gll vimwiki_gLl
gll               n     增加列表的缩进级别。
                        重映射: <Plug>VimwikiIncreaseLvlSingleItem
gLl                     增加列表及其子列表的缩进级别。
 或 gLL                 重映射: <Plug>VimwikiIncreaseLvlWholeItem

                                                  vimwiki_glh vimwiki_gLh
glh               n     减少列表的缩进级别。
                        重映射: <Plug>VimwikiDecreaseLvlSingleItem
gLh                     减少列表及其子列表的缩进级别。
 或 gLH                 重映射: <Plug>VimwikiDecreaseLvlWholeItem

                                                  vimwiki_glr vimwiki_gLr
glr               n     对光标所在处的有序列表进行重新编号。
                        重映射: <Plug>VimwikiRenumberList
gLr                     对文件中的所有列表进行重新编号,包括待办列表。
                        重映射: <Plug>VimwikiRenumberAllLists

                                            vimwiki_glstar vimwiki_gLstar
gl*               n     将普通行转换为列表,或者将列表的标记符号转换为 *。
gL*                     将与当前同一级列表的标记符号改为 *。
                        重映射: :VimwikiChangeSymbolTo *<CR>
                        noremap glO :VimwikiChangeSymbolInListTo *<CR>

                                                  vimwiki_gl# vimwiki_gL#
gl#               n     将普通行转换为列表,或者将列表的标记符号转换为 #。
gL#                     将与当前同一级列表的标记符号改为 #。
                        重映射: :VimwikiChangeSymbolTo #<CR>
                        重映射: :VimwikiChangeSymbolInListTo #<CR>

                                                  vimwiki_gl- vimwiki_gL-
gl-               n     将普通行转换为列表,或者将列表的标记符号转换为 -。
                        重映射:  :VimwikiChangeSymbolTo -<CR>
gL-                     将与当前同一级列表的标记符号改为 -。
                        重映射: :VimwikiChangeSymbolInListTo -<CR>

                                                  vimwiki_gl+ vimwiki_gL+
gl+               n     将普通行转换为列表,或者将列表的标记符号转换为 +。
                        重映射:  :VimwikiChangeSymbolTo +<CR>
gL+                     将与当前同一级列表的标记符号改为 +。
                        重映射: :VimwikiChangeSymbolInListTo +<CR>

                                                  vimwiki_gl1 vimwiki_gL1
gl1               n     将普通行转换为列表,或者将列表的标记符号转换为 1.,
                        编号会根据上下列表的编号自行决定。
                        重映射: :VimwikiChangeSymbolTo 1.<CR>
gL1                     将与当前同一级列表的标记符号改为 1. 2. 3. ...
                        重映射: :VimwikiChangeSymbolInListTo 1.<CR>

                                                  vimwiki_gla vimwiki_gLa
gla              n      将普通行转换为列表,或者将列表的标记符号转换为 a),
                        编号会根据上下列表的编号自行决定。
                        重映射: :VimwikiChangeSymbolTo a)<CR>
gLa                     将与当前同一级别列表的标记符号改为 a) b) c) ...
                        重映射: :VimwikiChangeSymbolInListTo a)<CR>

                                                  vimwiki_glA vimwiki_gLA
glA              n      将普通行转换为列表,或者将列表的标记符号转换为 A),
                        编号会根据上下列表的编号自行决定。
                        重映射: :VimwikiChangeSymbolTo A)<CR>
gLA                     将与当前同一级别列表的标记符号改为 A) B) C) ...
                        重映射: :VimwikiChangeSymbolInListTo A)<CR>

                                                  vimwiki_gli vimwiki_gLi
gli              n      将普通行转换为列表,或者将列表的标记符号转换为 i),
                        编号会根据上下列表的编号自行决定。
                        重映射: :VimwikiChangeSymbolTo i)<CR>
gLi                     将与当前同一级别列表的标记符号改为 i) ii) iii) ...
                        重映射: :VimwikiChangeSymbolInListTo i)<CR>

                                                  vimwiki_glI vimwiki_gLI
glI              n      将普通行转换为列表,或者将列表的标记符号转换为 I),
                        编号会根据上下列表的编号自行决定。
                        重映射: :VimwikiChangeSymbolTo I)<CR>
gLI                     将与当前同一级别列表的标记符号改为 I) II) III) ...
                        重映射: :VimwikiChangeSymbolInListTo I)<CR>

                                                                vimwiki_glx
glx              n      切换待办列表复选框状态 (disabled/off),注如果清单列表
                        没有复选框添加复选框。
                        映射到 :VimwikiToggleRejectedListItem.
                        参考 vimwiki-todo-lists.
                        重映射: <Plug>VimwikiToggleRejectedListItem

                                                 vimwiki_gqq  vimwiki_gww
gqq              n      格式化修改后的表格。
 或                     重映射: <Plug>VimwikiTableAlignQ
gww                     重映射: <Plug>VimwikiTableAlignW

                                                 vimwiki_gq1  vimwiki_gw1
gq1              n      快速格式化表格,用法与上面的一样。不同之处是这个只检测
或                      所在行的前几行。如果前当前的对齐与其不一致时,则会重新
                        格式化整个表格。
                        重映射: <Plug>VimwikiTableAlignQ1
gw1                     重映射: <Plug>VimwikiTableAlignW1

                                                           vimwiki_<A-Left>
<A-Left>         n      将表格中的当前列向左移。
                        参考 :VimwikiTableMoveColumnLeft
                        重映射: <Plug>VimwikiTableMoveColumnLeft

                                                          vimwiki_<A-Right>
<A-Right>        n      将表格中的当前列向右移。
                        参考 :VimwikiTableMoveColumnRight
                        重映射: <Plug>VimwikiTableMoveColumnRight

                                                             vimwiki_<C-Up>
<C-Up>           n      尝试打开上一篇日记
                        参考 :VimwikiDiaryPrevDay
                        重映射: <Plug>VimwikiDiaryPrevDay

                                                           vimwiki_<C-Down>
<C-Down>         n      尝试打开下一篇日记
                        参考 :VimwikiDiaryNextDay
                        重映射: <Plug>VimwikiDiaryNextDay

鼠标映射                                                vimwiki_mouse

这些映射默认是禁用的。
若要使用鼠标映射功能查看 g:vimwiki_key_mappings 来启用映射。

<2-LeftMouse>           打开/创建维基链接 (不存在时创建)。

<S-2-LeftMouse>         以水平分栏窗口跳转到 (不存在时创建) 维基链接。

<C-2-LeftMouse>         以垂直分栏窗口跳转到 (不存在时创建) 维基链接。

<RightMouse><LeftMouse> 回到父级维基页面。

提示: <2-LeftMouse> 就是双击鼠标左边的按键两下。



插入模式下表格中的映射                           vimwiki-table-mappings
                                                        vimwiki_i_<CR>_table
<CR>                    跳转到当前行的下一行,当前行为最后一行时插入新行。

                                                       vimwiki_i_<Tab>_table
<Tab>                   跳转到下一个单元格,如果该单元格是表格中的最后一个单元
			格则插入新行。单元格的宽度会自动以该列最宽的单元格进行
                        调整。
                        重映射: <Plug>VimwikiTableNextCell

                                                     vimwiki_i_<S-Tab>_table
<S-Tab>                 跳转到上一个单元格,单元格的宽度会自动以该列最宽的单元
                        格进行调整。
                        重映射: <Plug>VimwikiTablePrevCell

插入模式下列表中的映射                             vimwiki-list-mappings
                                                              vimwiki_i_<CR>
<CR>                    在列表中,插入一行列表清单,编号会自动增加。当列表清单
                        内容为空时会删除该清单的列表标识符。这对于结束当前列表
                        的输入十分有用,只需按两次 <CR> 即可。
                        参考 vimwiki-lists 详细了解如何配置该键的行为。

                                                            vimwiki_i_<S-CR>
<S-CR>                  换行但不插入新的列表清单,这在列表清单内容过长需跨多行
			输入时很有用。参考 vimwiki-lists 了解如何对其进行详
                        细配置。默认的映射在有的终端可能会失效,需重新映射。

                                                             vimwiki_i_<C-T>
<C-T>                   增加列表清单的级别。
                        重映射: <Plug>VimwikiIncreaseLvlSingleItem

                                                             vimwiki_i_<C-D>
<C-D>                   减少列表清单的级别。
                        重映射: <Plug>VimwikiDecreaseLvlSingleItem

                                                       vimwiki_i_<C-L>_<C-J>
<C-L><C-J>              修改当前清单的标志符到下一个可用的符号。其顺序依照从
			 - 到 1. 到 * 到 I) 到 a) 循环。
                        重映射: <Plug>VimwikiListNextSymbol

                                                       vimwiki_i_<C-L>_<C-K>
<C-L><C-K>              修改当前清单的标志符为上一个可用的符号。其顺序依照从
                         - 到 a) 到 I) 到 * 到 1. 循环。
                        重映射: <Plug>VimwikiListPrevSymbol

                                                       vimwiki_i_<C-L>_<C-M>
<C-L><C-M>              添加/删除列表的标识符号。
                        重映射: <Plug>VimwikiListToggle


------------------------------------------------------------------------------
3.3. 文本对象                                       vimwiki-text-objects

ah                      标题以及到下一个标题的内容
ih                      标题下的内容 (类似 'ah',但不包括标题以及末尾空行)。

aH                      标题以及所有子标题的内容。当 [count] 为 2 时,包含至父
                        标题,当 [count] 为 3 时,包含至祖标题,以此类推。
iH                      类似 'aH',但不包括标题以及末尾空行。

举例:
- 输入 'cih' 修改当前标题下的内容
- 'daH' 删除标题及其内容,包括所有的子标题及内容。
- 'v2aH' 选择当前光标所属标题的父标题,及其所有的子标题及内容。

a\                      表格中的一个单元格。
i\                      表格中单元格中的内容。
ac                      表格中的一列。
ic                      表格中一列中的内容。

al                      列表及其它的子项。
il                      单独的一个列表项。

这些快捷键可以通过下面这些重映射进行修改:

  omap ah <Plug>VimwikiTextObjHeader
  vmap ah <Plug>VimwikiTextObjHeaderV
  omap ih <Plug>VimwikiTextObjHeaderContent
  vmap ih <Plug>VimwikiTextObjHeaderContentV
  omap aH <Plug>VimwikiTextObjHeaderSub
  vmap aH <Plug>VimwikiTextObjHeaderSubV
  omap iH <Plug>VimwikiTextObjHeaderSubContent
  vmap iH <Plug>VimwikiTextObjHeaderSubContentV
  omap a\ <Plug>VimwikiTextObjTableCell
  vmap a\ <Plug>VimwikiTextObjTableCellV
  omap i\ <Plug>VimwikiTextObjTableCellInner
  vmap i\ <Plug>VimwikiTextObjTableCellInnerV
  omap ac <Plug>VimwikiTextObjColumn
  vmap ac <Plug>VimwikiTextObjColumnV
  omap ic <Plug>VimwikiTextObjColumnInner
  vmap ic <Plug>VimwikiTextObjColumnInnerV
  omap al <Plug>VimwikiTextObjListChildren
  vmap al <Plug>VimwikiTextObjListChildrenV
  omap il <Plug>VimwikiTextObjListSingle
  vmap il <Plug>VimwikiTextObjListSingleV


==============================================================================
4. 命令                                                 vimwiki-commands

------------------------------------------------------------------------------
4.1. 全局命令                                 vimwiki-global-commands

:VimwikiIndex [count]
    打开当前维基的索引文件。可通过 [count] 打开 g:vimwiki_list 对应维基的索
    引文件。

:VimwikiTabIndex [count]
    在新标签页中打开当前维基的索引文件。可通过 [count] 打开 g:vimwiki_list
    中对应的维基索引文件。

:VimwikiUISelect
    列出所有已注册的维基文件供选择。

:VimwikiVar [varname] [value]
    获取/设置 vimwiki 变量,具体行为依赖参数个数:
    0. 显示 vimwiki 所有参数。
    1. 显示变量 varname 的值。可以使用自动补全功能对变量进行补全。
    2. 设置变量 varname 的值为 value。可以使用自动补全功能对变量进行补全。

:VimwikiDiaryIndex [count]
    打开当前维基的日记目录文件。可通过 [count] 打开 g:vimwiki_list 中对应维
    基的日记目录文件。

:VimwikiMakeDiaryNote [count]
    打开当前维基中当天的日记。可通过 [count] 打开 g:vimwiki_list 中对应维基
    当天的日记文件。

:VimwikiTabMakeDiaryNote [count]
    在新标签页打开当前维基中当天的日记。可通过 [count] 打开 g:vimwiki_list
    中对应维基当天的日记文件。

:VimwikiMakeYesterdayDiaryNote [count]
    打开当前维基中昨天的日记。可通过 [count] 打开 g:vimwiki_list 中对应维基
    昨天的日记文件。

:VimwikiMakeTomorrowDiaryNote [count]
    打开当前维基中明天的日记。可通过 [count] 打开 g:vimwiki_list 中对应维基
    明天的日记文件。

------------------------------------------------------------------------------
4.2. 局部命令                                   vimwiki-local-commands

这些命令只有在维基文件中才能生效。

:VimwikiFollowLink
    打开/创建维基链接 (不存在时创建)。

:VimwikiGoBackLink
    回到父级维基页面。

:VimwikiSplitLink [reuse] [move_cursor]
    以水平分栏窗口跳转到 (不存在时创建) 维基链接。

    参数 'reuse' 存在且不为零时,则会尝试在已存在的分隔窗口中打开链接。而不是
    重新创建一个新窗口。

    参数 'move_cursor' 存在且不为零时,则会尝试在已存在的分隔窗口中打开链接。
    而不是重新创建一个新窗口。

:VimwikiVSplitLink [reuse] [move_cursor]
    以垂直分栏窗口跳转到 (不存在时创建) 维基链接。

    参数 'reuse' 存在且不为零时,则会尝试在已存在的分隔窗口中打开链接。而不是
    重新创建一个新窗口。

    参数 'move_cursor' 存在且不为零时,则会尝试在已存在的分隔窗口中打开链接。
    而不是重新创建一个新窗口。

:VimwikiBaddLink
    将其添加到缓冲区列表中,而不打开 (不存在时创建)。

:VimwikiTabnewLink
    在新标签页打开维基链接 (不存在时创建)。

:VimwikiTabDropLink
    在新标签页打开维基链接 (链接文件已打开则跳转到对应的维基文件,链接文件不存
    在时创建)。

:VimwikiNextLink
    跳转到当前页面的下一个链接。

:VimwikiPrevLink
    跳转到当前页面的上一个链接。

:VimwikiGoto
    跳转到指定的链接,例如:
        :VimwikiGoto HelloWorld
    将会打开/创建名为 HelloWorld 的维基页面。

    链接名字支持 cmdline-completion 功能 (命令自动补全)。如果没有输入链接的
    名字,则会显示所有可能的链接。

:VimwikiDeleteFile
    删除当前所在的维基页。

:VimwikiRenameFile
    重命名当前所在的维基页。

:VimwikiRemoveDone
    选中范围:删除范围内所有已完成的 vimwiki-todo-lists 行。

    此外:
    删除已完成的待办事项,会将其子项目一并删除;同时会同时更新其父待办事项的完
    成状态。如果只想要删除当前级别中已完成的待办,需自定义一个命令,该命令调用
    和此命令同样的函数,但第一个参数设为 0        :command! -buffer -range VimwikiRemoveDone call
           \ vimwiki#lst#remove_done(0, "<range>", <line1>, <line2>)

:VimwikiNextTask
    跳转到当前维基中下一个未完成的任务。

:Vimwiki2HTML
    使用 Vimwiki 提供的脚本或是用户自定脚本将当前的维基页面转换为网页。
    用户自定义脚本参考 vimwiki-option-custom_wiki2html:Vimwiki2HTMLBrowse
   将当前维基页面转为 HTML 并使用浏览器打开。

:VimwikiAll2HTML[!]
    将所有的维基页面转换为网页。
    如果没有找到 CSS 文件,则会创建一个默认的 CSS 文件 (style.css)。

    默认情况只对还没转换为网页的维基文件,或是有变动的维基文件进行转换。但是若
    有 ! 则会对所有维基文件进行转换。

:VimwikiRss
    为日记目录生成 RSS 源 (简易信息聚合)。

:VimwikiToggleListItem
    切换列表的状态 (on/off)。会将普通列表转换为待办列表。
    参考 vimwiki-todo-lists:VimwikiToggleRejectedListItem
    切换待办列表状态 (disabled/off)。
    参考 vimwiki-todo-lists:VimwikiListChangeLvl CMD
    改变单行列表清单的嵌套级别或者标识符。CMD 为 ">>" 或 "<<" 时可以改变清单的
    嵌套级别,为 "*", "#", "1.", "-" 时用于改变清单的标识符。
    参考 vimwiki-todo-lists:VimwikiSearch /pattern/
:VWS /pattern/
    在当前维基的所有文件中搜索 /pattern/。
    显示所有匹配的结果使用命令 :lopen。
    显示下一个匹配的结果用命令 :lnext。
    显示上一个匹配的结果用命令 :lprevious。

    提示:该功能是对命令 :lvimgrep 的简单封装。关于搜索格式的完整描述请参考
    :vimgrep。例如,想在搜索时不区分大小写,可以使用
    :VWS /\cpattern/

:VimwikiBacklinks
:VWB
    在当前维基的所有文件中搜索指向当前页面的链接。
    显示所有匹配的结果使用命令 :lopen。
    显示下一个匹配的结果用命令 :lnext。
    显示上一个匹配的结果用命令 :lprevious:VimwikiTable
    创建一个 5 列 2 行的表格。

    :VimwikiTable 列数 行数
    创建一个指定列数和行数的表格。

    :VimwikiTable 列数
    创建一个 2 行指定列数的表格。


:VimwikiTableMoveColumnLeft , :VimwikiTableMoveColumnRight
    向左或向右移动当前列,例如:

    | head1  | head2  | head3  | head4  | head5  |
    |--------|--------|--------|--------|--------|
    | value1 | value2 | value3 | value4 | value5 |


    光标位于 'head1'.
    :VimwikiTableMoveColumnRight

    | head2  | head1  | head3  | head4  | head5  |
    |--------|--------|--------|--------|--------|
    | value2 | value1 | value3 | value4 | value5 |

    光标位于 'head3'.
    :VimwikiTableMoveColumnLeft

    | head2  | head3  | head1  | head4  | head5  |
    |--------|--------|--------|--------|--------|
    | value2 | value3 | value1 | value4 | value5 |


    命令映射的快捷键是 <A-Left><A-Right>:VimwikiGenerateLinks [pattern]
    在当前缓冲区中插入指向当前维基所有文件的链接清单。如果提供了一个可选的
    'pattern' 作为参数,则会在维基的根目录下根以 'pattern' 作为 globpath 来
    进行搜索。

:VimwikiDiaryGenerateLinks
    在 diary 维基中更新目录

:VimwikiDiaryNextDay
    尝试打开下一篇日记。已映射到 <C-Down>:VimwikiDiaryPrevDay
    尝试打开上一篇日记。已映射到 <C-Up>:VimwikiTOC
    新建或更新当前文件的目录。参考 vimwiki-toc:VimwikiCheckLinks
    遍历所有维基文件,检查维基中指向内部和指向外部的文件是否存在。检查从 index
    文件页面能否访问所有的维基面面,将所有的结果显示在快速修复窗口中。

    这个功能可以查找那些被 “孤立” 的维基文件/页面。

    范围:使用维基编号,默认是当前维基。


:VimwikiRebuildTags
    重构所有更新维基文件的标签元数据文件。所有与标签相关的命令
    vimwiki-syntax-tags 都依赖标签元数据。

    :VimwikiRebuildTags! 重构所有文件的标签元数据文件。

:VimwikiSearchTags
    在当前维基页面文件中搜索给定标签的所有位置。支持命令补全 (cmdline-completion)。

:VimwikiGenerateTagLinks tagname1 tagname2 ...
    新建或更新维基中的所有标签概述,概述中包含了指向该标签出现的所有位置链接。
    支持命令补全 cmdline-completion。如果没有指标参数 (标签名字) 则会输出所
    有的标签。这个命令能正常工作的前提是有标签存在 (参考 vimwiki-build-tags)。

:VimwikiColorize red
    为指定范围 (range) 的字设置颜色。字符颜色通过 vimwiki-option-color_dic
    配置,字符高亮显示颜色通过 vimwiki-option-color_tag_template 配置。

:VimwikiPasteLink
    在当前维基文件中插入当前文件相对于根目录的绝对路经链接。

:VimwikiPasteUrl
    在当前维基文件中插入与当前文件对应 html 文件的相对于根目录的绝对路经链接。


==============================================================================
5. 维基语法                                                vimwiki-syntax


有很多不同的维基,他们大多有自己的语法规则,Vimwiki 也不例外有自己的语法。

Vimwiki 的语法与谷歌维基语法很相似,下面进行详细介绍。

Vimwiki 也能在一定程度上支持 Markdown 和 MediaWiki 语法格式。具体参考
vimwiki-option-syntax。Vimwiki 支持的 Markdown 语法规范可以在这里查看:
https://github.github.com/gfm

像标题、引用和清单的静态元素在 syntax/vimwiki_xxx.vim 文件中定义,其中 xxx 表
示所对应的维基语法。

交互式的元素,如链接、维基命令在 syntax/vimwiki_xxx_custom.vim 和
autoload/vimwiki/xxx_base.vim 中定义。目前只支持 Markdown 语法。

Vimwiki2HTML 只对使用默认语法的维基生效。

------------------------------------------------------------------------------
5.1. 字体                                      vimwiki-syntax-typefaces

这些修饰符可以控制字体的显示方式:

  *粗体*
  _斜体_
  _*粗体 + 斜体*_
  *_粗体 + 斜体_*
  ~~带删除线的文本~~
  `代码块 (不使用任何语法)`
  上标^脚本^
  下标,,脚本,,

在 Markdown 语法中使用下面的修饰符:

  **粗体** 或 __粗体__
  *斜体* 或 _斜体_
  ***粗体 + 斜体*** 或 ___粗体 + 斜体___

下面的文字会被高亮显示:TODO, DONE, STARTED, FIXME, FIXED, XXX (可以修改这些文
字,参考 g:vimwiki-option-rx_todo)。

若代码块中仅包括以 # 开头后面跟随 6 位十六位进制数的内容时,在转换为 HTML 文件
时会以该十六进制表示的颜色作为字体的背景色,字体颜色默认为黑色。例如:
 `#ffe119`
将会被转换为
 <code style='background-color:#ffe119;color:black;'>#ffe119</code>

------------------------------------------------------------------------------
5.2. 链接                                              vimwiki-syntax-links

Wikilinks

普通的链接;
  [[这是一个链接]]
带上描述:
  [[这是一个链接的源|这是对链接的描述]]

维基文件不一定非得在你维基的根目录下,你可以像下面这样将其放在子目录里:
  [[projects/Important Project 1]]
如果想从这样的维基文件跳回 index 文件,可以使用这样的链接:
  [[../index]]
或者:
  [[/index]]
第二种链接之所以有效是因为以 "/" 开始的链接被设定为了指向维基根目录的绝对路径,
也就是说无论你正在编辑的文件位于哪个子目录,[[/index]] 总是指向你维基所在目录
的 index.wiki 文件。

如果你想要在本地文件系统中使用绝对路径时,你可以在路径前面添加 // 来实现
  [[//绝对路径]]
例如:
  [[///tmp/in_root_tmp]]
  [[//~/in_home_dir]]
  [[//$HOME/in_home_dir]]
在使用默认扩展名的维基文件中,这样的链接:
  [[///tmp/foo]]
链接指向的文件为:
  /tmp/foo.wiki

支持链接到维基的子目录里,他们使用 "/" 作结尾:
  [[一个子目驭/|其他文件]]
使用 g:vimwiki_dir_link 可以设置打开目录时的操作。

在 Vim 编辑器中可以通过命令补全功能简化维基链接的输入 (参考 compl-omni) 举例:
  [[ind<C-X><C-O>
这将会弹出一个菜单,显示所有以 "ind" 开头的维基文件。

当将 vimwiki-option-maxhi 设置为 1 时,维基文件中的链接若指向的页面或文件不
存在时,会使用一种不同的高亮样示显示该链接。这样便于识别修复失效的链接。

跨维基

如果你维护了多个维基,你可以创建跨维基链接在不同的维基之间跳转。跨维基使用一个
带编号的前缀 "wikiX" 来指定所链接的维基:
  [[wiki1:这是一个链接]]
或:
  [[wiki1:这是一个链接的源|这是对链接的描述]]

"wiki" 后面的编号范围在 0..N-1 之间,Ng:vimwiki_list 中维基的数量。

跨维基链接也支持使用名字,格式 "wn.name:link"
  [[wn.My Name:这是一个链接]]
或:
  [[wn.MyWiki:这是一个链接的源|这是对链接的描述]]

为每一个维基设置一个名字参考 vimwiki-option-name日记

"diary:" 用于链接到日记目录中:
  [[diary:2012-03-05]]

锚点

一个维基链接、跨维基链接、日记链接的后面可以跟一 '#' 和锚点的名字。当打开对应
的链接时,光标会跳到指定的锚点上。
  [[Todo List#Tomorrow|Tasks for tomorrow]]

如果在当前维基文件内跳转可以省略文件名:
  [[#Tomorrow]]

如何设置一个锚点,参考 vimwiki-anchors网址链接

支持网址链接:
  https://github.com/vimwiki/vimwiki.git
  mailto:habamax@gmail.com
  ftp://vim.org

外部文件

符号 "file:" 和 "local:" 可以使用绝对路径或相对路径链接到外部文件:
  [[file:/home/somebody/a/b/c/music.mp3]]
  [[file:C:/Users/somebody/d/e/f/music.mp3]]
  [[file:~/a/b/c/music.mp3]]
  [[file:../assets/data.csv|Important Data]]
  [[local:C:/Users/somebody/d/e/f/music.mp3]]
  [[file:/home/user/documents/|Link to a directory]]

这些链接的资源会使用系统命令打开,例如:!xdg-open (Linux), !open
(Mac), 或 !start (Windows)。若想使用指定的程序打开链接的资源参考
VimwikiLinkHandler。

在 Vim 编辑器中 "file:" 和 "local:" 行为是一样的,你可以使用相对路径也可以使用
绝对路径。但是若要转换为网页,则 "file:" 对应的链接会使用绝对路径,而 "local:"
对应的链接则会转换为相对链接。如果你想在另一台电脑上浏览生成的网页文件,那么使
用相对链接会更好一些。要定制链接转换为网页时的行为,参考 VimwikiLinkConverter嵌入链接 (Wiki-Include)

包含在 "{{" 和 "}}" 之间的链接在转换为网页时会将链接的内容包含在网页中,而不是
通过超链接来引用。

Wiki-include URLs 可以支持所有可支持的形式,可以是绝对路径也可以是相对路径,并
且不需要包含扩展名。

wiki-include 链接主要用于包含图片。

嵌入一个本地资源:
  {{file:../../images/vimwiki_logo.png}}
或者嵌入一个网络资源:
  {{https://raw.githubusercontent.com/vimwiki/vimwiki/master/doc/splash.png}}

嵌入图片,当加载图片失败时使用文本替代:
  {{https://raw.githubusercontent.com/vimwiki/vimwiki/master/doc/splash.png|Vimwiki}}
在网页中会被转换为:
  <img src="https://raw.githubusercontent.com/vimwiki/vimwiki/master/doc/splash.png"
  alt="Vimwiki"/>

嵌入图片,当加载图片失败时使用带格式的文本替代。
  {{https://.../vimwiki_logo.png|cool stuff|style="width:150px;height:120px;"}}
在网页中会被转换为:
  <img src="https://raw.githubusercontent.com/vimwiki/vimwiki/master/doc/splash.png"
  alt="cool stuff" style="width:150px; height:120px"/>

嵌入图片,当加载图片失败时不使用文本来替代,而是使用一个 CSS class:
  {{https://.../vimwiki_logo.png||class="center flow blabla"}}
在网页中会被转换为:
  <img src="https://raw.githubusercontent.com/vimwiki/vimwiki/master/doc/splash.png"
  alt="" class="center flow blabla"/>

一个正在试验的功能,允许你为 wiki-include 链接提供自定义的处理程序。
参考 VimwikiWikiIncludeHandler缩略图链接

缩略图链接的构造如下:
  [[https://someaddr.com/大图片.jpg|{{https://someaddr.com/缩略图.jpg}}]]

在网页中会被转换为:
  <a href="https://someaddr.com/ ... /.jpg">
  <img src="https://../thumbnail.jpg /></a>

Markdown Links

这些链接仅在 Markdown 语法中可用。详见
https://daringfireball.net/projects/markdown/syntax#link.

行内链接:
  [Looks like this](URL)

图像链接:
  ![Looks like this](URL)

参考式链接:
  a) [Link Name][Id]
  b) [Id][], using the "implicit link name" shortcut

参考式的链接必须包含两对连续的中括号,且字段内不允许使用 "[" 或 "]"。


注意: 目前 Vimwiki 中实现的参考式链接是默认的行内链接与传统参考式链接的一种混
合(这意味着当你在 Vimwiki 中使用参考式链接时,你可能可以享受到 Vimwiki 特有的
功能和特性,同时仍然保持 Markdown 或其他格式中参考式链接的便利性。)。

如果 Id 在源代码的其他地方按照 Markdown 的标准进行了定义,如:
  [Id]: URL

那么,当点击这个链接时,URL 将使用系统默认的处理程序打开 (通常是默认的浏览器)。
如果 Id 没有在其他地方定义,Vimwiki 会将这个参考式链接当作行内链接来处理,并将
Id 字段解释为维基页面的名称。

当 vimwiki-option-maxhi 处于激活状态时。则 Id 未定义时 (无论 Id 是参考式链接
还是行内链接) 会被高亮显示。

重新打开页面,会自动扫描页面以此查找新的或更改后的参考式链接是否有效,可以通过
":e<CR>" 来简单地重新加载当前页面。

从外部链接提取标题

函数 #vimwiki#base#linkify() 会获取光标所在处的 URL 并将其转换为 markdown 链接,
以此来实现自动从外部链接提取标题来创建链接。

如果 URL 无法被访问,则不会对链接做任何改变。
如果无法获取网页的 <title> ,则直接使用 url 作为链接的标题。

建议映射:
  nnoremap <silent> <leader>uu :call vimwiki#base#linkify()<cr>

------------------------------------------------------------------------------
5.3. 标题                                          vimwiki-syntax-headers

= Header level 1 =
默认情况下,所有级别的标题都使用 hl-Title 的样式风格对其进行高亮显示。

== Header level 2 ==
你可以为每一个级别的标题设置不同的颜色:
  :hi VimwikiHeader1 guifg=#FF0000
  :hi VimwikiHeader2 guifg=#00FF00
  :hi VimwikiHeader3 guifg=#0000FF
  :hi VimwikiHeader4 guifg=#FF00FF
  :hi VimwikiHeader5 guifg=#00FFFF
  :hi VimwikiHeader6 guifg=#FFFF00
可以给 6 级标题全部设置颜色,也可以全不设置颜色。

=== Header level 3 ===
==== Header level 4 ====
===== Header level 5 =====
====== Header level 6 ======


只需要在第一个符号 '=' 之前加入空格即可让标题在生成的网页中居中:
                     = Centered Header L1 =


------------------------------------------------------------------------------
5.4. 段落                                    vimwiki-syntax-paragraphs

段落就是从第 1 列开始 (无缩进) 的行组成的文本块,段落间以一个空行分隔:

这是段落一
它共有两行

这是段落二
同样有两行


------------------------------------------------------------------------------
5.5. 列表                                              vimwiki-syntax-lists

无序列表:
  - Bulleted list item 1
  - Bulleted list item 2
或:
  * Bulleted list item 1
  * Bulleted list item 2


有序列表:
  1. Numbered list item 1
  2. Numbered list item 2
  3. Numbered list item 3
或:
  1) Numbered list item 1
  2) Numbered list item 2
  3) Numbered list item 3
或:
  a) Numbered list item 1
  b) Numbered list item 2
  c) Numbered list item 3
或:
  A) Numbered list item 1
  B) Numbered list item 2
  C) Numbered list item 3
或:
  i) Numbered list item 1
  ii) Numbered list item 2
  iii) Numbered list item 3
或:
  I) Numbered list item 1
  II) Numbered list item 2
  III) Numbered list item 3
或:
  # Bulleted list item 1
  # the # become numbers when converted to HTML

注意列表后的标志 (-, *, 1. etc.) 不能缺少.

你可以自由地混合使用这些列表标志:
  - Bulleted list item 1
  - Bulleted list item 2
    a) Numbered list sub item 1
    b) more ...
      * and more ...
      * ...
    c) Numbered list sub item 3
      1. Numbered list sub sub item 1
      2. Numbered list sub sub item 2
    d) etc.
  - Bulleted list item 3

列表内容可以跨越多行:
  * Item 1
    Item 1 continued line.
    Item 1 next continued line.
  * Item 2
    - Sub item 1
      Sub item 1 continued line.
      Sub item 1 next continued line.
    - Sub item 2
    - etc.
    Continuation of Item 2
    Next continuation of Item 2


定义列表:
  Term 1:: Definition 1
  Term 2::
  :: Definition 2
  :: Definition 3


------------------------------------------------------------------------------
5.6. 表格                                            vimwiki-syntax-tables

输入一些内容,每一个单元使用 | 进行分隔就是表格。在表格中可以维基语法 (包括字
体和链接).
例如:

 | Year | Temperature (low) | Temperature (high) |
 |------|-------------------|--------------------|
 | 1900 | -10               | 25                 |
 | 1910 | -15               | 30                 |
 | 1920 | -10               | 32                 |
 | 1930 | _N/A_             | _N/A_              |
 | 1940 | -2                | 40                 |


下面这一部分在 HTML 中
 | Year | Temperature (low) | Temperature (high) |
 |------|-------------------|--------------------|

会被突出显示为表头.

如果你对表格进行缩进,在转换为 HTML 时表格会居中.

如果在单格格中输入 > ,这个单元格会被合并到左边的列中。
如果在单格格中输入 \/,这个单元格会被合并到上面一行。
例如:

 | a  | b  | c | d |
 | \/ | e  | > | f |
 | \/ | \/ | > | g |
 | h  | >  | > | > |


参考 vimwiki-tables 获取更多对表格的操作.


------------------------------------------------------------------------------
5.7. 格式化文本                           vimwiki-syntax-preformatted

使用 {{{ 和 }}} 来定义预格式化文本块:
{{{
  Tyger! Tyger! burning bright
   In the forests of the night,
    What immortal hand or eye
     Could frame thy fearful symmetry?
  In what distant deeps or skies
   Burnt the fire of thine eyes?
    On what wings dare he aspire?
     What the hand dare seize the fire?
}}}


你可以在 {{{ 后面添加可选的信息:
{{{class="brush: python"
 def hello(world):
     for x in range(10):
         print("Hello {0} number {1}".format(world, x))
}}}

在 HTML 中的结果是:
 <pre class="brush: python">
 def hello(world):
     for x in range(10):
         print("Hello {0} number {1}".format(world, x))
 </pre>

使用外部 JS 工具(如 Google 的语法高亮显示)为代码着色时这种方法很方便。

你可以在 Vimwiki 的预格式化文本中设置突出显示代码片段。
参考 vimwiki-option-nested_syntaxesvimwiki-option-automatic_nested_syntaxes.


------------------------------------------------------------------------------
5.8. 数学公式                              vimwiki-syntax-math

数学公式会被高亮显示,并且可以使用强大的开源显示引擎 MathJax
(https://www.mathjax.org/) 在 HTML 中进行渲染.

支持三种语法形式,单行模式、块模式和块环境。

单行模式适合在文本中插人一个简短的公式。它由单个美元符号括起来,例如:
 $ \sum_i a_i^2 = 1 $

块模式用于创建一个上下有一定间距且居中的公式。它以只包含 {{$ 的一行结束,然后
可以包含任意数量的数学公式,然后以只包含 }}$ 的一行结束。例如:
 {{$
 \sum_i a_i^2
 =
 1
 }}$

注意: 无论中间的数学公式有多少行,转换为 HTML 网页时都会将其合并到一行之中。

块环境与块显示类似,但可以使用指定的 LaTeX 环境,比如 'align'。使用语法与块环
境一样,不同之处在于第一行使用 {{$%environment%.
例如:
 {{$%align%
 \sum_i a_i^2 &= 1 + 1 \\
 &= 2.
 }}$

转换为 HTML 页面时使用与块环境同样的压缩规则 (因为 mathjax 可以解析 latex 代码).

注意: 在 Vim 中的高亮显示是自动的,想要在 HTML 网页中使用高亮进行渲染有两种方
法可以选择:

1. 在本地安装 MathJax (推荐: 响应快,且不需要联网)。选择 MathJax 的安装目录,
然后在 HTML 模板中添加以下内容:

<script type="text/javascript" src="<mathjax_folder>/es5/tex-chtml.js?config=TeX-AMS-MML_HTMLorMML"></script>

其中 <mathjax_folder> 是你硬盘中 MathJax 的安装目录,可以使用相对目录,一个推
荐的目录结构如下:

- wiki
  - text
  - html
  - templates
  - mathjax

这种情况下, <mathjax_folder> 使用 "../mathjax" (不包含引号) 作为相对路径。

2. 从 CDN 服务器加载 MathJax (需要联网)。在 HTML 的模板中添加以下内容:

<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>


------------------------------------------------------------------------------
5.9. 引用                                  vimwiki-syntax-blockquotes

以 4 个及以上空格开始的文本,就是一个引用块。

    在 Vimwiki 中这是一个引用。它在 Vim 中不会高亮显示,但是可以在 HTML 中通过
    CSS 进行样式修饰。块引用常用于引用从其他地方引用的较的文本段落。

以 > 开头的文本也是一个引用,使用 > 语法可以通过插入空行来表示多个段落。

> 这也表示一个引用

> 你可以使用空行
> 来表示处于一个块中的多个段落。


------------------------------------------------------------------------------
5.10. 注释                                       vimwiki-syntax-comments

以 %% 开头的行为注释。例如:
 %% 这行文字将不会出现在转换后的 HTML 页面中

可以通过 g:vimwiki_commentstring 禁用或修改默认的注释字符,例如:
  <!-- 这可能也是一行注释 -->

使用多行注释时,在开始处使用 %%+,在结尾处使用 +%%。它可以跨越多行使用,也可以
在一行之中使用。
例如:
 %%+ 这些文字
 以及这些文字
 将不会出现在
 转换后的 html 页面 +%%
 %%+ 不包括 +%% 包括 %%+ 也不包括 +%%

------------------------------------------------------------------------------
5.11. 水平分隔线                                      vimwiki-syntax-hr

认 4 个或更多的横线开始的行会被当作一个水平分隔行 (<hr />):
 ----


------------------------------------------------------------------------------
5.12. 标签                                               vimwiki-syntax-tags

在 wiki 文件、标题或者是文件的任意一个地方都可以添加标签。然后,使用 Vim 中内
置的标签搜索功能 (see tagsrch.txt) 或者是 Vimiki 中对标签的一些相关操作来快
速跳转到标行所在的位置。

两个冒号之间的非空白字符序列就是一个标签:
        :tag-example:

可以在一行之中包含多个标签:
        :tag-one:tag-two:

如果标签在一个文件开头的前两行,这个标签就标记了这个文件。如果标签在一个标题下
两行之内,那么这个标签就标记了这个标题。在搜索标签时就会跳转到这个标题之上。除
此之外的标签独主存在,在搜索标签跳转时会直接跳到该标签处。

输入标签时可以使用 Vim 编辑器中的自动补全功能来简化输入 (参考 compl-omni):
  :ind<C-X><C-O>
之后会弹出一个菜单,其中显示了维基中所有以 "ind" 开始的标签。

标签同时会被作为 vimwiki-anchors (类似粗体字)。

                                                          vimwiki-build-tags
注意基于标签的搜索/跳转/补全命令需要在 wiki 文件夹中保存一些元数据。这个元数据
可以使用 :VimwikiRebuildTags 来进行手动更新。当 vimwiki-option-auto_tags
被设置为可用时,标签元数据会在每次保存页面时自动更新。


标签相关的命令和选项:
   * :VimwikiRebuildTags
   * :VimwikiGenerateTagLinks
   * :VimwikiSearchTags
   * vimwiki-option-auto_tags


==============================================================================
6. 折叠/大纲                                           vimwiki-folding

在 Vimwiki 中你可以使用 Vim 中的折叠方法以及选项,它可以把文本的大纲折叠起来以
此减少精力分散,更加便于阅读。你也可以使用 Vimwiki 内置的折叠语法或者使用自定
义折叠方案。通过对 g:vimwiki_folding 设置不同的值可以选择使用的折叠方法:

  let g:vimwiki_folding = 'value'

这里有一个示例,演示了将 g:vimwiki_folding 设置为 'list' 时是如何进行折叠的:

= 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

输入 zM :
= My current task =
* [ ] Do stuff 1 [6] --------------------------------------
* [ ] Do stuff 2
* [ ] Do stuff 3

输入 zr :
= My current task =
* [ ] Do stuff 1
  * [ ] Do substuff 1.1
  * [ ] Do substuff 1.2 [3] -------------------------------
  * [ ] Do substuff 1.3
* [ ] Do stuff 2
* [ ] Do stuff 3

再次输入 zr :
= 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

注意: 如果你使用的是 Vimwiki 的默认语法,只有所有的清单条目都使用当前的
'shiftwidth' 宽度进行缩进时,清单项的折叠功能才能正常工作。对于使用 Markdown
以及 MediaWiki 语法,* 或 # 则应放在每一行的开头。

为了能更好地控制折叠,设置 g:vimwiki_folding'custom',这样你可以通过其它
插件或者使用你自定义的 vim 配置文件规则来控制折叠如何工作。例如,假设你使用的
markdown 语法,你不希望标题前后的空行被折叠起来,你可以在配置文件中添加这样的
函数来实现这个功能:

  function! VimwikiFoldLevelCustom(lnum)
    let pounds = strlen(matchstr(getline(a:lnum), '^#\+'))
    if (pounds)
      return '>' . pounds  " start a fold level
    endif
    if getline(a:lnum) =~? '\v^\s*$'
      if (strlen(matchstr(getline(a:lnum + 1), '^#\+')))
        return '-1' " don't fold last blank line before header
      endif
    endif
    return '=' " return previous fold level
  endfunction

注意你还需要在配置文件中添加下面的配置:

  augroup VimrcAuGroup
    autocmd!
    autocmd FileType vimwiki setlocal foldmethod=expr |
      \ setlocal foldenable | set foldexpr=VimwikiFoldLevelCustom(v:lnum)
  augroup END

参考 g:vimwiki_folding 文档可以获得更多的详细内容。

==============================================================================
7. 占位符                                         vimwiki-placeholders

------------------------------------------------------------------------------
%title 页面的标题

当将 wiki 页面转换为 HTML 网页时,默认标题为页面本身的文件名。如果你想使用另一
标题请将下面内容放在 wiki 页面中:

%title My books


------------------------------------------------------------------------------
%nohtml                                                       vimwiki-nohtml

如果你不想一个 wiki 被转换为 HTML 网页时,请将下面内容放在 wiki 页面中:

%nohtml

这也会阻止将内容包含在 RSS 中。


------------------------------------------------------------------------------
%template                                                   vimwiki-template

如果想在将 wiki 页转换为 HTML 网页时使用指定的 HTML 模板时,请将下面内容放在
wiki 页面中:

%template name

参考 vimwiki-option-template_path 获得更多内容。

------------------------------------------------------------------------------
%date                                                           vimwiki-date

wiki 页面的的 date 可以在 HTML 模板中使用,vimwiki-option-template_path 中有
更详细的说明。要指定日期的格式,vimwiki-option-template_date_format 中有更详
细的说明。

%date 2017-07-08
%date

如果省略了占位符后面的日期,则时用转换为 HTML 时的日期。


==============================================================================
8. 列表                                                       vimwiki-lists

在编写列表时,<CR>(回车), o(字母) 和 O(字母) 会按预期的行为插入新的项目符号或
数字。当然只有光标在一个列表条目中才会插入项目的符号或数字。如果你想在列表中使
用硬换行 (即直接按回车键导致换行,而不是自动换行) 那么你需要重新定义 <CR> 的
行为,可以将其映射到 VimwikiReturn 3 5, 或者使用 <S-CR>, 或者按下 <CR> 后立
即按下 <C-L><C-M>。

注意并非在所有终端下组合键 <S-CR> 都可以正常工作。

当光标处于空列表后时,<CR><S-CR> 的行为会不一样,看下面这这个表。

如果要定义其行为,可以使用自动命令或映射将其放在
~/.vim/after/ftplugin/vimwiki.vim 中。这样在编辑非 Vimwiki 文件时就不会出现
the command VimwikiReturn doesn't exist 的错误提示了:

  autocmd FileType vimwiki inoremap <silent><buffer> <CR>
              \ <C-]><Esc>:VimwikiReturn 3 5<CR>
  autocmd FileType vimwiki inoremap <silent><buffer> <S-CR>
              \ <Esc>:VimwikiReturn 2 2<CR>

注意: 在 Vim > 7.3.489 的版本中,以 <C-]> 作为前缀的映射可以扩展 iabbrev 的
含义。

命令 :VimwikiReturn 的第一个参数是一个数字,它决定是不是要插入一个新的项目符号
或数字。这主要取决于光标是在一个列表清单中还是在一个正常行中:

 Number │     Before     │    After
 ======================================
    1   │ 1. item|       │ 1. item
        │                │ 2. |
        │––––––––––––––––––––––––––––––       ← default for <CR>
        │ 1. item        │ 1. item
        │    continue|   │    continue
        │                │    |
 ======================================
    2   │ 1. item|       │ 1. item
        │                │    |
        │––––––––––––––––––––––––––––––       ← default for <S-CR>
        │ 1. item        │ 1. item
        │    continue|   │    continue
        │                │ 2. |
 ======================================
    3   │ 1. item|       │ 1. item
        │                │ 2. |
        │––––––––––––––––––––––––––––––
        │ 1. item        │ 1. item
        │    continue|   │    continue
        │                │ 2. |
 ======================================
    4   │ 1. item|       │ 1. item
        │                │    |
        │––––––––––––––––––––––––––––––
        │ 1. item        │ 1. item
        │    continue|   │    continue
        │                │    |


第二个参数的数字决定了光标在一个空的列表清单中时,按键 <CR><S-CR> 的行为,
其行为不少于五种:

 Number │     Before     │    After
 ======================================
    1   │ 1. |           │ 1.
        │                │ 2. |
 ======================================
    2   │ 1. |           │                    ← default for <S-CR>
        │                │ 1. |
 ======================================
    3   │ 1. |           │ |
        │                │
 ======================================
    4   │ 1. |           │
        │                │ |
 ======================================
    5   │     1. |       │ 1. |
        │                │
        │––––––––––––––––––––––––––––––       ← default for <CR>
        │ 1. |           │ |
        │                │



                                                   vimwiki-list-manipulation
列表清单所在的级别由其缩进层次 (默认语法和 Markdown 语法) 或列表的符号数量
(MediaWiki 语法) 决定。

在 normal 模式下使用 gll 和 glh 来增加或减少一个列表清单的级别。标识符会根据列
表所在位置上下列表的标识符自动调整。使用 gLl 和 gLh 来增加或减少一个列表清单及
其所有子列表清单的级别。

在 insert 模式下使用 <C-T><C-D> 来增加或减少一个列表清单的级别。

细节参考 vimwiki_gll, vimwiki_gLl, vimwiki_glh, vimwiki_gLh,
vimwiki_i_<C-T>, vimwiki_i_<C-D>


在 gl 后面跟标识符可以修改光标所在列表清单的标识符,或者是新建一条列表清单。在
gL 后面跟标识符可以修改光标所在列表清单及其子列表清单的标识符。默认有以下几种
标识符可以选择:
    - 连字符
    * 星号
    # 井号
    1. 带点的数字
    1) 带括号的数字
    a) 带括号的小写字母
    A) 带括号的大写字母
    i) 带括号的小写罗马数字
    I) 带括号的大写罗马数字

Markdown 语法中有这些标识符可用:
    - 连字符
    * 星号
    + 加号
    1. 带点的数字

MediaWiki 语法中有这些标识符可用:
    * 星号
    # 井号

在 insert 模式下,可以通过 <C-L><C-J><C-L><C-K> 在不同的标识符之间切换。为
了使用起来更加方便,只有最常用的标识符可以通过组合键在默认的语法中进行切换。

注意列表符号: a) b) c) … 最多排列到 zz),这样是用于避免列表与普通文本下的括号
混淆。罗马数字最大到 MMMM),数字最大到 2147483647. 或9223372036854775807. 这取
决于 Vim 是 32 版本还是 64 位版本。

你可以在列表清单中混合使用这些标识符,但如果你有了一个奇怪的想法,把一个罗马数
字编号放在了一个字母列表编号的后面,或者是反过来。那么 Vimwiki 就无法将其区分
开来 (至少它们两都使用大写或者是都使用小写)。

参考 vimwiki_glstar, vimwiki_gl# vimwiki_gl-, vimwiki_gl-,
vimwiki_gl1, vimwiki_gla, vimwiki_glA, vimwiki_gli, vimwiki_glI


如果一组使用数字作为标识符的列表清单中数字顺序乱了,使用 glr 和 gLr 可以恢复被
打乱的数字。参考 vimwiki_glrvimwiki_gLr------------------------------------------------------------------------------
待办列表                                                vimwiki-todo-lists

你可以建立待办列表 -- 你可以对列表中的条目进行标记/取消标记。

请看下面这个例子:
 = 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 its child items.
   * [X] Make numbered list items toggleable too
   * [X] Add highlighting to list item boxes
   * [X] Add [ ] to the next list item created with o, O and <CR>.

在第一条待办事项上使用 <C-Space> 会同事更改其子项的完成状态。
 (译者: <C-Space>一般是切换中文输入法的组合键,可以重新定义该组合键):
 = Toggleable list of todo items =
   * [ ] Toggle list item on/off.
     * [ ] Simple toggling between [ ] and [X].
     * [ ] All of a list's subitems should be toggled on/off appropriately.
     * [ ] Toggle child subitems only if the current line is a list item.
     * [ ] Parent list item should be toggled depending on their child items.
   * [X] Make numbered list items toggleable too.
   * [X] Add highlighting to list item boxes.
   * [X] Add [ ] to the next list item created using o, O or <CR>.

在第三个列表清单条目上使用组合键 <C-Space> 将切换自身和其父项:
 = Toggleable list of todo items =
   * [.] Toggle list item on/off.
     * [ ] Simple toggling between [ ] and [X].
     * [X] All of a 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 its child items.
   * [ ] Make numbered list items toggleable too.
   * [ ] Add highlighting to list item boxes.
   * [ ] Add [ ] to the next list item created using o, O or <CR>.

父级清单条目状态的改变取决于子级清单条目的改变,当子级清单条目状态被改变时,它
归属的父级条目也随之改变,除非是禁用 vimwiki-option-listsyms_propagate。如果
没有使用 vimwiki_glr [ ] 之间显示的符号是由子级清单条目的完成百分比来决定的
(参考vimwiki-option-listsyms):
    [ ] -- 0%
    [.] -- 1-33%
    [o] -- 34-66%
    [O] -- 67-99%
    [X] -- 100%

你可以使用 vimwiki_glnvimwiki_glp 来修改一个没有子级清单条复选框中的完
成状态。

在 visual 模式下,用户可以选择多个文本或对象,然后执行批量操作。然后一次性切换
其状态。但是,当用户尝试切换多个列表项的状态时,不是逐个检查或取消检查每个项目,
而是基于第一个项目的状态来决定其他项目的状态。

gl<Space> (参考 vimwiki_gl<Space>) 可以移除一条清单条目的复选框
gL<Space> (see vimwiki_gL<Space>) 可以移除与光标同一级别的所有复选框

你可以使用 vimwiki_glx 来标记一个不再打算去做的清单,一条被标记为不再去做的
清单不会影响其父级清单条目的完成状态。


==============================================================================
9. 表格                                                     vimwiki-tables

命令 :VimwikiTable 默认创建 2 行 5 列的表格:

 |   |   |   |   |   |
 |---|---|---|---|---|
 |   |   |   |   |   |


单元格在输入一些内容后会自动执行格式化:

 | First Name  |   |   |   |   |
 |---|---|---|---|---|
 |   |   |   |   |   |


无论你是按下了 <TAB>, <CR> 或者是离开了 Insert 模式,表格都会执行格式化操作:

 | First Name |   |   |   |   |
 |------------|---|---|---|---|
 |            |   |   |   |   |


只需要按 <TAB> 键就可以在新的单元格中输入内容:

 | First Name | Last Name  | Age | City     | e-mail               |
 |------------|------------|-----|----------|----------------------|
 | Vladislav  | Pokrishkin | 31  | Moscow   | vlad_pok@smail.com   |
 | James      | Esfandiary | 27  | Istanbul | esfandiary@tmail.com |


想要对表格进行缩进,先缩进第一行。然后使用 'gqq' 进行格式化。

你可以使用字符 ':' 来对齐列表中的内容,默认的对齐方式是左对齐。

 | Date       |  Item  |   Price |
 |------------|:------:|--------:|
 | yest       | Coffee |  $15.00 |
 | 2017-02-13 |  Tea   |   $2.10 |
 | 2017-03-14 |  Cake  | $143.12 |


==============================================================================
10. 日记                                                      vimwiki-diary

键入 <Leader>w<Leader>w 即可快速创建以当前日期为名字的日记维基。

命令 :VimwikiDiaryGenerateLinks<Leader>w<Leader>i 可以生成日记目录。
注意: 该命令只在日记目录文件中起作用。

日记目录文件看起来像这样:
    = Diary =

    == 2011 ==

    === December ===
        * [[2011-12-09]]
        * [[2011-12-08]]

可以在一天之内编辑多个日记。参考“注册维基”章节内容。

如果你想对月份进行重命名,参考 g:vimwiki_diary_months------------------------------------------------------------------------------
Calendar 插件                                        vimwiki-calendar

如果你已经安装了 Calendar.vim 插件,你可以通过该插件来创建日记文件。打开日历插
件使用命令 :Calendar 然后按 <Enter> 键即可创建一个以光标所在日期为名的日记维基
文件。

可以通过以下地址下载 https://www.vim.org/scripts/script.php?script_id=52

参考 g:vimwiki_use_calendar 选项可以开启/关闭该功能。


------------------------------------------------------------------------------
Markdown 输出

如果你在维基文件中使用了 markdown 语法,可以使用 rubygem 将维基文件转换为 HTML
网页。下载位置在 https://github.com/patrickdavey/vimwiki_markdown。

参考 vimwiki-option-html_filename_parameterization 获得更多支持与帮助。

==============================================================================
11. 锚点                                                  vimwiki-anchors

标题、标签、粗体字都是一个锚点。可以通过维基链接跳转到锚点位置
  [[file#anchor]]

例如在 "Todo.wiki" 文件中包含了以下内容:
  = My tasks =
  :todo-lists:
  == Home ==
    - [ ] bathe my dog
  == Work ==
    - [ ] beg for *pay rise*
  == Knitting club ==
  === Knitting projects ===
    - [ ] a *funny pig*
    - [ ] a *scary dog*

从 index.wiki 中直接跳转到该文件的 knitting projects 处使用:
  [[Todo#Knitting projects]]

也可跳转到其中的一个子条目中,使用的链接如下:
  [[Todo#funny pig]]

或者跳转到其中的一个标签处:
  [[Todo#todo-lists]]

如果一个锚点下有多个子级条目,你可以使用一个由完整的头层次结构组成的长格式来表
示,中间使用符号 '#' 作为分隔:
 [[Todo#My tasks#Knitting club#Knitting projects#scary dog]]

如果你不喜欢输入全部的内容,你可以在输入 [[Todo# 后使用 i_CTRL-X_CTRL-O 就能
在所有的锚点之间循环了。

如果是在同一个文件中进行跳转,你可以省略文件名如:
  [[#pay rise]]


------------------------------------------------------------------------------
目录列表                    vimwiki-toc vimwiki-table-of-contents

你可以在维基文件的顶部创建一个 “目录列表”。
命令 :VimwikiTOC 创建一个以
  = Contents =
开头,下面是所有指向标题链接的列表,通过这些链接可以跳转到对应的标题处。

列表的缩进方式由 vimwiki-option-list_margin 变量决定。

如果你不想目录从第一行开始,比如你要使用 modeline (模式行),此时将目录移至第二
行或者是第三行,之后再执行 :VimwikiTOC 命令来更新目录列表即可。

如果你的母语不是英语,选项 g:vimwiki_toc_header 可以将标题翻译为你希望的语言。

如果你想要目录可以自动更新,可以在选项 vimwiki-option-auto_toc 中设置。


------------------------------------------------------------------------------
整合标签栏                                            vimwiki-tagbar

作为一种替换目录的方案,你可以使用 Tagbar 插件在侧边栏显示维基文件的标题
(https://preservim.github.io/tagbar/)。
从这里下载 Python 脚本
https://raw.githubusercontent.com/vimwiki/utils/master/vwtags.py 并遵循其中的
说明去做。


==============================================================================
12. 选项                                                  vimwiki-options

Vimwiki 中有全局选项和局部选项 (注册维基)。

全局选项通过全局变量配置,查看所有的全局选项在变量 vimwiki-global-options 中
设置。

单个全局部量 g:vimwiki_list 中存储了多个维基文件的局部变量,每个局部选项 (注
册维基) 可以提前注册好,参考 vimwiki-register-wiki 中的说明。或者实时注册,
参考 vimwiki-local-options 中的说明。

维资深 Vim 用户的一个建议:
如果你已经有了一个很用心维护了一个 Vim 配置文件。比如在特定的条件下加载插件,
那么请在加载 Vimwiki 插件之前 (也就是加载 plugin/vimwiki.vim) 做好配置。如果在
加载插件前没有配置好,请对 Vimwiki (重新) 设置之后尝试命令:
  :call vimwiki#vars#init()
如果你还想设置语法上的设置,请在最后一条命令前使用:
  :unlet g:vimwiki_syntaxlocal_vars

------------------------------------------------------------------------------
12.1 注册维基                  g:vimwiki_list vimwiki-register-wiki

变量 g:vimwiki_list 中可以注册一个或多个维基。

在变量 g:vimwiki_list 中的每一个项都是一个 Dictionary。它包含了对维基不同
功能的设置。其 dictionary 的格式如下:
  {'option1': 'value1', 'option2': 'value2', ...}

参考下面的这个设置:
  let g:vimwiki_list = [{'path': '~/my_site/', 'path_html': '~/public_html/'}]

上面这个例子中,定义了维基的存储目录为 ~/my_site/,维基转换为网页后的文件存放
目录为 ~/public_html/ 。

另一个例子:
  let g:vimwiki_list = [{'path': '~/my_site/', 'path_html': '~/public_html/'},
            \ {'path': '~/my_docs/', 'ext': '.mdox'}]

这个例子中定义了两个维基: 第一个维基与上面的一样,第二个维基存储目录为
~/my_docs/,维基文件使用的扩展名设置为了 .mdox。

在 Dictionary 中为空的选项则会使用 g:vimwiki_list 中默认的值:
  let g:vimwiki_list = [{},
            \ {'path': '~/my_docs/', 'ext': '.mdox'}]

为了更加的直观,你可以在 .vimrc 文件中对 Dictionary 中的变量进行独立赋值,随
后将其变量组合到 g:vimwiki_list 中。
    let wiki_1 = {}
    let wiki_1.path = '~/my_docs/'
    let wiki_1.html_template = '~/public_html/template.tpl'
    let wiki_1.nested_syntaxes = {'python': 'python', 'c++': 'cpp'}

    let wiki_2 = {}
    let wiki_2.path = '~/project_docs/'
    let wiki_2.index = 'main'

    let g:vimwiki_list = [wiki_1, wiki_2]



------------------------------------------------------------------------------
12.2 临时维基                                   vimwiki-temporary-wiki


该功能允许你创建一个临时维基。

打开的文件扩展名为维基文件后缀名 (参考 vimwiki-register-extension) 且满足:
条件1. 文件所在目录不在 g:vimwiki_list;
条件2: 文件所在的目录不在任何已注册维基目录的子目录下。
此时打开该文件则会触发创建临时维基,并会将其所在目
录添加到 g:vimwiki_list 中。

打开的临时维基除了与使用 Vimwiki 中的功能外,还有以下特点:
1. 链接到同一目录下的文件;
2. 当 vimwiki-option-maxhi 处于激活状态时高亮显示已不存在的维基文件;
3. 转换后的网页存储目录为 vimwiki-option-path_html。

临时维基默认使用 vimwiki-local-options 中的配置,但存储路径、扩展名以及使用
的语法例外。存储路径、扩展名使用文件所在的目录和文件本身的扩展名。语法维基本身
的默认语法,当然也可以通过 vimwiki-register-extension 来指定特定的语法。

选项 g:vimwiki_global_ext 可以禁止创建临时维基。

注意: Vimwiki 假定不同的维基位置是不重叠的。


------------------------------------------------------------------------------
12.3 维基变量                                  vimwiki-local-options


vimwiki-option-path
------------------------------------------------------------------------------
变量             默认值
path            ~/vimwiki/

描述
维基文件存储目录:
  let g:vimwiki_list = [{'path': '~/my_site/'}]


vimwiki-option-path_html
------------------------------------------------------------------------------
变量             默认值
path_html       ''

描述
维基文件转换为网页后的存放目录:
  let g:vimwiki_list = [{'path': '~/my_site/',
                       \ 'path_html': '~/html_site/'}]

如果 path_html 为空,则会在 vimwiki-option-path 的目录后添加 '_html' 作为存
储目录,例如下面这种情况:
  let g:vimwiki_list = [{'path': '~/okidoki/'}]

path_html 的目录会被设置为 '~/okidoki_html/'。


vimwiki-option-name
------------------------------------------------------------------------------
变量             默认值
name            ''

描述
name 可以在维基文件创建内部链接时使用:
  let g:vimwiki_list = [{'path': '~/my_site/',
                       \ 'name': 'My Wiki'}]

合法的名字可以包含字母、数字、空格、下划线和破折号。如果有两个维基的名字相同,
内部链接会跳转到 g:vimwiki_list 中第一个与之匹配的维基中。

设置的名字也会出现在 GVim 的菜单栏中,参考 g:vimwiki_menuvimwiki-option-auto_export
------------------------------------------------------------------------------
变量             默认值     可选值
auto_export     0                 0, 1

描述
选项为 1 时在保存维基页面时会自动生成网页文件:
  let g:vimwiki_list = [{'path': '~/my_site/', 'auto_export': 1}]

这可以使你的网页文件保持实时更新。


vimwiki-option-auto_toc
------------------------------------------------------------------------------
变量             默认值     可选值
auto_toc        0                 0, 1

描述
选项为 1 时在保存维基页面时会自动更新目录:
  let g:vimwiki_list = [{'path': '~/my_site/', 'auto_toc': 1}]


vimwiki-option-index
------------------------------------------------------------------------------
变量             默认值
index           index

描述
维基目录文件的名字:
  let g:vimwiki_list = [{'path': '~/my_site/', 'index': 'main'}]

注意: 不要包含扩展名


vimwiki-option-ext
------------------------------------------------------------------------------
变量             默认值
ext             .wiki

描述
维基文件使用的扩展名:
  let g:vimwiki_list = [{'path': '~/my_site/',
                       \ 'index': 'main', 'ext': '.document'}]


vimwiki-option-syntax
------------------------------------------------------------------------------
变量             默认值     可选值
syntax          default           default, markdown, or media

描述
维基语法。你可以选择不同的维基语法 (目前有: Vimwiki 默认语法,Markdown,
MediaWiki),但只有 Vimwiki 默认的语法可以被转换为网页。

在 wiki 中使用 Markdown 语法:
  let g:vimwiki_list = [{'path': '~/my_site/',
                       \ 'syntax': 'markdown', 'ext': '.md'}]

vimwiki-option-links_space_char
------------------------------------------------------------------------------
变量                 默认值
links_space_char    ' '

描述
设置在创建链接时用于替换空格的字符 (或字符串)。例如,设置为 '_' 则会将字符串
'my link' 替换为 [[my_link]] 创建的文件会被命名为 my_link.wiki。默认情况下是不
对空格进行替换的。

设置用来替换空格的字符串:
  let g:vimwiki_list = [{'path': '~/my_site/',
                       \ 'links_space_char': '_'}]


vimwiki-option-template_path
------------------------------------------------------------------------------
变量                 默认值
template_path       ~/vimwiki/templates/

描述
设置 HTML 模板所在的路径:
  let g:vimwiki_list = [{'path': '~/my_site/',
          \ 'template_path': '~/public_html/templates/',
          \ 'template_default': 'def_template',
          \ 'template_ext': '.html'}]

可能会有一堆的模板:
    def_template.html
    index.html
    bio.html
    person.html
等等。

模板看起来可能是这个样子:
    <html>
    <head>
        <link rel="Stylesheet" type="text/css" href="%root_path%style.css" />
        <title>%title%</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>
    <body>
        <div class="content">
        %content%
        </div>
        <p><small>Page created on %date%</small></p>
    </body>
    </html>

含义
  %title% 通过 vimwiki-title 来替换维基页面的名字
  %date% 通过 vimwiki-date 来替换当前的日期
  %root_path% 使用 ../ 来替换在子目录中的文件:
    如果当前维基页面在目录 [[dir1/dir2/dir3/my page in a subdir]] 下,之后
    %root_path% 会被替换为 '../../../'。
  %wiki_path% 当前维基文件的路径。例如,当前的维基页面在 a/b.wiki 则
     %wiki-path% 的内容则是 "a/b.wiki"。如果你想要从渲染后的维基页面中链接到原
     始文件时,这将会非常方便。

  %content% 会被维基文件的内容所取代。


所有的维基文件默认都使用默认的模板文件,除非是在某个页面中专门指定了使用指定的
模板。假设你有一个名为 'Maxim.wiki' 的文件使用 'person.html' 模板,只需在页面
中添加:
 %template person


vimwiki-option-template_default
------------------------------------------------------------------------------
变量                 默认值
template_default    default

描述
设置默认模板的名字 (不包含扩展名)。

参考 vimwiki-option-template_path 获得更多细节。


vimwiki-option-template_ext
------------------------------------------------------------------------------
变量                 默认值
template_ext        .tpl

描述
设置模板文件的扩展名。

参考 vimwiki-option-template_path 获得更多细节。


vimwiki-option-template_date_format
------------------------------------------------------------------------------
变量                     默认值
template_date_format    %Y-%m-%d

描述
设置日期字符串的模板格式。

参考 vimwiki-date 获得更多细节。


vimwiki-option-css_name
------------------------------------------------------------------------------
变量             默认值
css_name        style.css

描述
设置 CSS 文件的名字:
  let g:vimwiki_list = [{'path': '~/my_pages/',
          \ 'css_name': 'main.css'}]

或者使用
  let g:vimwiki_list = [{'path': '~/my_pages/',
          \ 'css_name': 'css/main.css'}]

Vimwiki 默认的 CSS 文件名字为 "style.css".


vimwiki-option-maxhi
------------------------------------------------------------------------------
变量             默认值     可选值
maxhi           0                 0, 1

描述
如果此选项被开启,对没有指向文件的链接会高亮显示。但这会拖慢运行速度,如果你仍
想使用这个功能,将其值设置为 1:
  let g:vimwiki_list = [{'path': '~/my_site/', 'maxhi': 1}]


vimwiki-option-nested_syntaxes
------------------------------------------------------------------------------
变量             默认值     可选值
nested_syntaxes {}                pairs of highlight keyword and Vim filetype

描述
你可以配置预格式化文本,以便于 Vim 以任何语法规则高亮显示文本。例如将这些配置
放在你的 vimrc 文件中:
  let wiki = {}
  let wiki.path = '~/my_wiki/'
  let wiki.nested_syntaxes = {'python': 'python', 'c++': 'cpp'}
  let g:vimwiki_list = [wiki]

如果你想高亮显示 Python 和 C++ 语法的关键词:
 {{{class="brush: python"
 for i in range(1, 5):
     print(i)
 }}}

 {{{class="brush: c++"
 #include "helloworld.h"
 int helloworld()
 {
    printf("hello world");
 }
 }}}

或者:
 {{{c++
 #include "helloworld.h"
 int helloworld()
 {
    printf("hello world");
 }
 }}}

 {{{python
 for i in range(1, 5):
     print(i)
 }}}


vimwiki-option-automatic_nested_syntaxes
------------------------------------------------------------------------------
变量                        默认值
automatic_nested_syntaxes  1

描述
如果设置了,嵌套语法 (vimwiki-option-nested_syntaxes) 会自动加载。像这样输入
格式化文本
 {{{xxx
 my preformatted text
 }}}

其中 xxx 是 Vim 中已知的文件类型。例如,高亮显示 C++ 时使用后缀名 "cpp" (而不
是 "c++")。查看已知的文件类型输入 ":setf " 然后键入 Ctrl+d 即可查看。

注意,你可能需要重新加载文件 (:edit) 才能看到语法高亮。

由于每打开一个文件都要扫描预格式化的文本标记,所以当文本很大时,它可能会变得很
慢。这种情况,将此选项设置为 0 即可。


vimwiki-option-diary_rel_path
------------------------------------------------------------------------------
变量             默认值
diary_rel_path  diary/

描述
日记维基文件相对于 vimwiki-option-path 的存储路径。


vimwiki-option-diary_index
------------------------------------------------------------------------------
变量             默认值
diary_index     diary

描述
日记目录文件的名字。


vimwiki-option-diary_header
------------------------------------------------------------------------------
变量             默认值
diary_header    Diary

描述
vimwiki-option-diary_index 中日记目录的名字。


vimwiki-option-diary_sort
------------------------------------------------------------------------------
变量             默认值   可选值
diary_sort      desc            desc, asc

描述
日记目录中日记的排序方式(升序/降序)。


vimwiki-option-diary_caption_level
------------------------------------------------------------------------------
变量                   默认值
diary_caption_level   0

描述
控制日记目录里链接到日记文本的链接标题。

可用的值:
-1:  不从日记页面中读取标题。
 0:  以日记中的第一个标题作为链接的标题,不使用子标题。
 1:  以日记中的 1 级标题作为链接的标题。
 2:  以日记中的 2 级标题作为链接的标题。
 等等.

当数值 >= 1 时,如果它是日记页面中唯一的最低级标题。则链接的标题会被设为读取到
的第一个标题。


vimwiki-option-diary_frequency
------------------------------------------------------------------------------
变量               默认值
diary_frequency   daily

描述
控制创建日记的时间周期。

可用的值:
  daily:  每天创建一条日记记录。
 weekly:  每周创建一条日记记录。
monthly:  每月创建一条日记记录。
 yearly:  每年创建一条日记记录。


vimwiki-option-diary_start_week_day
------------------------------------------------------------------------------
变量                   默认值
diary_start_week_day  monday

描述
设置每周以星期几开始。

可用的值:
monday, tuesday, wednesday, thursday, friday, saturday, sunday


vimwiki-option-custom_wiki2html
------------------------------------------------------------------------------
变量               默认值
custom_wiki2html  ''

描述
用户指定将维基页面转换为网页的脚本完整路径。Vimwiki 会使用 :! 从命令行中调用
vimwiki-option-custom_wiki2html 指定的脚本。

下面的参数按照这个顺序传递给脚本:

1. force : [0/1] 强制覆盖现有的文件
2. syntax : 为这个维基选择的语法
3. extension : 为这个维基选择的扩展名
4. output_dir : 输出目录的完整路径
5. input_file : 维基页面的完整路径
6. css_file : 当前维基文件的 css 文件完整路径
7. template_path : 维基模板的完整路径
8. template_default : 默认模板的名字
9. template_ext : 模板文件的扩展名
10. root_path : 使用 ../ 来处理子目录
    例如,目录有个 wiki 链接指向了 [[dir1/dir2/dir3/my page in a subdir]]
    那么这个参数会变为 '../../../'。
11. custom_args : 传递给转换脚本的自定义参数 (可以在 g:vimwiki_list 中定义参数
'custom_wiki2html_args' 参考 vimwiki-option-custom_wiki2html_args)

选项 7-11 为试验功能,以后可能会修改。如果设置的参数有为空,则会将连字符 "-"
传递到脚本。

有关示例和说明这里有个示例脚本:

  $VIMHOME/autoload/vimwiki/customwiki2html.sh

Jason6Anderson 写了另外一个脚本在:
 https://github.com/vimwiki-backup/vimwiki/issues/384

使用内置的 wiki2html 转换器,使用空字符串即可 (默认值)。


vimwiki-option-custom_wiki2html_args
-----------------------------------------------------------------------------
变量                     默认值
custom_wiki2html_args   ''

描述
如果使用 vimwiki-option-custom_wiki2html 调用自定义脚本,这样传递参数:
  let g:vimwiki_list = [{'path': '~/path/', 'custom_wiki2html_args': 'stuff'}]


vimwiki-option-list_margin
------------------------------------------------------------------------------
变量               默认值
list_margin       -1 (0 for markdown)

描述
列表左边的宽度,当为负值时仗用当前的 'shiftwidth' 的值。这个变量的值影响生成链
接的外观 (参考 :VimwikiGenerateLinks),目录 (vimwiki-toc) 以及使用以下命令
对列表操作时的行为 :VimwikiListChangeLvl 以及本地映射 vimwiki_glstar,
vimwiki_gl# vimwiki_gl-, vimwiki_gl-, vimwiki_gl1, vimwiki_gla,
vimwiki_glA, vimwiki_gli, vimwiki_glIvimwiki_i_<C-L>_<C-M>.

注意: 如果你使用 Markdown 或 MediaWiki 语法,你可能会将该选项设为 0,这时每一
行都会被视为纯文本文件。


vimwiki-option-bullet_types
------------------------------------------------------------------------------
变量               默认值
bullet_types      ['-', '*', '#'] (default-syntax)
                  ['-', '*', '+'] (markdown-syntax)
                  ['*', '#'] (mediawiki-syntax)

用作列表单条符号的字符列表。默认值取决于使用的语法。

你可以像这样包含更多有趣的符号:

   let g:vimwiki_list = [{'path': '~/path/', 'bullet_types' = ['-', '•', '→']}]


vimwiki-option-cycle_bullets
------------------------------------------------------------------------------
变量               默认值
cycle_bullets     0

如果设置为 1 (真),会在 bullet_types 定义的符号中循环切换。


vimwiki-option-generated_links_caption
------------------------------------------------------------------------------
变量                         默认值
generated_links_caption     0

只支持默认语法,如果设置为 1 (真),在调用 :VimwikiGenerateLinks 时会使用
[[URL|DESCRIPTION]]  格式来生成链接。DESCRIPTION 是从对应文件中前 n 行找到的第
一个标题。n 的值由 g:vimwiki_max_scan_for_caption 定义(默认是 5),如果在前 n
行中没有找到标题则使用 [[URL]]。


vimwiki-option-listsyms
------------------------------------------------------------------------------
变量               默认值
listsyms          ' .oOX'

字符串至少由两个符号组成,用于显示待办事项的完成进度。默认值为 ' .oOX'。这会覆
盖全局变量 g:vimwiki_listsyms 的值。

第一个符号代表项目完成度为 0%。
最后一个符号代表项目完成度为 100%。

你可以像这样设置更多的符号:

   let g:vimwiki_list = [{'path': '~/path/', 'listsyms': '✗○◐●✓'}]


vimwiki-option-listsym_rejected
------------------------------------------------------------------------------

该字符表示项目中不会去完成的清单。默认值为 '-'。这会覆盖全局变量
g:vimwiki_listsym_rejected 的值。


这里设置的字符不能是 vimwiki-option-listsyms 中的符号。

你可以像这样包含更多有趣的符号:

   let g:vimwiki_list = [{'path': '~/path/', 'listsym_rejected' = '✗'}]


vimwiki-option-listsyms_propagate
------------------------------------------------------------------------------
变量                 默认值     可选值
listsyms_propagate  1                 0, 1

描述
此选项设置为 0 时,待办事项的子项完成状态不会影响父项的完成状态。


vimwiki-option-auto_tags
------------------------------------------------------------------------------
变量             默认值     可选值
auto_tags       0                 0, 1

描述
设置为 1 时在当前维基被保存时会自动更新标签:
  let g:vimwiki_list = [{'path': '~/my_site/', 'auto_tags': 1}]


vimwiki-option-auto_diary_index
------------------------------------------------------------------------------
变量               默认值     可选值
auto_diary_index  0                 0, 1

描述
这个选项设置为 1 时会在打开日记目录时自动更新。
参考 :VimwikiDiaryGenerateLinks:
  let g:vimwiki_list = [{'path': '~/my_site/', 'auto_diary_index': 1}]


vimwiki-option-auto_generate_links
------------------------------------------------------------------------------
变量                  默认值     可选值
auto_generate_links  0                 0, 1

描述
这个选项设置为 1 时会在当前维基页面保存时自动更新链接:
  let g:vimwiki_list = [{'path': '~/my_site/', 'auto_generate_links': 1}]


vimwiki-option-auto_generate_tags
------------------------------------------------------------------------------
变量                 默认值     可选值
auto_generate_tags  0                 0, 1

描述
该选项设置为 1 时可以在当前维基保存时自动更新标签:
  let g:vimwiki_list = [{'path': '~/my_site/', 'auto_generate_tags': 1}]


vimwiki-option-exclude_files
------------------------------------------------------------------------------
变量             默认值     可选值
exclude_files   []                列出需要排除的文件类型

描述
在检查或生成链接时会排除该选项中设置的文件类型:
  let g:vimwiki_list = [{'path': '~/my_site/', 'exclude_files': ['**/README.md']}]

vimwiki-option-html_filename_parameterization
------------------------------------------------------------------------------
变量                             默认值     可选值
html_filename_parameterization  0                 0, 1

描述
这个选项用于和 vimwiki_markdown gem (一个 Ruby 库) 功能集成。如果设置为 1 则会
检查生成的 html 网页文件的名字,用于匹配 vimwiki_markdown 生成的文件。这可以避
免不必要的文件生成。

这个设置还会关闭自动删除 site_html 目录中与现有 wiki 文件不匹配的文件。

------------------------------------------------------------------------------
g:vimwiki_list_ignore_newline

与 HTML 相关,在多条列表清单中将换行转换为 <br />。

变量           描述
0               清单中的换行会被转换为 <br />。
1               忽略换行

默认值: 1

------------------------------------------------------------------------------
g:vimwiki_text_ignore_newline

与 HTML 相关。将文本中的换行符转换为 <br />。

变量           描述
0               文本中的换行会被转换为 <br />。
1               忽略换行。

默认值: 1

vimwiki-option-rss_name
------------------------------------------------------------------------------
变量             默认值
rss_name        rss.xml

描述
设置 RSS 的文件名:
  let g:vimwiki_list = [{'path': '~/my_pages/', 'rss_name': 'feed.rss'}]

Vimwiki 会将这个文件生成 RSS 日志摘要。

vimwiki-option-rss_max_items
------------------------------------------------------------------------------
变量             默认值
rss_max_items   10

描述
设置导出到 RSS 摘要的日记条目。

vimwiki-option-base_url
------------------------------------------------------------------------------
变量             默认值
base_url        ''

描述
该设置指定了生成的 Vimwiki HTML 页面的 URL 地址。这个 URL 地址用于 RSS 订阅源
中的链接,以及用于订阅源内部日记条目的链接。

g:vimwiki_toc_header
------------------------------------------------------------------------------

该字符串定义了维基目录中标题的内容 (参考 vimwiki-toc),你可以使用下面的方法
将目录标题更改为你的母语:
  let g:vimwiki_toc_header = 'Inhalt'

默认是 'Contents'。

g:vimwiki_toc_header_level
------------------------------------------------------------------------------

目录的级别 (参考 vimwiki-toc),有效范围是 1 到 6。

默认为 1.

g:vimwiki_toc_link_format
------------------------------------------------------------------------------

目录的链接格式 (参考 vimwiki-toc).


变量           描述
0               扩展: 链接包括 URL 和描述,URL 引用包括所有级别。
1               简洁: 链接仅包括 URL,URL 仅引用直接级别。

默认值: 0

vimwiki-option-color_dic
------------------------------------------------------------------------------

字典包含了 :VimwikiColorize 中可在 html 中使用的所有颜色的集合。关键字是作为
参数的颜色名称,值是颜色的列表如:

{'red': ['#cc241d', ''], 'bred': ['', '#cc241d']}

设置两种颜色到 :VimwikiColorize: 'red' => red 为前景色且 'bred' => red 为背景色


g:vimwiki-option-rx_todo
------------------------------------------------------------------------------

使用正则表达式来高亮显示不同的 TODO 词汇。

默认值: \C\<\%(TODO\|DONE\|STARTED\|FIXME\|FIXED\|XXX\)\>


vimwiki-option-color_tag_template
------------------------------------------------------------------------------

不应被编辑:一个包含 COLORFG、COLORBG 和 CONTENT 占位符的正则表达式,用于通过标签包围内容以定义其颜色。(参见 autoload/vimwiki/vars.vim)
不应该被编辑: 包含 __COLORFG__, __COLORBG__ 和 __CONTENT__  的占位符。用一个标
记包围内容,用于定义其颜色 (参考 autoload/vimwiki/vars.vim)

------------------------------------------------------------------------------
12.4 语法变量                                   vimwiki-syntax-options

语法选项的配置使用下面的模式:

    let g:vimwiki_syntaxlocal_vars = {}
    let g:vimwiki_syntaxlocal_vars['markdown'] = []
    let g:vimwiki_syntaxlocal_vars['markdown']['bullet_type'] = ['*', '-', '+']

说明:
- markdown 是语法的名字,它可以是 (default, markdown or media)
- bullet_type 选项的名字 (参考下文)
- ['*', '-', '+'] 是选项的值


------------------------------------------------------------------------------
blockquote_markers

标记列表用于定义块引用

默认值: ['>']


------------------------------------------------------------------------------
yaml_metadata_block

用于定义 YAML 标志 (开始, 结尾) 的正则表达式区域分隔符列表更多信息参考
#1287 和 https://pandoc.org/MANUAL.html#extension-yaml_metadata_block

默认值: [['^---$', '^\%(---\|\.\.\.$']]
类似于更严格的锚点


------------------------------------------------------------------------------
12.5 全局变量                                   vimwiki-global-options


设置全局变量的方法示例:

    let g:vimwiki_global_ext = 1

说明:
- global_ext 是选项的名字
- 1 是选项的值

------------------------------------------------------------------------------
g:vimwiki_schemes_web g:vimwiki_schemes_any

已知方案列表。如果有类似 "//" shemes_web 将匹配 https://github.com

例子:
let g:vimwiki_schemes_web = ['http', 'https']
默认值:
['http', 'https', 'file',  ... , 'git', 'ssh', 'fish', 'sftp']

------------------------------------------------------------------------------
g:vimwiki_hl_headers

使用不同的颜色突出标题 =Reddish=, ==Greenish==, ===Blueish=== colors.

Value           Description
1               使用 VimwikiHeader1 - VimwikiHeader6 颜色突出不同级别的标题
0               使用 hl-Title 的颜色来突出不同的主题
默认值: 0

------------------------------------------------------------------------------
g:vimwiki_hl_cb_checked

高亮显示已完成的待办事项:

  * [X] 当设置为 1 时这一行也会被高亮显示
    * 当设置为 2 时这一行也会被高亮显示
  * [ ] 这一行不会被高亮显示

Value           Description
0               不使用任何高亮显示
1               只高亮显示已完成的 [X] 的第一行
2               高亮显示被选中的所有行

默认值: 0

group-name "Comment" 是突出显示的。

注意: 选项 2 工作的并不完美。具体来说,如果列表清单中包含有预格式化的文本,或
者你缩进时制表符和空格混合使用,高亮显示可能就会被中断。此外被缩进的标题可能会
错误地高亮显示。还有,如果你的列表清单很长,高亮显示可能就会被中断。要解决这个
问题可以将下面的内容放在 Vim 的配置文件中
 au BufEnter *.wiki :syntax sync fromstart

------------------------------------------------------------------------------
g:vimwiki_global_ext

控制是否允许创建 vimwiki-temporary-wiki。

打开的文件扩展名为维基文件后缀名 (参考 vimwiki-register-extension) 且满足:
条件1. 文件所在目录不在 g:vimwiki_list;
条件2: 文件所在的目录不在任何已注册维基目录的子目录下。

值           描述
1               生成临时维基并将其添加到 g:vimwiki_list。
0               不生成临时维基

如果你喜欢使用 .txt 作为维基的扩展名。你可以通过
    let g:vimwiki_global_ext = 0
来限制 Vimwiki 只将 g:vimwiki_list 列表目录下的该文件视作维基文件,而不会将其
它目录下的扩展名为 txt 的文件视作维基文件。

默认值: 1


------------------------------------------------------------------------------
g:vimwiki_ext2syntax vimwiki-register-extension

文件扩展名与语法之间多对一的映射,目的在于在 vimwiki 中注册扩展名。

例如:
  let g:vimwiki_ext2syntax = {'.md': 'markdown',
                  \ '.mkd': 'markdown',
                  \ '.wiki': 'media'}

在 Vimwiki 中注册过的文件扩展名会触发 vimwiki-temporary-wiki 的创建。在
g:vimwiki_list 列表中的使用文件扩展名会使用默认语法在 Vimwiki 中注册。使用此
选项映射的扩展名会使用映射的语法。

默认值:
    {'.md': 'markdown', '.mkdn': 'markdown',
    \  '.mdwn': 'markdown', '.mdown': 'markdown',
    \  '.markdown': 'markdown', '.mw': 'media'}

注意: 该选项会覆盖默认的值,如果需要就包含它。

------------------------------------------------------------------------------
g:vimwiki_menu

在 gvim 的菜单栏中创建一个菜单选项,你可以在那里打开可用的 wiki。如果给 wiki
指定了一个名称(参考 vimwiki-option-name),菜单选项的名称将使用该名称。否则
vimwiki-option-path 文件夹的名称将会被用于菜单选项的名称。如果 wiki 名称有重
复,则会添加 g:vimwiki_list 中对应的 wiki 条目索引号。

值              描述
''                 没有菜单
'Vimwiki'          顶层菜单为 "Vimwiki"
'Plugin.Vimwiki'   "Vimwiki" 为顶层菜单 "Plugin" 的子菜单
等等.

默认值: 'Vimwiki'


------------------------------------------------------------------------------
g:vimwiki_listsyms

至少要两个符号来表示待办项列表完成进度。默认值为 ' .oox'。你也可以在
vimwiki-option-listsyms 中自定义设置。

第一个符号表示项目完成度为 0%。
最后一个符号表示项目完成度为 100%。

你可以设置更有趣的一些符号,如:

   let g:vimwiki_listsyms = '✗○◐●✓'


------------------------------------------------------------------------------
g:vimwiki_listsym_rejected

用于标识在待办事项中不会去做的事项。默认是 '-'。你可以在每个 wiki 中使用
vimwiki-option-listsym_rejected 来进行设置。


这里设置的字符不能是 g:vimwiki_listsyms  中的符号。

你可以像这样包含更多有趣的符号:

   let g:vimwiki_listsym_rejected = '✗'


------------------------------------------------------------------------------
g:vimwiki_folding

启用/禁用 Vimwiki 的折叠 (大纲) 功能。Vimwiki 的折叠功能可以使用 Vim 内部的折
叠方式 'expr''syntax' foldmethod值           描述
''              不使用折叠
'expr'          基于缩进的折叠 (折叠章节和代码块)
'syntax'        基于语法的折叠 (速度要比 'expr' 慢一点)
'list'          基于表达式的折叠 (折叠列表中的子项,速度更慢)
'custom'        使用其他的插件来实现,或者使用 Vim 配置文件里的折叠方案

默认值: ''

局限性:
  - 启用折叠时,打开非常大的文件可能会变得很慢
  - 'list' 折叠方式在打开大文件时会很慢
  - 'list' 主要是和使用 'shiftwidth' 缩进的列表一起工作

作为变通,上面的选项可以添加后缀 ':quick'(例如 'expr:quick'),这样一来打开
文件时会快一点。

------------------------------------------------------------------------------
g:vimwiki_use_calendar

使用 calendar 的日期新建或打开已存在的日记文件。
参考 vimwiki-calendar.

值           描述
0               不使用 calendar.
1               使用 calendar.

默认值: 1


------------------------------------------------------------------------------
g:vimwiki_create_link

如果不存在则创建维基文件。参考 :VimwikiFollowLink.

值           描述
0               不创建新的维基文件
1               创建新的维基文件

默认值: 1


------------------------------------------------------------------------------
g:vimwiki_markdown_link_ext

在 Markdown 中的链接后面添加 wiki 文件扩展名,这是为了与其他 Markdown 工具保持
兼容性。

值           描述
0               不添加维基的扩展名
1               添加维基的扩展名

默认值: 0


------------------------------------------------------------------------------
VimwikiLinkHandler

可以自己定义一个在 vimwiki 中打开链接的程序,它会覆盖掉 vimwiki 默认打开链接的
程序。每一个可被识别的链接,无论是 wikilink, wiki-include 或者是 weblink,都会
首先传递给 VimwikiLinkHandler 尝试处理,返回 1 时表示打开成功。

如果打开失败,Vimwiki 的行为取决于 "wiki:", "diary:" 方案,无方案的链接在 Vim
中打开。"file:" 和 "local:" 链接则使用系统默认的处理程序打开。

你可以在配置文件中重新定义 VimwikiLinkHandler 功能以此来做一些其它的操作:

  function! VimwikiLinkHandler(link)
    try
      let browser = 'C:\Program Files\Firefox\firefox.exe'
      execute '!start "'.browser.'" ' . a:link
      return 1
    catch
      echo "This can happen for a variety of reasons ..."
    endtry
    return 0
  endfunction

第二个例子中使用了一个新方案,对 "vfile:" 的操作行为类似 "file:",但是会 Vim中
新建一个 tab 窗口来打开:

  function! VimwikiLinkHandler(link)
    " Use Vim to open external files with the 'vfile:' scheme.  E.g.:
    "   1) [[vfile:~/Code/PythonProject/abc123.py]]
    "   2) [[vfile:./|Wiki Home]]
    let link = a:link
    if link =~# '^vfile:'
      let link = link[1:]
    else
      return 0
    endif
    let link_infos = vimwiki#base#resolve_link(link)
    if link_infos.filename == ''
      echomsg 'Vimwiki Error: Unable to resolve link!'
      return 0
    else
      exe 'tabnew ' . fnameescape(link_infos.filename)
      return 1
    endif
  endfunction

------------------------------------------------------------------------------
VimwikiLinkConverter

这个功能会被 vimrc 中的配置所覆盖,指定一个链接转换为 HTML 时,使用函数:
        - 链接一个字符串
        - 链接到所在的 wiki 文件的完整路径
        - 输出到 HTML 文件的完整路径
如果成功返回指向 html 的链接,否则返回 ''。

这个例子中修改了使用 "local:" 链接到外部文件时在转换为 HTML 时的行为。默认的情
况下,它会使用相对于 html 目录的相对路径。这个例子中将其修改为相对于 wiki 文件
的路径。即 [[local:../document.pdf]] 链接会被转换为 <a href="../document.pdf">。
此外,这个函数会将 document.pdf 复制到正确的位置中。

  function! VimwikiLinkConverter(link, source_wiki_file, target_html_file)
    if a:link =~# '^local:'
      let link_infos = vimwiki#base#resolve_link(a:link)
      let html_link = vimwiki#path#relpath(
                \ fnamemodify(a:source_wiki_file, ':h'), link_infos.filename)
      let relative_link =
                \ fnamemodify(a:target_html_file, ':h') . '/' . html_link
      call system('cp ' . fnameescape(link_infos.filename) .
                \ ' ' . fnameescape(relative_link))
      return html_link
    endif
    return ''
  endfunction

------------------------------------------------------------------------------
VimwikiWikiIncludeHandler

默认将 wiki-include URL 中的内容作为图片处理。

试用功能允许您为wiki包含链接提供自己的处理程序。当处理程序无法识别或否则无法转
换链接。自定义处理程序可能如下所示:

  " Convert {{URL|#|ID}} -> URL#ID
  function! VimwikiWikiIncludeHandler(value)
    let str = a:value

    " complete URL
    let url_0 = matchstr(str, g:vimwiki_rxWikiInclMatchUrl)
    " URL parts
    let link_infos = vimwiki#base#resolve_link(url_0)
    let arg1 = matchstr(str, VimwikiWikiInclMatchArg(1))
    let arg2 = matchstr(str, VimwikiWikiInclMatchArg(2))

    if arg1 =~ '#'
      return link_infos.filename.'#'.arg2
    endif

    " Return the empty string when unable to process link
    return ''
  endfunction


------------------------------------------------------------------------------
g:vimwiki_table_auto_fmt

启用/禁止离开 INSERT 模式后自动对表格进行格式化。

值           描述
0               不启用自动格式化表格
1               启用自动格式化表格

默认值: 1


------------------------------------------------------------------------------
g:vimwiki_table_reduce_last_col

如果进行了设置,在表格的最后一行不会自动添加单元行。选项 :set wrap 可以改善
显示的效果,在小屏幕上尤为明显。如果 g:vimwiki_table_auto_fmt 被设置为了 0,
这个选项就不会起作用了。

值           描述
0               启用表格中所有行的自动化
1               表格最后一行禁止表格的自动化

默认值: 0


------------------------------------------------------------------------------
g:vimwiki_w32_dir_enc

指定文件名使用的字符编码,创建目录时,将 'encoding'(编码)转换为
'g:vimwiki_w32_dir_enc' 指定的编码。

如果你 'encoding' 编码为 'enc=utf-8' 且设置了
    let g:vimwiki_w32_dir_enc = 'cp1251'

在下面的链接后按 <CR>:
    [[привет/мир]]

会将 utf-8 'привет' 转换为 cp1251 编码,并以此做为目录的名字。

默认值: ''


------------------------------------------------------------------------------
g:vimwiki_CJK_length

使用专用的方法来计算双字节字符串的长度(用于表格的对齐)。

值           描述
0               不使用双字节
1               使用双字节

默认值: 0

注意: vim 7.3 版本有了一个新的函数 strdisplaywidth() 可用,所以对于使用更新
版本的用户来说,这一选项已经过时了。


------------------------------------------------------------------------------
g:vimwiki_dir_link

这个选项是关于如何处理指向目录的𫟼接,如 [[directory/]],[[papers/]] 等。

值           描述
''              使用 netrw 插件打开目录('directory/')。
'index'         打开 'directory/index.wiki',必要时新建。
'main'          打开 'directory/main.wiki',必要时新建。
等等.

默认值: '' (empty string)


------------------------------------------------------------------------------
g:vimwiki_html_header_numbering

如果你想要标题在转换后的 HTML 中自动编号使用这个选项。

例如:
    1 Header1
    1.1 Header2
    1.2 Header2
    1.2.1 Header3
    1.2.2 Header3
    1.3 Header2
    2 Header1
    3 Header1
etc.

值           描述
0               关闭标题的数字
1               打开标题的数字。标题数字从 1 级标题开始。
2               打开标题的数字。标题数字从 2 级标题开始。
等等.

例如当 g:vimwiki_html_header_numbering = 2:
    Header1
    1 Header2
    2 Header2
    2.1 Header3
    2.1.1 Header4
    2.1.2 Header4
    2.2 Header3
    3 Header2
    4 Header2
等等.

默认值: 0


------------------------------------------------------------------------------
g:vimwiki_html_header_numbering_sym

g:vimwiki_html_header_numbering 的结束等号。

值           描述
'.'             点会被添加到标题数字的后面
')'             括号被添加到标题数字的后面
等等.

使用
    let g:vimwiki_html_header_numbering_sym = '.'
标题看起来会是这个样子:
    1. Header1
    1.1. Header2
    1.2. Header2
    1.2.1. Header3
    1.2.2. Header3
    1.3. Header2
    2. Header1
    3. Header1


默认值: '' (empty)


------------------------------------------------------------------------------
g:vimwiki_valid_html_tags

定义允许在 vimwiki 中使用的 HTML 标签,它们以逗号分隔符分开。在将 vimwiki 转换
为 HTML 网页时,已定义的标签会被转换,其它的字符则会被原样输出。

默认值: 'b,i,s,u,sub,sup,kbd,br,hr'


------------------------------------------------------------------------------
g:vimwiki_user_htmls

以逗号作为分隔符的 html 文件列表,它没有对应的 wiki 文件。不会在
:VimwikiAll2HTML 之后被删除。

默认值: ''

例子:
包含了 404.html 和 search.html 在你 vimwiki 的 'path_html'。
使用:
    let g:vimwiki_user_htmls = '404.html,search.html'
他们将不会在使用命令 :VimwikiAll2HTML 之后被删除。


------------------------------------------------------------------------------
g:vimwiki_conceallevel

在 Vim 7.3 版本中 'conceallevel' 是当前窗口的本地属性,因此,如果你在新的 tab
页面打开 Vimwiki 的缓冲时,它将会被设置为默认值。

每次进入 Vimwiki 的缓冲时,Vimwiki 都会将 'conceallevel' 设置为
g:vimwiki_conceallevel。

使用默认设置,Vimwiki 将会隐藏单个字符的标记,将长的 URL 缩短,并且隐藏带有描
述标记的 URL。

默认值: 2


------------------------------------------------------------------------------
g:vimwiki_conceal_onechar_markers

控制单字符标记的隐藏。

将 'conceal_onechar_markers' 设置为 0 时,将会显示标记,它会覆盖掉
g:vimwiki_conceallevel 中的设置。

默认值: 1


------------------------------------------------------------------------------
g:vimwiki_conceal_pre

隐藏预格式化文本的标记。例如,

    {{{python
    def say_hello():
        print("Hello, world!")
    }}}

在你的 wiki 文件中会看起来简单一点

    def say_hello():
        print("Hello, world!")

默认值: 0


------------------------------------------------------------------------------
g:vimwiki_autowriteall

在切换 wiki 界面时,修改过的 wiki 页面会自动保存。与 Vim 中的 'autowriteall'
具有相同的效同,但是该选项只作用于 wiki 文件,而 Vim 中的选项则会作用于所有文
件。
提示:如果你必须要手动保存 wiki 文件,你可以考虑设置 vim 中的 'hidden' 。这会
使修改后的文不自动保存。

值           描述
0               autowriteall is off
1               autowriteall is on

默认值: 1


------------------------------------------------------------------------------
g:vimwiki_url_maxsave

设置 g:vimwiki_url_maxsave 为 0 将会禁止使用任何形式的短链接:你将在所有的链
接类型中自到完整的 url,它们没有隐藏的部分。这个选项不会影响 wiki 中的元素如粗
体、斜体、wikilinks,等等。

当大于 0 时,该值决定了在隐藏 url 的中间部分后,在结尾保留的最大字符数。它可能
会小于这个值,如果一个符号 /,#,? 出现在结尾的地方时,url 将会被隐藏,直到该字
符最后一次出现。

注意:
  * 这个隐藏的特性要求 vim 版本 >= 7.3。
  * 当使用 vim 中默认的 wrap 时,隐藏链接的属性并不总令人满意。当有一个长的
    文本行时隐藏的部分会被莫名地中断,这是 vim conceal 特性的一个限制。
  * 许多的配色方案中并没有为隐藏的高亮组配置一个引入注目的颜色 - 这在短形式的
    url 上可能会相当的明显。


默认值: 15


------------------------------------------------------------------------------
g:vimwiki_diary_months

Dictionary 中包含了月份和相应名称的列表,在日记中使用它。

在 .vimrc 中可以对其进行重新定义,这样就可以使用本地化的月份:
let g:vimwiki_diary_months = {
      \ 1: 'Январь', 2: 'Февраль', 3: 'Март',
      \ 4: 'Апрель', 5: 'Май', 6: 'Июнь',
      \ 7: 'Июль', 8: 'Август', 9: 'Сентябрь',
      \ 10: 'Октябрь', 11: 'Ноябрь', 12: 'Декабрь'
      \ }

默认值:
let g:vimwiki_diary_months = {
      \ 1: 'January', 2: 'February', 3: 'March',
      \ 4: 'April', 5: 'May', 6: 'June',
      \ 7: 'July', 8: 'August', 9: 'September',
      \ 10: 'October', 11: 'November', 12: 'December'
      \ }

------------------------------------------------------------------------------
g:vimwiki_map_prefix

为所有的全局映射(和一些局部映射)指定前缀的字符串。使用这个功能可以避开与其他
插件之间的冲突。注意,必须在插件加载之前定义。
  let g:vimwiki_map_prefix = '<Leader>e'

默认值是 '<Leader>w'.


------------------------------------------------------------------------------
g:vimwiki_auto_chdir

设置为 1 时,启动 auto-cd 特性。每当 vimwiki 页面打开时,vimwiki 会在页面所属
的根目录中执行 :lcd值           描述
0               不更改目录
1               在打开 vimwiki 页面时将目录改为页面所在的目录

默认值: 0


------------------------------------------------------------------------------
g:vimwiki_links_header

连接标题,vimwiki 文件中超链接目录的标题。可以这样将其设置为你自己的母语:
  let g:vimwiki_links_header = 'Generierte Links'

默认值是 'Generated Links'.


------------------------------------------------------------------------------
g:vimwiki_links_header_level

生成链接的标题级别,有效值从 1 到 6。

默认为 1。


------------------------------------------------------------------------------
g:vimwiki_listing_hl

当设置为 1 时,在 html 页面中使用语法高亮显示。当遇到一个代码片段时,会在代码
片段上调用 g:vimwiki_listing_hl_command值           描述
0               在 HTML 中不对代码片段高亮显示
1               在 HTML 中对代码片段高亮显示,参考 g:vimwiki_listing_hl_command

默认值: 0


------------------------------------------------------------------------------
g:vimwiki_listing_hl_command

指定在 html 中突出显示代码片段命令的字符串。这个参数通过 type=extension 的形式
指定扩展名。例如将一个 python 的列表将会被写成 s:
  {{{type=py
  print("hello world")
  }}}
本例中使用的是 foo.py。带有 type 标记的目标将会被高亮显示。
  <pre type=py>
  %output of highlight command&
  </pre>

默认值是 'pygmentize -f html'.


------------------------------------------------------------------------------
g:vimwiki_tags_header

标签字符,标记 vimwiki 文件中标签的开始位置。可以这样将其设置为你自己的母语:
  let g:vimwiki_tags_header = 'Generierte Stichworte'

默认值是 'Generated Tags'.


------------------------------------------------------------------------------
g:vimwiki_tags_header_level

生成标签的标题级别,有效范围是从 1 到 5。

默认为 1.


------------------------------------------------------------------------------
g:vimwiki_markdown_header_style

生成标题后要在后面插入的行数,有效值从 0 到 2。

默认为 1.


------------------------------------------------------------------------------
g:vimwiki_auto_header

选项设置为 1 时,在创建新 wiki 页面时会自动生成 1 级标题。这个选项不会作用在
wiki index 和 diary index 上。被 vimwiki-option-links_space_char 替换的空格
在生成标题时会恢复为空格。标题处理恢复为空格的字符外与文件的名字将完全一样。

例如,links_space_char 设置为 '_' 创建文本 foo bar link 的链接将生生成
[[foo_bar_link]] 创建的文件名为 foo_bar_link.wiki。生成的标题将会是
 = foo bar link =。

默认值是 0.


------------------------------------------------------------------------------
g:vimwiki_key_mappings

这是一个字典,用于启用/禁用各种键的组合映射。要禁用一个特定的组合,将相关的键
值设为 0 即可。例如:

  let g:vimwiki_key_mappings =
    \ {
    \ 'headers': 0,
    \ 'text_objs': 0,
    \ }

禁用所有 Vimwiki 按键的映射使用:

    let g:vimwiki_key_mappings = { 'all_maps': 0, }

有效的组合键及相关的映射显示如下。

all_maps:
  禁止使用所有 Vimwiki 的键值映射。
global:
  vimwiki-global-mappings 在 Vim 启动时定义。
headers:
  在头部导航和操作的映射:
  vimwiki_=, vimwiki_-, vimwiki_[[, vimwiki_]], vimwiki_[=
  vimwiki_]=, vimwiki_]u , vimwiki_[u
text_objs:
  vimwiki-text-objects mappings.
table_format:
  用于格式化表格的映射。
  vimwiki_gqq, vimwiki_gww, vimwiki_gq1, vimwiki_gw1
  vimwiki_<A-Left>, vimwiki_<A-Right>
table_mappings:
    表格中插入模式的映射。
    vimwiki_<Tab>, vimwiki_<S-Tab>
lists:
    表格操作的映射。
    vimwiki_<C-Space>, vimwiki_gl<Space>, vimwiki_gL<Space> vimwiki_gln, vimwiki_glp
    vimwiki_gll, vimwiki_gLl, vimwiki_glh, vimwiki_gLh, vimwiki_glr, vimwiki_gLr
    vimwiki_glsar, vimwiki_gLstar, vimwiki_gl#, vimwiki_gL#, vimwiki_gl-, vimwiki_gL-
    vimwiki_gl1, vimwiki_gL1, vimwiki_gla, vimwiki_gLa, vimwiki_glA, vimwiki_gLA
    vimwiki_gli, vimwiki_gLi, vimwiki_glI, vimwiki_gLI, vimwiki_glx
lists_return:
    离开插入模式时的列表映射。
    vimwiki_i_<CR>, vimwiki_i_<S-CR>
links:
    创建链接和导航的映射。
    vimwiki_<Leader>w<Leader>i, vimwiki_<CR>, vimwiki_<S-CR>, vimwiki_<C-CR>
    vimwiki_<C-S-CR>, vimwiki_<D-CR>, vimwiki_<Backspace>, vimwiki_<Tab>
    vimwiki_<S-Tab>, vimwiki_<Leader>wd, vimwiki_<Leader>wr, vimwiki_<C-Down>
    vimwiki_<C-Up>, vimwiki_+, vimwiki_<Backspace>
html:
    生成 HTML 的映射。
    vimwiki_<Leader>wh, vimwiki_<Leader>whh
mouse:
    鼠标映射,参考 vimwiki_mouse。这个映射默认不启用。

默认情况下会启用除鼠标映射之外的所有映射:
  let g:vimwiki_key_mappings =
    \ {
    \   'all_maps': 1,
    \   'global': 1,
    \   'headers': 1,
    \   'text_objs': 1,
    \   'table_format': 1,
    \   'table_mappings': 1,
    \   'lists': 1,
    \   'links': 1,
    \   'html': 1,
    \   'mouse': 0,
    \ }


------------------------------------------------------------------------------
g:vimwiki_filetypes

这个列表列出了被追加为 vimwiki 文件的类型:

  let g:vimwiki_filetypes = ['markdown', 'pandoc']

这个设置会将指定的文件设置为 vimwiki.markdown.pandoc。这可以用来启动第三个插
件,如自定义折叠。警告:这个选项可以让使其他插件覆盖 vimwiki 的默认行为,所以
使用时要特别当心。任何针对文件类型的插件都会被启用。

默认为 [ ]


------------------------------------------------------------------------------
g:vimwiki_commentstring

更改默认注释字符串的选项。使用

  let g:vimwiki_commentstring = '<!--%s-->'

用于 html-style 风格的注释,使用

  let g:vimwiki_commentstring = ""

vimwiki 中不设置注释用字符串。

默认值为 %%%s.


------------------------------------------------------------------------------
g:vimwiki_emoji_enable

位字段:启用/禁止表情隐藏和显示,注意只有在 completefunc 不存在时才会被设置。
以此保持其他插件以默认的方式工作。它可以手动设置为:
  set completefunc=vimwiki#emoji#complete

将当前文件中表情符号的别名(如 :cat:)替换为其它值(如 🐱):
  %s/:\([^:]\+\):/\=get(vimwiki#emoji#get_dic(), submatch(1), submatch(0))/g

表情符号直接从 https://github.com/junegunn/vim-emoji 中复制

值           描述
0               Disable emoji support
1               Enable emoji conceal
2               Enable emoji complete (with i_CTRL-X_CTRL-U)
3               Enable both

默认值: 3


------------------------------------------------------------------------------
g:vimwiki_tag_format

描述 vimwiki 中突出显示标签格式的字典。生成并 follow_link

| Key       | Default  | Description
----------------------------------------------------- ReGeX
| pre       | '^\|\s'  | Limitations to tag precedence
| pre_mark  | ':'      | Tag list opener
| in        | '[[:space:]]\+' | Tag permitted characters
| sep       | ':'      | Tag separators in a tag list
| post_mark | ':'      | Tag list closer
| post      | '\s\|$'  | Limitations to tag following
----------------------------------------------------- Number
| conceal   |  0       | Do conceal the tag
----------------------------------------------------- Character
| cchar     |  ''      | If conceal, the conceal char


默认使用用户提供的字典获得 extends。所以只需提供需要更改的值。例如要使用:
- Tag like:
  <<tag1|tag2>>
- Set:
  let g:vimwiki_tag_format = {'pre_mark': '<<', 'post_mark': '>>', 'sep': '|'}
- Tag like:
  tags: @tag1 @tag2
- Set:
  let g:vimwiki_tag_format = {'pre': '\(^[ -]*tags\s*: .*\)\@<=',
        \ 'pre_mark': '@', 'post_mark': '', 'sep': '>><<'}


==============================================================================
13. 获得帮助                                                vimwiki-help

提问,讨论,支持或反对来这个邮件列表中:
https://groups.google.com/forum/#!forum/vimwiki

另外,在 irc.libera.chat 上有一个 IRC 的 #vimwiki 聊天室,通过这个网址可以访问
聊天室: https://web.libera.chat/?channels=#vimwiki

==============================================================================
14. 项献 & 漏洞报告                          vimwiki-contributing

有了你的帮助 Vimwiki 才会变得更好!
任何帮助,无论是更正拼写错误还是修补代码问题我们都欢迎你。

查看 CONTRIBUTING.md 了解如何提交错误报告等。

==============================================================================
15. 开发者                                          vimwiki-development

官网: https://vimwiki.github.io/
Github项目地址: https://github.com/vimwiki/vimwiki/
Vim 插件地址: https://www.vim.org/scripts/script.php?script_id=2226
旧的网址: https://code.google.com/p/vimwiki/

贡献者的 Github 名字,大致按时间先后顺序排列:

    - Maxim Kim (@habamax) <habamax@gmail.com> as original author
    - the people here: https://code.google.com/p/vimwiki/people/list
    - Stuart Andrews (@tub78)
    - Tomas Pospichal
    - Daniel Schemala (@EinfachToll) as current maintainer
    - Larry Hynes (@larryhynes)
    - Hector Arciga (@harciga)
    - Alexey Radkov (@lyokha)
    - Aaron Franks (@af)
    - Dan Bernier (@danbernier)
    - Carl Helmertz (@chelmertz)
    - Karl Yngve Lervåg (@lervag)
    - Patrick Davey (@patrickdavey)
    - Ivan Tishchenko (@t7ko)
    - 修昊 (@Svtter)
    - Marcelo D Montu (@mMontu)
    - John Kaul
    - Hongbo Liu (@hiberabyss)
    - @Tomsod
    - @wangzq
    - Jinzhou Zhang (@lotabout)
    - Michael Riley (@optik-aper)
    - Irfan Sharif (@irfansharif)
    - John Conroy (@jconroy77)
    - Christian Rondeau (@christianrondeau)
    - Alex Thorne (@thornecc)
    - Shafqat Bhuiyan (@priomsrb)
    - Bradley Cicenas (@bcicen)
    - Michael Thessel (@MichaelThessel)
    - Michael F. Schönitzer (@nudin)
    - @sqlwwx
    - Guilherme Salazar (@salazar)
    - Daniel Trnka (@trnila)
    - Yuchen Pei (@ycpei)
    - @maqiv
    - Dawid Ciężarkiewicz (@dpc)
    - Drew Hays (@Dru89)
    - Daniel Etrata (@danetrata)
    - Keith Haber (@kjhaber)
    - @beuerle
    - Silvio Ricardo Cordeiro (@silvioricardoc)
    - @blyoa
    - Jonathan McElroy (@jonathanmcelroy)
    - @PetrusZ
    - Brian Gianforcaro (@bgianfo)
    - Ben Burrill (@benburrill)
    - Zhuang Ma (@mzlogin)
    - Huy Le (@huynle)
    - Nick Borden (@hcwndbyw)
    - John Campbell (@johnmarcampbell)
    - Petrus (@PetrusZ)
    - Steven Stallion (@sstallion)
    - Daniel Quomsieh (@DQuomsieh)
    - Fredrik Arnerup (@farnerup)
    - CUI Hao (@cuihaoleo)
    - Benjamin Brandtner (@BenjaminBrandtner)
    - @sreejith994
    - Raphael Feng (@raphaelfeng)
    - Kasper Socha (@fte10kso)
    - Nicolas Brailovsky (@nicolasbrailo)
    - @BenMcH
    - Stefan Huber (@shuber2)
    - Hugo Hörnquist (@HugoNikanor)
    - Rane Brown (@ranebrown)
    - Patrik Willard (@padowi)
    - Steve Dondley (@sdondley)
    - Alexander Gude (@agude)
    - Jonny Bylsma (@jbylsma)
    - Shaedil (@Shaedil)
    - Robin Lowe (@defau1t)
    - Abhinav Gupta (@abhinav)
    - Dave Gauer (@ratfactor)
    - Martin Tourneboeuf (@tinmarino)
    - Mauro Morales (@mauromorales)
    - Valtteri Vallius (@kaphula)
    - Patrick Stockwell (@patstockwell)
    - Henry Qin (@hq6)
    - Hugo Hörnquist
    - Greg Anders
    - Steven Schmeiser
    - Monkin (@monkinco)
    - @AresMegaGlobal
    - Cesar Tessarin (@tessarin)
    - Clément Bœsch (@ubitux)
    - Dave Gauer
    - Eric Langlois (@edlanglois)
    - James Moriarty
    - Lionel Flandrin (@simias)
    - Michael Brauweiler (@rattletat)
    - Michal Cizmazia (@cizmazia)
    - Samir Benmendil (@Ram-Z)
    - Stefan Lehmann (@stevesteve)
    - @graywolf
    - flex (@bratekarate)
    - Marius Lopez (@PtitCaius)
    - Edward Bassett (@ebassett)
    - Aditya Harit (@adi93)
    - Gaurang Kher (@gaurangkher)
    - Rafael Castillo (@eltrufas)
    - Reiner Herrmann (@reinerh)
    - Ryan Winograd
    - Birger Niklas (@BirgerNi)
    - Chip Senkbeil (@chipsenkbeil)
    - Jerome Gay (@jeromg)
    - Benney Au (@chinwobble)
    - David Sierra DiazGranados (@davidsierradz)
    - Daniel Moura (@dmouraneto)
    - Tomáš Janoušek (@liskin)
    - Rajesh Sharem (@deepredsky)
    - Amit Beka (@amitbeka)
    - Yuuy Wei
    - Yifan Hu (@yhu266)
    - Levi Rizki Saputra (@levirs565)
    - Fergus Collins (@C-Fergus)
    - Matthew Toohey (@mtoohey31)
    - Brennen Bearnes
    - Stefan Schuhbäck (@stefanSchuhbaeck)
    - Vinny Furia (@vinnyfuria)
    - paperbenni (@paperbenni)
    - Philipp Oberdiek (@RonMcKay)
    - Lily Foster (@lilyinstarlight)
    - Jean-Luc Bastarache (@jlbas)
    - Youssof Taha (@ysftaha)
    - Thomas Leyh (@leyhline)
    - Charles Schimmelpfennig (@charlesschimmel)
    - nebulaeandstars (@nebulaeandstars)
    - dmitry kim (@jsn)
    - Julian Prein (@druckdev)
    - Luke Atkinson (@LukeDAtkinson)
    - Joe Planisky (@jplanisky)
    - Bence Ferdinandy (@ferdinandyb)
    - R. David Dunphy (@rdunphy)
    - Aarón Fas (@aaronfc)
    - @jiamingc
    - Alex Claman (@claman)
    - @qadzek


==============================================================================
16. 更新日志                                              vimwiki-changelog


以 '#' 开头的问题来自网址: https://github.com/vimwiki/vimwiki/issues/, 其他的
所有问题编号来自 https://code.google.com/p/vimwiki/issues/list. 这些问题的进度
可以通过下面的网站进行查看 https://github.com/vimwiki-backup/vimwiki/issues。

vimwiki 之前的版本是 2.6.0 版本,自 2022.12.02 日起采用了滚动发布策略。一旦受
对插件所做的改进被接受,它们会直接版合并到日常开发分支(dev),同时主分支(master)
作为日常分支的镜像。里面有一些功能是实验的,可能随着时间的推移而改进。


2024.01.24

新增:
    * PR #1389: Document gLH, gl+, and gL+ mappings
    * Tidy some aspects of README.md, remove pointers to defunct Matrix
      channel and Google Group, add wikis.world Mastodon account.


2024.01.22

New:
    * Issue #1279: Fix/Improvement: When re-wrap a long line in a definition
      by 'gq' it should insert ':: ' at the new line
    * Issue #1211: Support angle bracket escaped markdown urls
    * Make auto_tags preserve existing tag section structure
    * Issue #1315: GTD-style token highlighting
    * Issue #1279: gqq autowrap leading :: definition as &l:comments
    * Issue #1332: message URLs on Mac
    * Util: add vimwiki#vars#set_syntaxlocal function for consistency

Fixed:
    * Issue #1365: Fix: count ignored when looking up diary frequency Issue
    * Issue #1323: Folding code blocks using markdown syntax folds the entire rest of
      the file
    * Issue #1365: Jumping to nested anchor with markdown
    * Issue #1297: Handle multibyte chars properly in table separators
    * Issue #1311: Newlines in HTML conversion of codeblocks
    * Issue #1326: Duplicate tag generation
    * Issue #1324: File name prompt fixes
    * Fix vimwiki#diary#calendar_sign when g:vimwiki_list is not set
    * Use fnameescape() instead of escape() in edit_file()
    * Admit trailing spaces for YAML delimiters
    * Minor documentation fixes and CI improvements


2023.04.04

Fixed:
    * Issue #1229: VimwikiGoto completion with file with space
      Must complete file unescaped as argument is then quoted
    * PR #1324: Fix pressing escape in VimwikiGoto prompt (rddunphy)
    * Issue #1336: vimwiki#diary#calendar_sign throws an error
      when g:vimwiki_list is not set


2023.04.04

New:
    * Issue #1261: Feature: Support for <mark> in Markdown
      highlighting with yellow background and back foreground
    * Issue #1274: Feature: Continue blockquote when <CR>
      is pressed in insert mode
      Also add the blockquote_markers variable

Fixed:
    * Issue #1267: Improve performance on link creation by speeding up
      is_diary_file()
    * Issue #1229: Bug: VimwikiGoto without argument creates empty page
    * Issue #1316: Permit tags in heading
      and improve VimwikiSearchTags and VimwikiRebuildTags
    * Issue #1270: VimwikiAddHeaderLevel map (3=) was broken by a previous
      refactoring commit


2023.03.15

New:
    * Issue #150 Fix Math border cases
      according to https://pandoc.org/MANUAL.html#math
    * Issue #1287 Highlight YAML header with yaml_metadata_block
      configuration variable holding region delimiters


2022.12.02

New:
    * Policy: #1235: Move to calendar versioning and rolling release cadence
    * Feature: #238: Reuse existing tabs with tab drop
    * Issue #621: Feature request: Highlight code listings in HTML
    * Issue #290: Calendar plugin, do not sign if no wiki
    * Issue #281: Permit \| in tables
    * PR #1128: VimwikiGoto: Support wiki pages with spaces
    * Feature: Add option to use link Description in default syntax if
      caption is present. generated_links_caption
    * PR #1106: Fix trailing closing brace and comma typo
    * Feature: VimwikiColorize maps in visual and normal mode <leader>wc
    * Feature: PR #686: add a flag lists_return to disable mappings
      to <CR> and <S-CR> in insert mode
    * Feature: enable re-mapping insert mode table mappings
    * Feature: configure expression for Todo words
    * Feature: #954 #1041: Add option vimwiki-option-listsyms_propagate to
      disable todo propagation to parents/children
    * Issue #1009: foldmethod syntax works for markdown (g:vimwiki_folding)
      Also the VimwikiHeader1Folding (1..60 regions support end-of-file /\%$
      as end maker
    * Issue #990: Feature request: highlight multiline selection
      Add :VimwikiColorize with only  support to clorize the current line
    * PR #919: Fix duplicate helptag
    * Feature: PR #988: Command VimwikiVar to list, get and set variables
    * Feature: #837 extract web page <title> from URL under cursor and create
      a nice wiki link
    * Feature: #922 #928: g:vimwiki_tag_format to change the tag format
    * Feature: Support Emoji (Conceal and Complete)
    * Issue #209: Feature: Markdown: Support SetExt Heading
    * Issue #847 #640: Feature: Markdown anchor
      normalize and unormalize: better follow_link and VimwikiTOC
    * Commit 5408d74b3: Syntax: Html support nested, concealable tag
      and faster start syntax region for typeface
    * Issue #926: Feature: VimwikiRenameFile 1/ to other dir
      2/ take argument (completable)
    * Test: travis run vint in an parallel jobs => faster
    * Issue #915: Feature: blockquote (> ) better joining (J) and wrap
    * Issue #913: Allow VimwikiGoto completion after <CR>
    * PR #967: Add multiline comment support via %%+ and +%%
    * PR #946: Add option g:vimwiki_commentstring to customize commentstring
    * Issue #940: Render table header inside thead element and rest under
      tbody element if table header specified in wiki
    * PR #811: Feature: Added handling of absolute path to vimwiki (with //)
    * PR #906: Add VimwikiRemoveDone to remove all todo items that are done
    * PR #907: Cycle bullets
    * PR #901: adds multiparagraph blockquotes using email style syntax
    * PR #934: RSS feed generation for diary with :VimwikiRss.
    * Feature: Add option vimwiki-option-template_date_format to configure
      alternative date string format
    * Feature: Add VimwikiPasteLink to paste an absolute wiki link to the
      current file
    * Feature: Add VimwikiBaddLink to add links to the buffer list, without
      loading, if they weren't listed yet
    * PR 1211: Enable parsing Markdown links escaped with angle brackets

Changed:
    * PR #1047: Allow to replace default mapping of VimwikiToggleListItem
    * VimwikiCheckLinks work on current wiki or on range
    * PR #1057: Change how resolve subdir work
      Change how shell escaping work when using CustomWiki2HTML
    * PR #1132: Spaces in link descriptions are no longer replaced with
      links_space_char

Removed:

Fixed:
    * PR #1240 / issue #1241: Vimwiki2HTMLBrowse now works with Markdown
    * Issue #950: Correctly follow links containing .
    * PR #1245 / issue #1244: Fix VimwikiBacklinks handling of bracketed links
    * Issue #1193: Fix wildcard expansion in find_autoload_file
    * PR #1108: Fix resolution of leading-slash page links, add link tests
    * Allow title values with quotes
    * Enable strikethrough for Neovim
    * Issue #1029: Fix: error loading plugin when lang uses comma instead of
      dot as decimal separator
    * Issue #886: :VimwikiGenerateLinks not working on Windows
    * Issue #55: Newlines in blockquotes are not honored
    * Issue #55: BlockQuote restarts list numbering
    * Issue #979: Fix: Accessing other filetypes within vimwiki
    * Issue #886: VimwikiGenerateLinks crash with single quote in filename
    * Issue #910: Fix: VimwikiTOC removes next non-empty line
    * Issue #182: VimwikiTOC support headers with link
    * Issue #813: iMap <Cr> interfere with completion (pum)
    * Issue #709: Support inline code spans inside emphasis
      Refactoring code, del, eq, sup, sub as regions
    * Issue #847 #640: Refactor: Syntax highlighting typeface: match -> region
    * Issue #891: Fix: Table Pressing <Enter> autosets tw <- 0
    * Issue #894: Make all appropriate settings wikilocal (many commits)
    * PR #902: Doc: Darken logo text
    * PR #895: Fix: File extension for markdown -> syntax wide
      __FileExtension__ keyword appears
    * PR #963: Doc: Replace VimwikiListChangeLevel references in doc with
      VimwikiListChangeLvl as defined by command
    * PR #900: conceallevel is now set locally for vimwiki buffers
    * Issue #942: Fixing wrong html link conversion in windows
    * PR #919: Fix duplicate helptag
    * PR #959: Fix :VimwikiNextTask
    * PR #986: Fix typo in help file
    * PR #1030: Allow overwriting insert mode mappings
    * PR #1057: Fix renaming, updating link, and exporting HTML subdir wrong
      Fix resolve subdir return wrong path in Windows
    * Issue #794: Fix: Generated tag links are build wrong
    * Issue #763: Links opening in qutebrowser multiple times on Linux


2.5 (2020-05-26)

New:
    * PR #787: :VimwikiRenameFile works for all directories: even
      wiki_root/diary/2019-12-11.md if current file is wiki_root/dir1/file.md.
    * Issue #764: fenced code blocks are properly supported for markdown
      syntax i.e. more than 3 backticks, adds tilde support.
    * PR #785: :VimwikiGoto completion works with part of filename and
      nested directories
    * Add test framework (vader, vint, vim-testbed)
    * Issue #769: Set default values for g:vimwiki_ext2syntax.
    * PR #735: Make list-toggling work properly even when code blocks are
      embedded within the list in Markdown mode.
    * PR #711: Allow forcing VimwikiAll2HTML with !
    * PR #702: Make remapping documentation more accessible to newer vim users
    * PR #673: Add :VimwikiGoto key mapping.
    * PR #689: Allow vimwiki-option-diary_rel_path to be an empty string.
    * PR #683: Improve layout and format of key binding documentation in
      README and include note about key bindings that may not work.
    * PR #681: Prevent sticky type checking errors for old vim versions.
    * PR #686: New option g:vimwiki_key_mappings that allow key mappings to
      be enabled/disabled by groups. Key mappings are also no longer
      overwritten if they are already defined.
    * PR #675: Add option vimwiki-option-name to assign a per wiki name.
    * PR #661: Add option g:vimwiki_auto_header to automatically generate
      a level 1 header for new wiki pages.
    * PR #665: Integration with vimwiki_markdown gem
      https://github.com/patrickdavey/vimwiki_markdown
      This provides the vimwiki-option-html_filename_parameterization
      which alters the filenames vimiwiki checks against when running the
      html conversion. It also disables the deleting of html files which
      no longer match against a wiki file.
    * PR #663: New option g:vimwiki_conceal_onechar_markers to control
      whether to show or hide single-character format markers.
    * PR #636: Wiki local option vimwiki-option-exclude_files which is
      a list of patterns to exclude when checking or generating links.
    * PR #644: Key mapping gnt to jump to the next open task.
    * PR #643: Option g:vimwiki_toc_link_format to change how links are
      formatted in the TOC.
    * PR #641: Option g:vimwiki_conceal_code_blocks to conceal preformatted
      text markers.
    * PR #634: New options g:vimwiki_links_header and
      g:vimwiki_tags_header to customize the title string of generated
      sections. New option g:vimwiki_links_header_level and
      g:vimwiki_tags_header_level which allow the header level (1-6) of the
      generated links to be set. New option g:vimwiki_markdown_header_style
      which specifies the number of newlines after the created header for
      generated sections.
    * PR #635: Wiki local options vimwiki-option-auto_generate_links and
      vimwiki-option-auto_generate_tags.
    * Wiki local option vimwiki-option-links_space_char to replace spaces
      with a different character when creating a link.
    * Allow increase/decrease header level to take a count.
    * PR #637: Option g:vimwiki_table_reduce_last_col to not autoformat last
      column of a table.
    * PR #629: New option g:vimwiki_toc_header_level to set the desired
      header level for the TOC.
    * PR #616: Hex color codes are colored in HTML output.
    * PR #573: Add HTML template variable %wiki_path% which outputs the path
      of the current file being converted to HTML.
    * PR #529: Option g:vimwiki_markdown_link_ext to include the extension
      .md in generated links.
    * PR #528: Add option g:vimwiki_create_link to prevent link creation
      with <CR>.
    * PR #498: Option vimwiki-option-diary_caption_level which adds captions
      to the diary index based on headers.
    * PR #377: Add horizontal alignment to tables.
    * PR #202: Don't override or display errors for existing keymappings.
    * PR #47: Optimize table formatting for large tables.
    * PR #857: Make default template responsive
    * PR #879: Generate links when diary & wiki dir are the same
    * PR #884: Configure diary frequency (daily, weekly, monthly, yearly)

Changed:
    * Issue #796: Rename :VimwikiGenerateTags to :VimwikiGenerateTagLinks
    * Issue #638: Rename :VimwikiDeleteLink to :VimwikiDeleteFile
    * Issue #638: Rename :VimwikiRenameLink to :VimwikiRenameFile
    * For all three above the old commands still works but is deprecated and
    * will be removed in later versions.
    * Set default vimwiki-option-list_margin = 0 for markdown syntax.
    * Modify horizontal rule (thematic-breaks) syntax for markdown.

Removed:
    * PR #698: Remove awa check triggering silent file edits.
    * Options g:vimwiki_use_mouse and g:vimwiki_table_mappings. These are
      still present in the code for backwards compatibility but have been
      removed from the documentation and will be fully removed at a later
      point.

Fixed:
    * Issue #90: :VimwikiRenameFile doesn't update links in diary.
    * Issue #790: Allow tags before a header with markdown syntax.
    * Issue #779: Vimwiki tags file meets ctags standard.
    * Issue #781: Compatibility fixes for older versions of Vim.
    * Issue #691: Allow :VimwikiGoBackLink to go back multiple times.
    * Update MathJax CDN loading instructions.
    * Issue #212: Don't treat comment characters within code blocks as
      headers.
    * Issue #420: Add error handling to :VimwikiSearch
    * PR #744: Fix typo in vimwiki_list_manipulation
    * Issue #715: s:clean_url is compatible with vim pre 7.4.1546 (sticky type
      checking)
    * Issue #729: Normalize links uses relative paths in diary pages for
      Markdown syntax. This previously only worked for the default syntax.
    * Disable spell check in code and math inline/blocks.
    * Properly handle markdown image links ![]()
    * Issue #415: Expand iabbrev entries on <CR>.
    * Issue #619: allow escaped characters in markdown links.
    * Issue #240: Fix regex pattern for markdown '[]()' links
    * Issue #685: Error message for invalid user options fixed.
    * Issue #481: Allow surrounding URLs with '<' '>'
    * Issue #237: :VimwikiRenameFile now works for Markdown syntax
    * Issue #612: GVim menu displayed duplicate names.
    * Issue #456: Omnicompletion of wikilinks under Windows. Note: this should
      be considered a temporary fix until #478 is closed.
    * Issue #654: Fix :VimwikiShowVersion command.
    * PR #634: Removed extra newlines that were inserted before/after
      generated links.
    * Issue #543: Allow commands related to opening index files or diary pages
      to take a count, modify keymapping behavior, and fix discrepancies in
      the documentation.
    * Issue #539: The option g:vimwiki_url_maxsave now only affects raw
      URLs (wiki links are excluded).
    * Issue #438: Fix creation of visually selected links on diary pages.
    * Issue #404: Don't conceal strikethrough character in tables.
    * Issue #318: Markdown syntax bold, italic, and italic/bold are now
      rendered correctly.
    * Issue #835: Pressing enter on the dash of a markdown list causes an error.
    * Issue #876: E684: list index out of range: 0, when creating a link containing a ..
    * Issue #803: :VimwikiGenerateLinks for subdirectory only
    * Issue #776: Command [count]o can't repeat in vimwiki


2.4.1 (2019-02-20)
Fixed:
    * Fix VimwikiShowVersion function.
    * strikethrough ~ characters were not hidden within tables
    * Update and format README.md and update screen shots

2.4 (2019-03-24)

New:
    * Add the option g:vimwiki_text_ignore_newline.
    * g:vimwiki_listsyms can have fewer or more than 5 symbols.
    * glx on a list item marks a checkbox as won't do, see vimwiki_glx.
    * Add the option g:vimwiki_listsym_rejected to set the character used
      for won't-do list items.
    * The effect of g:vimwiki_listsyms and g:vimwiki_listsym_rejected can
      be set on a per wiki level, see vimwiki-option-listsyms and
      vimwili-option-listsym_rejected
    * gln and glp change the "done" status of a checkbox, see vimwiki_gln.
    * :VimwikiSplitLink and :VimwikiVSplitLink can now reuse an existing
      split window and not move the cursor.
    * Add 'aH' and 'iH' text objects, see vimwiki-text-objects.
    * Add the keys vimwiki_[[, vimwiki_]], vimwiki_[=, vimwiki_]= and
      vimwiki_]u for navigating between headers.
    * Add the command :VimwikiMakeTomorrowDiaryNote.
    * g:vimwiki_folding has a new option 'custom'.
    * Add the ':quick' option for faster folding, see g:vimwiki_folding.
    * Add the %date placeholder, see vimwiki-date.
    * Add the option vimwiki-option-custom_wiki2html_args.
    * Add support for HTML-style comments when using markdown syntax.
    * Made headings link to themselves in HTML output.
    * Add :VimwikiShowVersion to check the version

Removed:
    * Remove the undocumented and buggy command :VimwikiReadLocalOptions
      which allowed to store Vimwiki related settings in a local file.
    * Remove the undocumented command :VimwikiPrintWikiState.
    * For complicated reasons, Vimwiki doesn't clean up its settings anymore
      if you change the filetype of a wiki buffer.

Fixed:
    * Make vimwiki-option-automatic_nested_syntaxes work also for markdown.
    * Issue #236: Highlight math blocks as TeX math, not TeX.
    * Issue #264: Don't overwrite mappings to i_<CR> from other plugins.
    * Fix an error where <BS> sometimes didn't work under Windows.
    * Issue #302: :VimwikiDiaryGenerateLinks had issues with markdown.
    * Issue #445: Better handling of 'autowriteall' and 'hidden'.
    * Improve 'ah' and 'ih' text objects, see vimwiki-text-objects.
    * Allow opening of links using Powershell.
    * Allow any visual mode to be used with vimwiki_+.
    * Markdown syntax for vimwiki-toc is used, when appropriate.
    * Wikis can now be in subfolders of other wikis.
    * Issue #482: :VimwikiMakeDiaryNote now uses the diary of the current wiki.
    * Opening the diary and wikis from the menu works correctly now.
    * Issue #497: Make :VimwikiMakeDiaryNote work outside a wiki buffer.
    * Use markdown syntax in the diary when appropriate.
    * Improve handling of errors on opening files.
    * Update links when renaming a page with :VimwikiRenameLink.
    * Fix losing the highlighting in various situations.
    * Improved link normalisation.
    * Various other minor fixes.


2.3 (2016-03-31)

New:
    * Add :VimwikiMakeYesterdayDiaryNote command
    * Issue #128: add option vimwiki-option-automatic_nested_syntaxes
    * Issue #192: Sort links in the list generated by :VimwikiGenerateTags

Fixed:
    * Issue #176: Fix issue when the wiki path contains spaces
    * Also look for tags in wiki files in subdirectories
    * Locate the .tags file correctly on Windows
    * Issue #183: Fix HTML conversion of headers containing links
    * Issue #64: create correct Markdown links when pressing CR on a word
    * Issue #191: ignore headers inside preformatted text when creating the TOC
    * Create the standard CSS file also if only one file is converted to HTML
    * Fix #188: vimwiki_+ on a raw url surrounds it with brackets
    * various minor fixes


2.2.1 (2015-12-10)

Removed:
    * Removed the option g:vimwiki_debug, which probably nobody used. If you
      want it back, file an issue at Github.

Fixed:
    * Issue #175: Don't do random things when the user has remapped the z key
    * Don't ask for confirmation when following a URL in MacOS
    * Always jump to the first occurrence of a tag in a file
    * Don't move the cursor when updating the TOC
    * Fix some issues with the TOC when folding is enabled


2.2 (2015-11-25)

New:
    * Support for anchors, see vimwiki-anchors
        * in this context, add support for TOC, see vimwiki-toc
        * add omni completion of wiki links (files and anchors)
        * new local option vimwiki-option-auto_toc
        * new global option g:vimwiki_toc_header
    * Support for tags, see vimwiki-syntax-tags
    * List editing capabilities, see vimwiki-lists:
        * support for auto incrementing numbered lists
        * more key maps for list manipulation, see vimwiki-list-manipulation
        * improved automatic adjustment of checkboxes
        * text objects for list items, see vimwiki-text-objects
    * New command :VimwikiCheckLinks to check for broken links
    * New global option g:vimwiki_auto_chdir
    * New global option g:vimwiki_map_prefix
    * Support for wiki links absolute to the wiki root
    * Added the VimwikiLinkConverter function
    * Issue #24: Basic support for remote directories via netrw
    * Issue #50: in HTML, tables can now be embedded in lists
    * When converting to HTML, show a message with the output directory
    * Add auto completion for :VimwikiGoto
    * Add Chinese Readme file

Changed:
    * Wiki files must not contain # anymore, because # is used to separate the
      file from an anchor in a link.
    * replace the function vimwiki#base#resolve_scheme() by
      vimwiki#base#resolve_link() (relevant if you have a custom
      VimwikiLinkHandler which used this function)
    * The semantic of "file:" and "local:" links changed slightly, see
      vimwiki-syntax-links for what they mean now
    * The meaning of a link like [[/some/directory/]] changed. It used to be
      a link to the actual directory /some/directory/, now it's relative to
      the root of the current wiki. Use [[file:/some/directory/]] for the old
      behavior.

Removed:
    * the %toc placeholder is now useless, use vimwiki-toc instead
    * the global option g:vimwiki_auto_checkbox is now useless and removed

Fixed:
    * Issue 415: Disable folding if g:vimwiki_folding is set to ''
    * Fix slowdown in Vim 7.4
    * Issue #12: Separate diaries from different wikis
    * Issue #13: Fix :VimwikiRenameLink on links containing a dot
    * Always jump to previous link on <S-Tab>, not to beginning of link
    * Issue #27: Fix <CR> on a visual selection sometimes not working
    * VimwikiBackLinks now recognizes much more valid links
    * Issue 424: make external links with #, % work under Linux
    * Issue #39: don't htmlize stuff inside pre tags
    * Issue #44: faster formatting of large tables
    * Issue #52: Recognize markdown links when renaming wiki file
    * Issue #54: Disable 'shellslash' on Windows to avoid problems
    * Issue #81: Don't get stuck when converting a read-only file
    * Issue #66: Better normalizing of links in diary
    * Fix the menu in GVim, which was sometimes not shown correctly
    * VimwikiGenerateLinks now also generates links for subdirectories
    * Issue #93: Don't process placeholders inside preformatted text
    * Issue #102: Add default values to some options like the doc says
    * Issue #144: Fix bug with folds shortening on multibyte characters
    * Issue #158: Detect the OS correctly
    * VimwikiGenerateLinks now replaces a potentially existing old list
    * Fix uneven indentation of list items with checkboxes in HTML
    * Various small fixes
    * Corrected website links in documentation. code.google is dead, long live
      Github!

2.1

    * Concealing of links can be turned off - set g:vimwiki_url_maxsave to 0.
      The option g:vimwiki_url_mingain was removed
    * g:vimwiki_folding also accepts value 'list'; with 'expr' both sections
      and code blocks folded, g:vimwiki_fold_lists option was removed
    * Issue 261: Syntax folding is back. g:vimwiki_folding values are
      changed to '', 'expr', 'syntax'.
    * Issue 372: Ignore case in g:vimwiki_valid_html_tags
    * Issue 374: Make autowriteall local to vimwiki. It is not 100% local
      though.
    * Issue 384: Custom_wiki2html script now receives templating arguments
    * Issue 393: Custom_wiki2html script path can contain tilde character
    * Issue 392: Custom_wiki2html arguments are quoted, e.g names with spaces
    * Various small bug fixes.

2.0.1 'stu'

    * Follow (i.e. open target of) markdown reference-style links.
    * Bug fixes.


2.0 'stu'

This release is partly incompatible with previous.

Summary

    * Quick page-link creation.
    * Redesign of link syntaxes (!)
        * No more CamelCase links. Check the ways to convert them
          https://groups.google.com/forum/?fromgroups#!topic/vimwiki/NdS9OBG2dys
        * No more [[link][desc]] links.
        * No more [http://link description] links.
        * No more plain image links. Use transclusions.
        * No more image links identified by extension. Use transclusions.
    * Interwiki links
    * More link schemes
    * Transclusions
    * Normalize link command. See vimwiki_+.
    * Improved diary organization and generation. See vimwiki-diary.
    * List manipulation. See vimwiki-list-manipulation.
    * Markdown support.
    * Mathjax support. See vimwiki-syntax-math.
    * Improved handling of special characters and punctuation in filenames and
      urls.
    * Back links command: list links referring to the current page.
    * Highlighting nonexisted links are off by default.
    * Table syntax change. Row separator uses | instead of +.
    * Fold multilined list items.
    * Custom wiki to HTML converters. See vimwiki-option-custom_wiki2html.
    * Conceal long weblinks. See g:vimwiki_url_mingain.
    * Option to disable table mappings. See g:vimwiki_table_mappings.

For detailed information see issues list on
https://code.google.com/p/vimwiki/issues/list


1.2
    * Issue 70: Table spanning cell support.
    * Issue 72: Do not convert again for unchanged file. :VimwikiAll2HTML
      converts only changed wiki files.
    * Issue 117: :VimwikiDiaryIndex command that opens diary index wiki page.
    * Issue 120: Links in headers are not highlighted in vimwiki but are
      highlighted in HTML.
    * Issue 138: Added possibility to remap table-column move bindings. See
      :VimwikiTableMoveColumnLeft and :VimwikiTableMoveColumnRight
      commands. For remap instructions see vimwiki_<A-Left>
      and vimwiki_<A-Right>.
    * Issue 125: Problem with 'o' command given while at the of the file.
    * Issue 131: FileType is not set up when GUIEnter autocommand is used in
      vimrc. Use 'nested' in 'au GUIEnter * nested VimwikiIndex'
    * Issue 132: Link to perl (or any non-wiki) file in vimwiki subdirectory
      doesn't work as intended.
    * Issue 135: %title and %toc used together cause TOC to appear in an
      unexpected place in HTML.
    * Issue 139: :VimwikiTabnewLink command is added.
    * Fix of g:vimwiki_stripsym = '' (i.e. an empty string) -- it removes bad
      symbols from filenames.
    * Issue 145: With modeline 'set ft=vimwiki' links are not correctly
      highlighted when open wiki files.
    * Issue 146: Filetype difficulty with ".txt" as a vimwiki extension.
    * Issue 148: There are no mailto links.
    * Issue 151: Use location list instead of quickfix list for :VimwikiSearch
      command result. Use :lopen instead of :copen, :lnext instead of :cnext
      etc.
    * Issue 152: Add the list of HTML files that would not be deleted after
      :VimwikiAll2HTML.
    * Issue 153: Delete HTML files that has no corresponding wiki ones with
      :VimwikiAll2HTML.
    * Issue 156: Add multiple HTML templates. See
      vimwiki-option-template_path. Options html_header and html_footer are
      no longer exist.
    * Issue 173: When virtualedit=all option is enabled the 'o' command behave
      strange.
    * Issue 178: Problem with alike wikie's paths.
    * Issue 182: Browser command does not quote url.
    * Issue 183: Spelling error highlighting is not possible with nested
      syntaxes.
    * Issue 184: Wrong foldlevel in some cases.
    * Issue 195: Page renaming issue.
    * Issue 196: vim: modeline bug -- syn=vim doesn't work.
    * Issue 199: Generated HTML for sublists is invalid.
    * Issue 200: Generated HTML for todo lists does not show completion status
      the fix relies on CSS, thus your old stylesheets need to be updated!;
      may not work in obsolete browsers or font-deficient systems.
    * Issue 205: Block code: highlighting differs from processing. Inline code
      block {{{ ... }}} is removed. Use ... instead.
    * Issue 208: Default highlight colors are problematic in many
      colorschemes. Headers are highlighted as hl-Title by default, use
      g:vimwiki_hl_headers to restore previous default Red, Green, Blue or
      custom header colors. Some other changes in highlighting.
    * Issue 209: Wild comments slow down html generation. Comments are
      changed, use %% to comment out entire line.
    * Issue 210: HTML: para enclose header.
    * Issue 214: External links containing Chinese characters get trimmed.
    * Issue 218: Command to generate HTML file and open it in webbrowser. See
      :Vimwiki2HTMLBrowse(bind to <Leader>whh)
    * NEW: Added <Leader>wh mapping to call :Vimwiki2HTML


...

39 releases

...

0.1
    * First public version.

==============================================================================
17. 许可证                                                  vimwiki-license

(LCTT 译注:MIT 许可证并无官方的中文文本,我们也没找到任何可靠的、精确的非官
方中文文本。在本文中,我们仅作为参考目的提供一份逐字逐行而没有经过润色的中文翻
译文本,但该文本及对其的理解不能作为 MIT 许可证使用,我们也不为此中文翻译文本
的使用承担任何责任,这份中文文本,我们贡献给公共领域。)

MIT 许可证(MIT)
https://www.opensource.org/licenses/mit-license.php

版权      (c) 2008-2010 Maxim Kim
              2013-2017 Daniel Schemala

特此免费授予任何获得本软件副本和相关文档文件(下称“软件”)的人不受限制地处置
该软件的权利,包括不受限制地使用、复制、修改、合并、发布、分发、转授许可和/或
出售该软件副本,以及再授权被配发了本软件的人如上的权利,须在下列条件下:

上述版权声明和本许可声明应包含在该软件的所有副本或实质成分中。

本软件是“如此”提供的,没有任何形式的明示或暗示的保证,包括但不限于对适销性、
特定用途的适用性和不侵权的保证。在任何情况下,作者或版权持有人都不对任何索赔、
损害或其他责任负责,无论这些追责来自合同、侵权或其它行为中,还是产生于、源于或
有关于本软件以及本软件的使用或其它处置。



 vim:tw=78:ts=8:ft=help
posted @   偊偊而步  阅读(345)  评论(0)    收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示