vimwiki实用技巧
收集了一些vimwiki中常用的命令,记录在这里。
基本的 Wiki 语法
= 一级标题 = == 二级标题 == === 三级标题 === 此次类推。 当标题前面有空白时,标题文本居中对齐。 = 我是居中的标题 =
粗体 斜体 删除线<code>Some Code 代码</code>
注意 这几个针对文本格式的标签,都要求左右留有空白。 请注意你的代码高亮,一般来说,有了相应的高亮,你用的wiki标签才生效。
上标 下标
四个空格缩进的内容会被转成blockquote
{{{ class="brush:php" 这中间的内容会被放到一个 pre 里,适合贴代码。 上面的 class 是可选的,一般用来安排代码高亮。 事实上,这一块代码展示就是放在了一个 pre 里。 请无视下面一行的反斜杠 \}}} * 无序列表 条目一 * 无序列表 条目二 - 子列表 条目一 - 自列表 条目二 # 有序列表 条目一 # 有序列表 条目二 * 和 - 是等价的,后面必须跟一个空格
参考 :h vimwiki-syntax
特殊占位符
在wiki条目中使用以下占位符,能对生成的HTML文件做一些特殊的处理。
-
%toc
自动生成的目录 -
%title
指定HTML文档的title,建议放到文档最末尾。如果不指定,title 就是文件名 -
%nohtml
告诉 vimwiki 不为某条目生成HTML文件。即使你在该条目打开时为它单独执行:Vimwiki2HTML
,也不会生成。
生成链接
生成外链的格式如下: [[http://wangheng.org |王恒的博客]] 生成内链的格式如下: [[../*html |我的页面]]
生成HTML
使用 :Vimwiki2HTML
可以为当前维基条目生成HTML文件,使用 :VimwikiAll2HTML
可以为所有条目生成HTML。您可以为每个维基项目指定 auto_export
选项,这样在wiki文件保存时就会自动生成HTML。个人不建议这样做,因为当条目很大,保存就相当费时。
定义下面的快捷键映射即可:
map <S-F3> :!VimwikiAll2HTML<cr>
map <F3> :!Vimwiki2HTML<cr>
键操作
快捷键总览
-
<leader>ww
在当前窗口打开维基首页 -
<leader>wt
在新tab打开维基首页 -
<leader>w<leader>w
打开/新建当天日记 -
<leader>w<keader>t
在新tab打开/新建当天日记 -
<leader>ws
选择维基项目(详见下面的“多个维基项目”一节)
编辑时的按键
- 尚未建立的词条会被显示为红色(或其他你的 Vim 语法高亮定义的错误颜色),在词条上敲回车键,可以编辑这个词条。点击 Shift-回车,在新的分割窗口编辑该词条。编辑好以后点击退格(Backspace)键,可以返回链入页
- 使用 Tab 键,可以跳到下一个维基词条或链接,使用 Shift-Tab 跳到上一个
-
插入模式下使用Shift-Enter,插入
\<br\>
并换行
另有条目管理相关的快捷键 <leader>wd
和 <leader>wr
,分表代表删除和重命名当前条目。其中重命名条目很强大,还能更改所有其他条目内引用了该条目的链接。
重命名之后别忘了重新生成所有条目的HTML。
进阶操作
日记功能
使用快捷键 <leader>w<leader>w
可以快速编辑当天的日记。还可以配合 Calendar 插件 轻松管理你的日记。
请马上下载并安装 calendar.vim。 安装后,定义一下快捷键吧:
" calendar
map <F8> :Calendar<cr>
按 F8
调出日历窗口,按 q
退出。
在日期上点回车,就可以编辑当天的日记了!
PS: 按左右键在前后一个月里跳转,按上下键在前后一年跳转。按 t
回到当天。当然,Vim 默认的上下左右 hjkl 也是能用的。
多个维基项目
您可以配置 g:vimwiki_list
,指定多个维基项目,它们各自拥有单独的文件夹。这就允许你把工作维基和生活的琐事记录完全分开。
请打开 vimrc ,加入以下内容:
let g:vimwiki_list = [{'path': 'E:/path/to/vimwiki-1/vimwiki/', \ 'path_html': 'E:/My Dropbox/vimwiki_html/' \ 'html_header': 'E:/My Dropbox/Public/vimwiki_template/header.htm', \ 'html_footer': 'E:/My Dropbox/Public/vimwiki_template/footer.htm', \ 'diary_link_count': 5}, \{'path': 'Z:/path/to/vimwiki-2/vimwiki/'}]
这里其实定义了两个维基项目。 path
是必须的,说明你想要把 wiki 条目存在哪个目录。其他选项各有默认值。生成的HTML存放在 path_html
下默认是与 path
同目录下的 WIKIFOLDER_html
,其中 WIKIFOLER 是你存放维基条目的文件夹名。你可以分别为每个 wiki 项目指定 html 头部和尾部模板,建议把模板文件后缀采用 htm ,既和生成的 html 有所区分,又能保证语法高亮和各种 ftplugin 可用。 diary_link_count
是指 diary.wiki 里每行放多少个日志链接。
定义好之后,你可以使用 <leader>ws
选择当前活动的维基项目。使用 <leader>ws
会弹出一个维基项目的列表,并带有编号,使用这个编号加上“快捷键总览”部分的快捷键,就可以打开相应项目的首页、日记等。如 2<leader>w<leader>w
就是在当前窗口打开列表中第二个项目的日记。
更多选项请参考 :h viwmiki-local-options
任务管理 TODO-list
Loading...
编辑表格
Loading...
调教你的 vimwiki
<b>警告!</b> 以下为高级内容,虽然我手把手在教,但毕竟折腾耗时。 而且您的操作可能因为 vimwiki 将来的版本升级而失效。 请评估自己的时间成本!
做一个你自己的模板
vimwiki 生成的HTML会都会链接相应vimwiki_html目录下的style.css。如果你不自己指定,它会自动生成一个默认的。CSS禅意花园的境界是什么来着,仅仅修改 style.css 就能拥有风格完全不同的页面。通过简单修改 style.css ,你完全可以创造自己风格的维基站。加上自定义文档头部和尾部的功能,折腾出一个个人网站来绰绰有余。当然,如果你还在想新闻列表,feed订阅什么的,请赶快走开。毕竟, vimwiki 不是 CMS 。
可惜的是,并不能指定一个 style.css 的模板,如果你还折腾了一些 !JavaScript 增强,就更麻烦了。需要的话请自行把相关文件复制过去吧。当然,你也可以直接把本页面另存为,使用我的模板!具体实现请自己折腾。
在wiki里使用更多的HTML标签
vimwiki 有一个 g:vimwiki_valid_html_tags 值,可以指定允许写在 wiki 中的HTML标签。 g:vimwiki_valid_html_tags 的默认值是 'b,i,s,u,sub,sup,kbd,br,hr'
,也就是说,当你在 wiki 中输入:
\<b\>Hello\</b\> <strong>Hello</stong>
输出的HTML会显示为:
Hello <strong>Hello</stong>
标签 b
被当作可用的HTML标签,而 strong
则输出为文本。
但有时候我们需要建立更强大的维基页面,不只用到这几个标签, 而是有特定 class
和 id
的 div
。于是在 vimrc 中定义:
let g:vimwiki_valid_html_tags='b,i,s,u,sub,sup,kbd,br,hr,div,del,code'
在这里我添加了 div
, del
, code
三个标签。
参考http://wiki.ktmud.com/tips/vim/vimwiki-guide.html
:VimwikiTable 命令
创建一个表格,后面参数可以跟表格的行列的数目。 创建出来的表格效果如下:
姓名 | 年龄 | 性别 | 职业 | 简介 |
---|---|---|---|---|
王恒 | 25 | 男 | 互联网 | http://wangheng.org |