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 使用起来非常容易。安装完成后在 中按 <Leader>ww (<Leader> 键默认
为 ) 会创建/打开 index 维基文件,该文件是其他维基文件的入口,默认文件存放位
置在 ~/vimwiki/index.wiki。
在该文件中输入以下示例:
= 我的个人知识库 =
* 任务 -- _昨天_ 完成的事情!!!
* Gutenberg 计划 -- 好书给我力量。
* 草稿 -- 临时记录的一些东西。
然后,将光标移动到 '任务' 上然后按 。这将会创建一个指向 '任务' 的链接,
它用双括号标记 '[[任务]]'。再次按 即可新建/打开指向 '任务' 的链接,按
可保存并退回。
维基链接可以包含多个词,在 "visual" 模式下选中所需的词,然后按 。
在可视模式下选中 'Gutenberg 计划' 按 。文本会变成下面这个样式:
= 我的个人知识库 =
* [[任务]] -- _昨天_ 完成的事情!!!
* [[Gutenberg 计划]] -- 好书给我力量。
* 草稿 -- 临时记录的一些东西。
使用这个方法可以创建子文件,可以创建出无数个彼此链接的文件,以此来组织你的笔记、
文档和任务。
==============================================================================
2. 安装需求 vimwiki-prerequisites
确保在 vimrc 文件里有以下设置:
没有这些设置 Vimwiki 将无法正常工作。
==============================================================================
3. 映射 vimwiki-mappings
Vimwiki 中的全局映射和局部映射。
------------------------------------------------------------------------------
3.1. 全局映射 vimwiki-global-mappings
只要正在使用 Vim 编辑,全局映射命令都会起作用。全局映射不会覆盖用户自己或是其
它插件已定义好的快捷键。下面是 Vimwiki 中所有的全局映射。
当 Vimwiki 全局映射默认的快捷键与其它快捷键冲突时,或者你想自定义快捷键时可以
使用下面的格式重新定义快捷键:
含义
你定义的快捷键
需要重映射的维基命令
举例说明,重新定义 :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 列表中的第三个维基。
以上类推。
重映射:
参考 :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。
以上类推。
重映射:
参考 :VimwikiTabIndex
vimwiki_<Leader>ws
<Leader>ws
列出可供选择的维基。
重映射:
参考 :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 文件。
以上类推。
重映射:
参考 :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 文件。
以上类推。
重映射:
参考 :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 文件。
以上类推。
重映射:
参考 :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 文件。
以上类推。
重映射:
参考 :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 文件。
以上类推。
重映射:
参考 :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}
含义
模式 表示 "normal", 表示 "visual", 表示 "insert"
定义的快捷键
需要重映射的维基命令
举例:
前两行在模式 normal 和 visual 下将 "\tl" 重映射到 :VimwikiToggleListItem 。
<Leader> 默认为 "\"。使用命令 可以查看是否有被映射为其它值。
第三行的映射不包含 <Plug>,它直接映射到 Ex 模式命令。
注意 <Plug> 是命令的一部分,需映射的命令中包含 <Plug> 时必须使用 "map" 命令。
若使用了 "noremap" 命令则不会对 <Plug> 进行展开。
推荐将你自定义的局部映射放在 .vim 配置目录下的 ftplugin/vimwiki.vim 中,如果没
有可以手动创建。或者在 vimrc 中使用 autocmd 为不同类型的文件进行配置。
注意:你可能想在映射的命令选项中使用 ,但这仅在映射位于
ftplugin 中或是根据文件类型的自动的命令中才需这么做。你可以查阅 Vim 的帮助进行
详细的了解。
映射 模式
vimwiki_<Leader>wh
<Leader>wh n 将当前的维基页面转换为 HTML。
映射到 :Vimwiki2HTML
重映射:
vimwiki_<Leader>whh
<Leader>whh n 将当前维基页面转为 HTML 并使用浏览器打开。
映射到 :Vimwiki2HTMLBrowse
重映射:
vimwiki_<Leader>w<Leader>i
<Leader>w<Leader>i n 在 diary 维基中更新目录
映射到 :VimwikiDiaryGenerateLinks
重映射:
vimwiki_<CR>
<CR> n 打开/创建维基链接 (不存在时创建)。
映射 :VimwikiFollowLink.
重映射:
vimwiki_<S-CR>
<S-CR> n 以水平分栏窗口跳转到 (不存在时创建) 维基链接。
在一些终端中可能失效,需重新映射。
映射到 :VimwikiSplitLink.
重映射:
vimwiki_<C-CR>
<C-CR> n 以垂直分栏窗口跳转到 (不存在时创建) 维基链接。
在一些终端中可能无效,需重新映射。
映射到 :VimwikiVSplitLink.
重映射:
vimwiki_<M-CR>
<M-CR> n 将其添加到缓冲区列表中,而不打开 (不存在时创建)。
在一些终端中可能无效,需重新映射。
映射到 :VimwikiBaddLink.
重映射:
vimwiki_<C-S-CR> vimwiki_<D-CR>
<C-S-CR>, <D-CR> n 在新标签页打开维基链接 (不存在时创建)。
在一些终端中可能无效,重映射可以解决。
映射到 :VimwikiTabDropLink.
重映射:
参考 :VimwikiTabnewLink 旧版本总会打开一个新窗口。
vimwiki_<Backspace>
<Backspace> n 回到父级维基页面。
映射到 :VimwikiGoBackLink.
重映射:
vimwiki_<Tab>
<Tab> n 跳转到当前页面的下一个链接处。
映射到 :VimwikiNextLink.
重映射:
vimwiki_<S-Tab>
<S-Tab> n 跳转到当前页面的上一个链接处。
映射到 :VimwikiPrevLink.
重映射:
vimwiki_<Leader>wc
<Leader>wc n v 改变该行或者是选中文本的颜色。
映射到 :VimwikiColorize 之后会询问用户使用的颜色
重映射:
vimwiki_<Leader>wn
<Leader>wn n 跳转到指定的链接。
映射到 :VimwikiGoto.
重映射:
vimwiki_<Leader>wd
<Leader>wd n 删除当前所在的维基页。
映射到 :VimwikiDeleteFile.
重映射:
vimwiki_<Leader>wr
<Leader>wr n 重命名当前所在的维基页。
映射到 :VimwikiRenameFile.
重映射:
vimwiki_=
= n 增加标题层级,如果文本不是标题则将其变为标题。在
Vimwiki 里没有使用 "==" 进行缩进的命令,所以这里使用
"=" 是可以的。
重映射:
vimwiki_-
- n 减少标题层级。
重映射:
vimwiki_[[
[[ n 跳转到当前缓冲区的上一个标题处。
重映射:
vimwiki_]]
]] n 跳转到当前缓冲区的下一个标题处。
重映射:
vimwiki_[=
[= n 跳转到同一标题下与光标所处标题同级的上一个标题。
重映射:
vimwiki_]=
]= n 跳转到同一标题下与光标所处标题同级的下一个标题。
重映射:
vimwiki_]u vimwiki_[u
]u [u n 移动到上一级,即移动到当前标题的父标题处。
重映射:
vimwiki_+
+ n v 将普通文本转换为链接,或者为链接添加描述。
在 normal 模式下会将光标处的词转为链接,
在 visual 模式下会将选中的文本转换为链接。
重映射:
(normal mode)
(visual mode)
vimwiki_<C-Space>
<C-Space> n 切换列表的状态 (on/off)。会将普通列表转换为待办列表。
映射到 :VimwikiToggleListItem.
参考 vimwiki-todo-lists.
重映射:
vimwiki_gnt
gnt n 跳转到当前维基中下一个未完成的任务。
映射到 :VimwikiNextTask
重映射:
vimwiki_gl<Space> vimwiki_gL<Space>
gl<Space> n 将待办列表转换为普通列表。
重映射:
gL<Space> 将同一级的待办列表全部转为普通列表。
重映射:
vimwiki_gln vimwiki_glp
gln n v 增加待办列表的完成进度,例如从 [ ] 到 [.] 到 [o] 等。
参考 vimwiki-todo-lists.
glp 减少待办列表的完成进度。
重映射:
vimwiki_gll vimwiki_gLl
gll n 增加列表的缩进级别。
重映射:
gLl 增加列表及其子列表的缩进级别。
或 gLL 重映射:
vimwiki_glh vimwiki_gLh
glh n 减少列表的缩进级别。
重映射:
gLh 减少列表及其子列表的缩进级别。
或 gLH 重映射:
vimwiki_glr vimwiki_gLr
glr n 对光标所在处的有序列表进行重新编号。
重映射:
gLr 对文件中的所有列表进行重新编号,包括待办列表。
重映射:
vimwiki_glstar vimwiki_gLstar
gl* n 将普通行转换为列表,或者将列表的标记符号转换为 *。
gL* 将与当前同一级列表的标记符号改为 *。
重映射:
noremap glO :VimwikiChangeSymbolInListTo *<CR>
vimwiki_gl# vimwiki_gL#
gl# n 将普通行转换为列表,或者将列表的标记符号转换为 #。
gL# 将与当前同一级列表的标记符号改为 #。
重映射:
重映射:
vimwiki_gl- vimwiki_gL-
gl- n 将普通行转换为列表,或者将列表的标记符号转换为 -。
重映射:
gL- 将与当前同一级列表的标记符号改为 -。
重映射:
vimwiki_gl+ vimwiki_gL+
gl+ n 将普通行转换为列表,或者将列表的标记符号转换为 +。
重映射:
gL+ 将与当前同一级列表的标记符号改为 +。
重映射:
vimwiki_gl1 vimwiki_gL1
gl1 n 将普通行转换为列表,或者将列表的标记符号转换为 1.,
编号会根据上下列表的编号自行决定。
重映射:
gL1 将与当前同一级列表的标记符号改为 1. 2. 3. ...
重映射:
vimwiki_gla vimwiki_gLa
gla n 将普通行转换为列表,或者将列表的标记符号转换为 a),
编号会根据上下列表的编号自行决定。
重映射:
gLa 将与当前同一级别列表的标记符号改为 a) b) c) ...
重映射:
vimwiki_glA vimwiki_gLA
glA n 将普通行转换为列表,或者将列表的标记符号转换为 A),
编号会根据上下列表的编号自行决定。
重映射:
gLA 将与当前同一级别列表的标记符号改为 A) B) C) ...
重映射:
vimwiki_gli vimwiki_gLi
gli n 将普通行转换为列表,或者将列表的标记符号转换为 i),
编号会根据上下列表的编号自行决定。
重映射:
gLi 将与当前同一级别列表的标记符号改为 i) ii) iii) ...
重映射:
vimwiki_glI vimwiki_gLI
glI n 将普通行转换为列表,或者将列表的标记符号转换为 I),
编号会根据上下列表的编号自行决定。
重映射:
gLI 将与当前同一级别列表的标记符号改为 I) II) III) ...
重映射:
vimwiki_glx
glx n 切换待办列表复选框状态 (disabled/off),注如果清单列表
没有复选框添加复选框。
映射到 :VimwikiToggleRejectedListItem.
参考 vimwiki-todo-lists.
重映射:
vimwiki_gqq vimwiki_gww
gqq n 格式化修改后的表格。
或 重映射:
gww 重映射:
vimwiki_gq1 vimwiki_gw1
gq1 n 快速格式化表格,用法与上面的一样。不同之处是这个只检测
或 所在行的前几行。如果前当前的对齐与其不一致时,则会重新
格式化整个表格。
重映射:
gw1 重映射:
vimwiki_<A-Left>
<A-Left> n 将表格中的当前列向左移。
参考 :VimwikiTableMoveColumnLeft
重映射:
vimwiki_<A-Right>
<A-Right> n 将表格中的当前列向右移。
参考 :VimwikiTableMoveColumnRight
重映射:
vimwiki_<C-Up>
<C-Up> n 尝试打开上一篇日记
参考 :VimwikiDiaryPrevDay
重映射:
vimwiki_<C-Down>
<C-Down> n 尝试打开下一篇日记
参考 :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> 跳转到下一个单元格,如果该单元格是表格中的最后一个单元
格则插入新行。单元格的宽度会自动以该列最宽的单元格进行
调整。
重映射:
vimwiki_i_<S-Tab>_table
<S-Tab> 跳转到上一个单元格,单元格的宽度会自动以该列最宽的单元
格进行调整。
重映射:
插入模式下列表中的映射 vimwiki-list-mappings
vimwiki_i_<CR>
<CR> 在列表中,插入一行列表清单,编号会自动增加。当列表清单
内容为空时会删除该清单的列表标识符。这对于结束当前列表
的输入十分有用,只需按两次 <CR> 即可。
参考 vimwiki-lists 详细了解如何配置该键的行为。
vimwiki_i_<S-CR>
<S-CR> 换行但不插入新的列表清单,这在列表清单内容过长需跨多行
输入时很有用。参考 vimwiki-lists 了解如何对其进行详
细配置。默认的映射在有的终端可能会失效,需重新映射。
vimwiki_i_<C-T>
<C-T> 增加列表清单的级别。
重映射:
vimwiki_i_<C-D>
<C-D> 减少列表清单的级别。
重映射:
vimwiki_i_<C-L>_<C-J>
<C-L><C-J> 修改当前清单的标志符到下一个可用的符号。其顺序依照从
- 到 1. 到 * 到 I) 到 a) 循环。
重映射:
vimwiki_i_<C-L>_<C-K>
<C-L><C-K> 修改当前清单的标志符为上一个可用的符号。其顺序依照从
- 到 a) 到 I) 到 * 到 1. 循环。
重映射:
vimwiki_i_<C-L>_<C-M>
<C-L><C-M> 添加/删除列表的标识符号。
重映射:
------------------------------------------------------------------------------
3.3. 文本对象 vimwiki-text-objects
ah 标题以及到下一个标题的内容
ih 标题下的内容 (类似 'ah',但不包括标题以及末尾空行)。
aH 标题以及所有子标题的内容。当 [count] 为 2 时,包含至父
标题,当 [count] 为 3 时,包含至祖标题,以此类推。
iH 类似 'aH',但不包括标题以及末尾空行。
举例:
- 输入 'cih' 修改当前标题下的内容
- 'daH' 删除标题及其内容,包括所有的子标题及内容。
- 'v2aH' 选择当前光标所属标题的父标题,及其所有的子标题及内容。
a\ 表格中的一个单元格。
i\ 表格中单元格中的内容。
ac 表格中的一列。
ic 表格中一列中的内容。
al 列表及其它的子项。
il 单独的一个列表项。
这些快捷键可以通过下面这些重映射进行修改:
==============================================================================
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
跳转到指定的链接,例如:
将会打开/创建名为 HelloWorld 的维基页面。
链接名字支持 cmdline-completion 功能 (命令自动补全)。如果没有输入链接的
名字,则会显示所有可能的链接。
:VimwikiDeleteFile
删除当前所在的维基页。
:VimwikiRenameFile
重命名当前所在的维基页。
:VimwikiRemoveDone
选中范围:删除范围内所有已完成的 vimwiki-todo-lists 行。
此外:
删除已完成的待办事项,会将其子项目一并删除;同时会同时更新其父待办事项的完
成状态。如果只想要删除当前级别中已完成的待办,需自定义一个命令,该命令调用
和此命令同样的函数,但第一个参数设为 :
: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。例如,想在搜索时不区分大小写,可以使用
:VimwikiBacklinks
:VWB
在当前维基的所有文件中搜索指向当前页面的链接。
显示所有匹配的结果使用命令 :lopen。
显示下一个匹配的结果用命令 :lnext。
显示上一个匹配的结果用命令 :lprevious。
:VimwikiTable
创建一个 5 列 2 行的表格。
:VimwikiTable 列数 行数
创建一个指定列数和行数的表格。
:VimwikiTable 列数
创建一个 2 行指定列数的表格。
:VimwikiTableMoveColumnLeft , :VimwikiTableMoveColumnRight
向左或向右移动当前列,例如:
命令映射的快捷键是 <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 文件
时会以该十六进制表示的颜色作为字体的背景色,字体颜色默认为黑色。例如:
将会被转换为
------------------------------------------------------------------------------
5.2. 链接 vimwiki-syntax-links
Wikilinks
普通的链接;
带上描述:
维基文件不一定非得在你维基的根目录下,你可以像下面这样将其放在子目录里:
如果想从这样的维基文件跳回 index 文件,可以使用这样的链接:
或者:
第二种链接之所以有效是因为以 "/" 开始的链接被设定为了指向维基根目录的绝对路径,
也就是说无论你正在编辑的文件位于哪个子目录,[[/index]] 总是指向你维基所在目录
的 index.wiki 文件。
如果你想要在本地文件系统中使用绝对路径时,你可以在路径前面添加 // 来实现
例如:
在使用默认扩展名的维基文件中,这样的链接:
链接指向的文件为:
支持链接到维基的子目录里,他们使用 "/" 作结尾:
使用 g:vimwiki_dir_link 可以设置打开目录时的操作。
在 Vim 编辑器中可以通过命令补全功能简化维基链接的输入 (参考 compl-omni) 举例:
这将会弹出一个菜单,显示所有以 "ind" 开头的维基文件。
当将 vimwiki-option-maxhi 设置为 1 时,维基文件中的链接若指向的页面或文件不
存在时,会使用一种不同的高亮样示显示该链接。这样便于识别修复失效的链接。
跨维基
如果你维护了多个维基,你可以创建跨维基链接在不同的维基之间跳转。跨维基使用一个
带编号的前缀 "wikiX" 来指定所链接的维基:
或:
"wiki" 后面的编号范围在 0..N-1 之间,N 为 g:vimwiki_list 中维基的数量。
跨维基链接也支持使用名字,格式 "wn.name:link"
或:
为每一个维基设置一个名字参考 vimwiki-option-name。
日记
"diary:" 用于链接到日记目录中:
锚点
一个维基链接、跨维基链接、日记链接的后面可以跟一 '#' 和锚点的名字。当打开对应
的链接时,光标会跳到指定的锚点上。
如果在当前维基文件内跳转可以省略文件名:
如何设置一个锚点,参考 vimwiki-anchors。
网址链接
支持网址链接:
外部文件
符号 "file:" 和 "local:" 可以使用绝对路径或相对路径链接到外部文件:
这些链接的资源会使用系统命令打开,例如:!xdg-open (Linux), !open
(Mac), 或 !start (Windows)。若想使用指定的程序打开链接的资源参考
VimwikiLinkHandler。
在 Vim 编辑器中 "file:" 和 "local:" 行为是一样的,你可以使用相对路径也可以使用
绝对路径。但是若要转换为网页,则 "file:" 对应的链接会使用绝对路径,而 "local:"
对应的链接则会转换为相对链接。如果你想在另一台电脑上浏览生成的网页文件,那么使
用相对链接会更好一些。要定制链接转换为网页时的行为,参考 VimwikiLinkConverter。
嵌入链接 (Wiki-Include)
包含在 "{{" 和 "}}" 之间的链接在转换为网页时会将链接的内容包含在网页中,而不是
通过超链接来引用。
Wiki-include URLs 可以支持所有可支持的形式,可以是绝对路径也可以是相对路径,并
且不需要包含扩展名。
wiki-include 链接主要用于包含图片。
嵌入一个本地资源:
或者嵌入一个网络资源:
嵌入图片,当加载图片失败时使用文本替代:
在网页中会被转换为:
嵌入图片,当加载图片失败时使用带格式的文本替代。
在网页中会被转换为:
嵌入图片,当加载图片失败时不使用文本来替代,而是使用一个 CSS class:
在网页中会被转换为:
一个正在试验的功能,允许你为 wiki-include 链接提供自定义的处理程序。
参考 VimwikiWikiIncludeHandler。
缩略图链接
缩略图链接的构造如下:
在网页中会被转换为:
Markdown Links
这些链接仅在 Markdown 语法中可用。详见
https://daringfireball.net/projects/markdown/syntax#link.
行内链接:
图像链接:
参考式链接:
参考式的链接必须包含两对连续的中括号,且字段内不允许使用 "[" 或 "]"。
注意: 目前 Vimwiki 中实现的参考式链接是默认的行内链接与传统参考式链接的一种混
合(这意味着当你在 Vimwiki 中使用参考式链接时,你可能可以享受到 Vimwiki 特有的
功能和特性,同时仍然保持 Markdown 或其他格式中参考式链接的便利性。)。
如果 Id 在源代码的其他地方按照 Markdown 的标准进行了定义,如:
那么,当点击这个链接时,URL 将使用系统默认的处理程序打开 (通常是默认的浏览器)。
如果 Id 没有在其他地方定义,Vimwiki 会将这个参考式链接当作行内链接来处理,并将
Id 字段解释为维基页面的名称。
当 vimwiki-option-maxhi 处于激活状态时。则 Id 未定义时 (无论 Id 是参考式链接
还是行内链接) 会被高亮显示。
重新打开页面,会自动扫描页面以此查找新的或更改后的参考式链接是否有效,可以通过
":e<CR>" 来简单地重新加载当前页面。
从外部链接提取标题
函数 #vimwiki#base#linkify() 会获取光标所在处的 URL 并将其转换为 markdown 链接,
以此来实现自动从外部链接提取标题来创建链接。
如果 URL 无法被访问,则不会对链接做任何改变。
如果无法获取网页的 <title> ,则直接使用 url 作为链接的标题。
建议映射:
------------------------------------------------------------------------------
5.3. 标题 vimwiki-syntax-headers
= Header level 1 =
默认情况下,所有级别的标题都使用 hl-Title 的样式风格对其进行高亮显示。
== Header level 2 ==
你可以为每一个级别的标题设置不同的颜色:
可以给 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
无序列表:
或:
有序列表:
或:
或:
或:
或:
或:
或:
注意列表后的标志 (-, *, 1. etc.) 不能缺少.
你可以自由地混合使用这些列表标志:
列表内容可以跨越多行:
定义列表:
------------------------------------------------------------------------------
5.6. 表格 vimwiki-syntax-tables
输入一些内容,每一个单元使用 | 进行分隔就是表格。在表格中可以维基语法 (包括字
体和链接).
例如:
下面这一部分在 HTML 中
会被突出显示为表头.
如果你对表格进行缩进,在转换为 HTML 时表格会居中.
如果在单格格中输入 > ,这个单元格会被合并到左边的列中。
如果在单格格中输入 \/,这个单元格会被合并到上面一行。
例如:
参考 vimwiki-tables 获取更多对表格的操作.
------------------------------------------------------------------------------
5.7. 格式化文本 vimwiki-syntax-preformatted
使用 {{{ 和 }}} 来定义预格式化文本块:
{{{
}}}
你可以在 {{{ 后面添加可选的信息:
{{{class="brush: python"
}}}
在 HTML 中的结果是:
使用外部 JS 工具(如 Google 的语法高亮显示)为代码着色时这种方法很方便。
你可以在 Vimwiki 的预格式化文本中设置突出显示代码片段。
参考 vimwiki-option-nested_syntaxes 和
vimwiki-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
以 %% 开头的行为注释。例如:
可以通过 g:vimwiki_commentstring 禁用或修改默认的注释字符,例如:
<!-- 这可能也是一行注释 -->
使用多行注释时,在开始处使用 %%+,在结尾处使用 +%%。它可以跨越多行使用,也可以
在一行之中使用。
例如:
%%+ 这些文字
以及这些文字
将不会出现在
转换后的 html 页面 +%%
%%+ 不包括 +%% 包括 %%+ 也不包括 +%%
------------------------------------------------------------------------------
5.11. 水平分隔线 vimwiki-syntax-hr
认 4 个或更多的横线开始的行会被当作一个水平分隔行 (<hr />):
------------------------------------------------------------------------------
5.12. 标签 vimwiki-syntax-tags
在 wiki 文件、标题或者是文件的任意一个地方都可以添加标签。然后,使用 Vim 中内
置的标签搜索功能 (see tagsrch.txt) 或者是 Vimiki 中对标签的一些相关操作来快
速跳转到标行所在的位置。
两个冒号之间的非空白字符序列就是一个标签:
可以在一行之中包含多个标签:
如果标签在一个文件开头的前两行,这个标签就标记了这个文件。如果标签在一个标题下
两行之内,那么这个标签就标记了这个标题。在搜索标签时就会跳转到这个标题之上。除
此之外的标签独主存在,在搜索标签跳转时会直接跳到该标签处。
输入标签时可以使用 Vim 编辑器中的自动补全功能来简化输入 (参考 compl-omni):
之后会弹出一个菜单,其中显示了维基中所有以 "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 设置不同的值可以选择使用的折叠方法:
这里有一个示例,演示了将 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 语法,你不希望标题前后的空行被折叠起来,你可以在配置文件中添加这样的
函数来实现这个功能:
注意你还需要在配置文件中添加下面的配置:
参考 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(字母) 会按预期的行为插入新的项目符号或
数字。当然只有光标在一个列表条目中才会插入项目的符号或数字。如果你想在列表中使
用硬换行 (即直接按回车键导致换行,而不是自动换行) 那么你需要重新定义 的
行为,可以将其映射到 , 或者使用 <S-CR>, 或者按下 <CR> 后立
即按下 <C-L><C-M>。
注意并非在所有终端下组合键 <S-CR> 都可以正常工作。
当光标处于空列表后时,<CR> 和 <S-CR> 的行为会不一样,看下面这这个表。
如果要定义其行为,可以使用自动命令或映射将其放在
中。这样在编辑非 Vimwiki 文件时就不会出现
the command doesn't exist 的错误提示了:
注意: 在 Vim > 7.3.489 的版本中,以 作为前缀的映射可以扩展 iabbrev 的
含义。
命令 :VimwikiReturn 的第一个参数是一个数字,它决定是不是要插入一个新的项目符号
或数字。这主要取决于光标是在一个列表清单中还是在一个正常行中:
第二个参数的数字决定了光标在一个空的列表清单中时,按键 <CR> 或 <S-CR> 的行为,
其行为不少于五种:
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 后面跟标识符可以修改光标所在列表清单及其子列表清单的标识符。默认有以下几种
标识符可以选择:
Markdown 语法中有这些标识符可用:
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_glr 和 vimwiki_gLr。
------------------------------------------------------------------------------
待办列表 vimwiki-todo-lists
你可以建立待办列表 -- 你可以对列表中的条目进行标记/取消标记。
请看下面这个例子:
在第一条待办事项上使用 <C-Space> 会同事更改其子项的完成状态。
(译者: <C-Space>一般是切换中文输入法的组合键,可以重新定义该组合键):
在第三个列表清单条目上使用组合键 <C-Space> 将切换自身和其父项:
父级清单条目状态的改变取决于子级清单条目的改变,当子级清单条目状态被改变时,它
归属的父级条目也随之改变,除非是禁用 vimwiki-option-listsyms_propagate。如果
没有使用 vimwiki_glr [ ] 之间显示的符号是由子级清单条目的完成百分比来决定的
(参考vimwiki-option-listsyms):
你可以使用 vimwiki_gln 和 vimwiki_glp 来修改一个没有子级清单条复选框中的完
成状态。
在 visual 模式下,用户可以选择多个文本或对象,然后执行批量操作。然后一次性切换
其状态。但是,当用户尝试切换多个列表项的状态时,不是逐个检查或取消检查每个项目,
而是基于第一个项目的状态来决定其他项目的状态。
gl<Space> (参考 vimwiki_gl<Space>) 可以移除一条清单条目的复选框
gL<Space> (see vimwiki_gL<Space>) 可以移除与光标同一级别的所有复选框
你可以使用 vimwiki_glx 来标记一个不再打算去做的清单,一条被标记为不再去做的
清单不会影响其父级清单条目的完成状态。
==============================================================================
9. 表格 vimwiki-tables
命令 :VimwikiTable 默认创建 2 行 5 列的表格:
单元格在输入一些内容后会自动执行格式化:
无论你是按下了 <TAB>, <CR> 或者是离开了 Insert 模式,表格都会执行格式化操作:
只需要按 <TAB> 键就可以在新的单元格中输入内容:
想要对表格进行缩进,先缩进第一行。然后使用 'gqq' 进行格式化。
你可以使用字符 ':' 来对齐列表中的内容,默认的对齐方式是左对齐。
==============================================================================
10. 日记 vimwiki-diary
键入 <Leader>w<Leader>w 即可快速创建以当前日期为名字的日记维基。
命令 :VimwikiDiaryGenerateLinks 或 <Leader>w<Leader>i 可以生成日记目录。
注意: 该命令只在日记目录文件中起作用。
日记目录文件看起来像这样:
可以在一天之内编辑多个日记。参考“注册维基”章节内容。
如果你想对月份进行重命名,参考 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
标题、标签、粗体字都是一个锚点。可以通过维基链接跳转到锚点位置
例如在 "Todo.wiki" 文件中包含了以下内容:
从 index.wiki 中直接跳转到该文件的 knitting projects 处使用:
也可跳转到其中的一个子条目中,使用的链接如下:
或者跳转到其中的一个标签处:
如果一个锚点下有多个子级条目,你可以使用一个由完整的头层次结构组成的长格式来表
示,中间使用符号 '#' 作为分隔:
如果你不喜欢输入全部的内容,你可以在输入 [[Todo# 后使用 i_CTRL-X_CTRL-O 就能
在所有的锚点之间循环了。
如果是在同一个文件中进行跳转,你可以省略文件名如:
------------------------------------------------------------------------------
目录列表 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 (重新) 设置之后尝试命令:
如果你还想设置语法上的设置,请在最后一条命令前使用:
------------------------------------------------------------------------------
12.1 注册维基 g:vimwiki_list vimwiki-register-wiki
变量 g:vimwiki_list 中可以注册一个或多个维基。
在变量 g:vimwiki_list 中的每一个项都是一个 Dictionary。它包含了对维基不同
功能的设置。其 dictionary 的格式如下:
参考下面的这个设置:
上面这个例子中,定义了维基的存储目录为 ~/my_site/,维基转换为网页后的文件存放
目录为 ~/public_html/ 。
另一个例子:
这个例子中定义了两个维基: 第一个维基与上面的一样,第二个维基存储目录为
~/my_docs/,维基文件使用的扩展名设置为了 .mdox。
在 Dictionary 中为空的选项则会使用 g:vimwiki_list 中默认的值:
为了更加的直观,你可以在 .vimrc 文件中对 Dictionary 中的变量进行独立赋值,随
后将其变量组合到 g:vimwiki_list 中。
------------------------------------------------------------------------------
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/
描述
维基文件存储目录:
vimwiki-option-path_html
------------------------------------------------------------------------------
变量 默认值
path_html ''
描述
维基文件转换为网页后的存放目录:
如果 path_html 为空,则会在 vimwiki-option-path 的目录后添加 '_html' 作为存
储目录,例如下面这种情况:
path_html 的目录会被设置为 '~/okidoki_html/'。
vimwiki-option-name
------------------------------------------------------------------------------
变量 默认值
name ''
描述
name 可以在维基文件创建内部链接时使用:
合法的名字可以包含字母、数字、空格、下划线和破折号。如果有两个维基的名字相同,
内部链接会跳转到 g:vimwiki_list 中第一个与之匹配的维基中。
设置的名字也会出现在 GVim 的菜单栏中,参考 g:vimwiki_menu。
vimwiki-option-auto_export
------------------------------------------------------------------------------
变量 默认值 可选值
auto_export 0 0, 1
描述
选项为 1 时在保存维基页面时会自动生成网页文件:
这可以使你的网页文件保持实时更新。
vimwiki-option-auto_toc
------------------------------------------------------------------------------
变量 默认值 可选值
auto_toc 0 0, 1
描述
选项为 1 时在保存维基页面时会自动更新目录:
vimwiki-option-index
------------------------------------------------------------------------------
变量 默认值
index index
描述
维基目录文件的名字:
注意: 不要包含扩展名
vimwiki-option-ext
------------------------------------------------------------------------------
变量 默认值
ext .wiki
描述
维基文件使用的扩展名:
vimwiki-option-syntax
------------------------------------------------------------------------------
变量 默认值 可选值
syntax default default, markdown, or media
描述
维基语法。你可以选择不同的维基语法 (目前有: Vimwiki 默认语法,Markdown,
MediaWiki),但只有 Vimwiki 默认的语法可以被转换为网页。
在 wiki 中使用 Markdown 语法:
vimwiki-option-links_space_char
------------------------------------------------------------------------------
变量 默认值
links_space_char ' '
描述
设置在创建链接时用于替换空格的字符 (或字符串)。例如,设置为 '_' 则会将字符串
'my link' 替换为 [[my_link]] 创建的文件会被命名为 my_link.wiki。默认情况下是不
对空格进行替换的。
设置用来替换空格的字符串:
vimwiki-option-template_path
------------------------------------------------------------------------------
变量 默认值
template_path ~/vimwiki/templates/
描述
设置 HTML 模板所在的路径:
可能会有一堆的模板:
等等。
模板看起来可能是这个样子:
含义
通过 vimwiki-title 来替换维基页面的名字
通过 vimwiki-date 来替换当前的日期
使用 ../ 来替换在子目录中的文件:
如果当前维基页面在目录 [[dir1/dir2/dir3/my page in a subdir]] 下,之后
会被替换为 '../../../'。
当前维基文件的路径。例如,当前的维基页面在 a/b.wiki 则
%wiki-path% 的内容则是 "a/b.wiki"。如果你想要从渲染后的维基页面中链接到原
始文件时,这将会非常方便。
会被维基文件的内容所取代。
所有的维基文件默认都使用默认的模板文件,除非是在某个页面中专门指定了使用指定的
模板。假设你有一个名为 'Maxim.wiki' 的文件使用 'person.html' 模板,只需在页面
中添加:
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 文件的名字:
或者使用
Vimwiki 默认的 CSS 文件名字为 "style.css".
vimwiki-option-maxhi
------------------------------------------------------------------------------
变量 默认值 可选值
maxhi 0 0, 1
描述
如果此选项被开启,对没有指向文件的链接会高亮显示。但这会拖慢运行速度,如果你仍
想使用这个功能,将其值设置为 1:
vimwiki-option-nested_syntaxes
------------------------------------------------------------------------------
变量 默认值 可选值
nested_syntaxes {} pairs of highlight keyword and Vim filetype
描述
你可以配置预格式化文本,以便于 Vim 以任何语法规则高亮显示文本。例如将这些配置
放在你的 vimrc 文件中:
如果你想高亮显示 Python 和 C++ 语法的关键词:
或者:
vimwiki-option-automatic_nested_syntaxes
------------------------------------------------------------------------------
变量 默认值
automatic_nested_syntaxes 1
描述
如果设置了,嵌套语法 (vimwiki-option-nested_syntaxes) 会自动加载。像这样输入
格式化文本
其中 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 调用自定义脚本,这样传递参数:
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_glI 和 vimwiki_i_<C-L>_<C-M>.
注意: 如果你使用 Markdown 或 MediaWiki 语法,你可能会将该选项设为 0,这时每一
行都会被视为纯文本文件。
vimwiki-option-bullet_types
------------------------------------------------------------------------------
变量 默认值
bullet_types ['-', '*', '#'] (default-syntax)
['-', '*', '+'] (markdown-syntax)
['*', '#'] (mediawiki-syntax)
用作列表单条符号的字符列表。默认值取决于使用的语法。
你可以像这样包含更多有趣的符号:
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%。
你可以像这样设置更多的符号:
vimwiki-option-listsym_rejected
------------------------------------------------------------------------------
该字符表示项目中不会去完成的清单。默认值为 '-'。这会覆盖全局变量
g:vimwiki_listsym_rejected 的值。
这里设置的字符不能是 vimwiki-option-listsyms 中的符号。
你可以像这样包含更多有趣的符号:
vimwiki-option-listsyms_propagate
------------------------------------------------------------------------------
变量 默认值 可选值
listsyms_propagate 1 0, 1
描述
此选项设置为 0 时,待办事项的子项完成状态不会影响父项的完成状态。
vimwiki-option-auto_tags
------------------------------------------------------------------------------
变量 默认值 可选值
auto_tags 0 0, 1
描述
设置为 1 时在当前维基被保存时会自动更新标签:
vimwiki-option-auto_diary_index
------------------------------------------------------------------------------
变量 默认值 可选值
auto_diary_index 0 0, 1
描述
这个选项设置为 1 时会在打开日记目录时自动更新。
参考 :VimwikiDiaryGenerateLinks:
vimwiki-option-auto_generate_links
------------------------------------------------------------------------------
变量 默认值 可选值
auto_generate_links 0 0, 1
描述
这个选项设置为 1 时会在当前维基页面保存时自动更新链接:
vimwiki-option-auto_generate_tags
------------------------------------------------------------------------------
变量 默认值 可选值
auto_generate_tags 0 0, 1
描述
该选项设置为 1 时可以在当前维基保存时自动更新标签:
vimwiki-option-exclude_files
------------------------------------------------------------------------------
变量 默认值 可选值
exclude_files [] 列出需要排除的文件类型
描述
在检查或生成链接时会排除该选项中设置的文件类型:
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 的文件名:
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),你可以使用下面的方法
将目录标题更改为你的母语:
默认是 '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 词汇。
默认值:
vimwiki-option-color_tag_template
------------------------------------------------------------------------------
不应被编辑:一个包含 COLORFG、COLORBG 和 CONTENT 占位符的正则表达式,用于通过标签包围内容以定义其颜色。(参见 autoload/vimwiki/vars.vim)
不应该被编辑: 包含 __COLORFG__, __COLORBG__ 和 __CONTENT__ 的占位符。用一个标
记包围内容,用于定义其颜色 (参考 autoload/vimwiki/vars.vim)
------------------------------------------------------------------------------
12.4 语法变量 vimwiki-syntax-options
语法选项的配置使用下面的模式:
说明:
- 是语法的名字,它可以是 (, or )
- 选项的名字 (参考下文)
- 是选项的值
------------------------------------------------------------------------------
blockquote_markers
标记列表用于定义块引用
默认值: ['>']
------------------------------------------------------------------------------
yaml_metadata_block
用于定义 YAML 标志 (开始, 结尾) 的正则表达式区域分隔符列表更多信息参考
#1287 和 https://pandoc.org/MANUAL.html#extension-yaml_metadata_block
默认值: [['^---$', '^\%(---\|\.\.\.$']]
类似于更严格的锚点
------------------------------------------------------------------------------
12.5 全局变量 vimwiki-global-options
设置全局变量的方法示例:
说明:
- 是选项的名字
- 是选项的值
------------------------------------------------------------------------------
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 的配置文件中
------------------------------------------------------------------------------
g:vimwiki_global_ext
控制是否允许创建 vimwiki-temporary-wiki。
打开的文件扩展名为维基文件后缀名 (参考 vimwiki-register-extension) 且满足:
条件1. 文件所在目录不在 g:vimwiki_list;
条件2: 文件所在的目录不在任何已注册维基目录的子目录下。
值 描述
1 生成临时维基并将其添加到 g:vimwiki_list。
0 不生成临时维基
如果你喜欢使用 .txt 作为维基的扩展名。你可以通过
来限制 Vimwiki 只将 g:vimwiki_list 列表目录下的该文件视作维基文件,而不会将其
它目录下的扩展名为 txt 的文件视作维基文件。
默认值: 1
------------------------------------------------------------------------------
g:vimwiki_ext2syntax vimwiki-register-extension
文件扩展名与语法之间多对一的映射,目的在于在 vimwiki 中注册扩展名。
例如:
在 Vimwiki 中注册过的文件扩展名会触发 vimwiki-temporary-wiki 的创建。在
g:vimwiki_list 列表中的使用文件扩展名会使用默认语法在 Vimwiki 中注册。使用此
选项映射的扩展名会使用映射的语法。
默认值:
注意: 该选项会覆盖默认的值,如果需要就包含它。
------------------------------------------------------------------------------
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%。
你可以设置更有趣的一些符号,如:
------------------------------------------------------------------------------
g:vimwiki_listsym_rejected
用于标识在待办事项中不会去做的事项。默认是 '-'。你可以在每个 wiki 中使用
vimwiki-option-listsym_rejected 来进行设置。
这里设置的字符不能是 g:vimwiki_listsyms 中的符号。
你可以像这样包含更多有趣的符号:
------------------------------------------------------------------------------
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 功能以此来做一些其它的操作:
第二个例子中使用了一个新方案,对 "vfile:" 的操作行为类似 "file:",但是会 Vim中
新建一个 tab 窗口来打开:
------------------------------------------------------------------------------
VimwikiLinkConverter
这个功能会被 vimrc 中的配置所覆盖,指定一个链接转换为 HTML 时,使用函数:
- 链接一个字符串
- 链接到所在的 wiki 文件的完整路径
- 输出到 HTML 文件的完整路径
如果成功返回指向 html 的链接,否则返回 ''。
这个例子中修改了使用 "local:" 链接到外部文件时在转换为 HTML 时的行为。默认的情
况下,它会使用相对于 html 目录的相对路径。这个例子中将其修改为相对于 wiki 文件
的路径。即 [[local:../document.pdf]] 链接会被转换为 <a href="../document.pdf">。
此外,这个函数会将 document.pdf 复制到正确的位置中。
------------------------------------------------------------------------------
VimwikiWikiIncludeHandler
默认将 wiki-include URL 中的内容作为图片处理。
试用功能允许您为wiki包含链接提供自己的处理程序。当处理程序无法识别或否则无法转
换链接。自定义处理程序可能如下所示:
------------------------------------------------------------------------------
g:vimwiki_table_auto_fmt
启用/禁止离开 INSERT 模式后自动对表格进行格式化。
值 描述
0 不启用自动格式化表格
1 启用自动格式化表格
默认值: 1
------------------------------------------------------------------------------
g:vimwiki_table_reduce_last_col
如果进行了设置,在表格的最后一行不会自动添加单元行。选项 可以改善
显示的效果,在小屏幕上尤为明显。如果 g:vimwiki_table_auto_fmt 被设置为了 0,
这个选项就不会起作用了。
值 描述
0 启用表格中所有行的自动化
1 表格最后一行禁止表格的自动化
默认值: 0
------------------------------------------------------------------------------
g:vimwiki_w32_dir_enc
指定文件名使用的字符编码,创建目录时,将 'encoding'(编码)转换为
'g:vimwiki_w32_dir_enc' 指定的编码。
如果你 'encoding' 编码为 'enc=utf-8' 且设置了
在下面的链接后按 <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 中自动编号使用这个选项。
例如:
etc.
值 描述
0 关闭标题的数字
1 打开标题的数字。标题数字从 1 级标题开始。
2 打开标题的数字。标题数字从 2 级标题开始。
等等.
例如当 g:vimwiki_html_header_numbering = 2:
等等.
默认值: 0
------------------------------------------------------------------------------
g:vimwiki_html_header_numbering_sym
g:vimwiki_html_header_numbering 的结束等号。
值 描述
'.' 点会被添加到标题数字的后面
')' 括号被添加到标题数字的后面
等等.
使用
let g:vimwiki_html_header_numbering_sym = '.'
标题看起来会是这个样子:
默认值: '' (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'。
使用:
他们将不会在使用命令 :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
隐藏预格式化文本的标记。例如,
在你的 wiki 文件中会看起来简单一点
默认值: 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
为所有的全局映射(和一些局部映射)指定前缀的字符串。使用这个功能可以避开与其他
插件之间的冲突。注意,必须在插件加载之前定义。
默认值是 '<Leader>w'.
------------------------------------------------------------------------------
g:vimwiki_auto_chdir
设置为 1 时,启动 auto-cd 特性。每当 vimwiki 页面打开时,vimwiki 会在页面所属
的根目录中执行 :lcd。
值 描述
0 不更改目录
1 在打开 vimwiki 页面时将目录改为页面所在的目录
默认值: 0
------------------------------------------------------------------------------
g:vimwiki_links_header
连接标题,vimwiki 文件中超链接目录的标题。可以这样将其设置为你自己的母语:
默认值是 '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:
本例中使用的是 。带有 标记的目标将会被高亮显示。
默认值是 'pygmentize -f html'.
------------------------------------------------------------------------------
g:vimwiki_tags_header
标签字符,标记 vimwiki 文件中标签的开始位置。可以这样将其设置为你自己的母语:
默认值是 '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 替换的空格
在生成标题时会恢复为空格。标题处理恢复为空格的字符外与文件的名字将完全一样。
例如, 设置为 创建文本 的链接将生生成
创建的文件名为 。生成的标题将会是
。
默认值是 0.
------------------------------------------------------------------------------
g:vimwiki_key_mappings
这是一个字典,用于启用/禁用各种键的组合映射。要禁用一个特定的组合,将相关的键
值设为 0 即可。例如:
禁用所有 Vimwiki 按键的映射使用:
有效的组合键及相关的映射显示如下。
:
禁止使用所有 Vimwiki 的键值映射。
:
vimwiki-global-mappings 在 Vim 启动时定义。
:
在头部导航和操作的映射:
vimwiki_=, vimwiki_-, vimwiki_[[, vimwiki_]], vimwiki_[=
vimwiki_]=, vimwiki_]u , vimwiki_[u
:
vimwiki-text-objects mappings.
:
用于格式化表格的映射。
vimwiki_gqq, vimwiki_gww, vimwiki_gq1, vimwiki_gw1
vimwiki_<A-Left>, vimwiki_<A-Right>
:
表格中插入模式的映射。
vimwiki_<Tab>, vimwiki_<S-Tab>
:
表格操作的映射。
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
:
离开插入模式时的列表映射。
vimwiki_i_<CR>, vimwiki_i_<S-CR>
:
创建链接和导航的映射。
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 的映射。
vimwiki_<Leader>wh, vimwiki_<Leader>whh
:
鼠标映射,参考 vimwiki_mouse。这个映射默认不启用。
默认情况下会启用除鼠标映射之外的所有映射:
------------------------------------------------------------------------------
g:vimwiki_filetypes
这个列表列出了被追加为 vimwiki 文件的类型:
这个设置会将指定的文件设置为 。这可以用来启动第三个插
件,如自定义折叠。警告:这个选项可以让使其他插件覆盖 vimwiki 的默认行为,所以
使用时要特别当心。任何针对文件类型的插件都会被启用。
默认为
------------------------------------------------------------------------------
g:vimwiki_commentstring
更改默认注释字符串的选项。使用
let g:vimwiki_commentstring = '<!--%s-->'
用于 html-style 风格的注释,使用
let g:vimwiki_commentstring = ""
vimwiki 中不设置注释用字符串。
默认值为 %%%s.
------------------------------------------------------------------------------
g:vimwiki_emoji_enable
位字段:启用/禁止表情隐藏和显示,注意只有在 completefunc 不存在时才会被设置。
以此保持其他插件以默认的方式工作。它可以手动设置为:
将当前文件中表情符号的别名(如 :cat:)替换为其它值(如 🐱):
表情符号直接从 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:
- Set:
- Tag like:
- Set:
==============================================================================
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
* 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 () 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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步