VimWiki折叠/大纲功能指南:快速浏览长Wiki页面的键盘技巧
【免费下载链接】vimwikiPersonal Wiki for Vim项目地址: https://gitcode.com/GitHub_Trending/vi/vimwiki
VimWiki 是一款运行在 Vim 里的个人 Wiki 工具,让你用纯文本管理笔记、任务清单和知识索引。当你维护的 Wiki 页面越来越长时,本文教你启用 VimWiki 的折叠/大纲功能,掌握一组键盘快捷键,快速折叠章节、跳转标题、一键生成目录,让长页面瞬间变得清爽可控。
一、折叠功能是什么?怎么开启?
默认情况下 VimWiki 是关闭折叠的。只需在配置文件中设置一个变量g:vimwiki_folding,即可让 Vim 的原生折叠机制按 Wiki 结构工作:
let g:vimwiki_folding = 'expr'常见折叠模式怎么选
| 取值 | 作用 | 适合谁 |
|---|---|---|
''(默认) | 关闭折叠 | 不需要大纲的用户 |
'expr' | 按章节和代码块折叠 | 最常用,速度快 |
'syntax' | 按语法高亮折叠章节 | 偏好语法驱动折叠 |
'list' | 折叠列表子项 | 管理长任务清单(大文件较慢) |
'custom' | 交给你自己或第三方插件控制 | 进阶用户 |
💡小技巧:大文件打开慢时,可以给模式加上:quick后缀(如'expr:quick'),官方文档提供了加速变通方案。
更多说明见官方文档:doc/vimwiki.txt 中的vimwiki-folding章节。
二、必会折叠快捷键速查表
开启后,所有折叠操作都复用 Vim 原生按键,背下表即可上手:
| 快捷键 | 作用 |
|---|---|
zo | 展开当前行所在折叠块 |
zc | 折叠当前块 |
za | 折叠/展开切换 |
zM | 一键折叠全部(浏览大纲神器) |
zr | 展开全部 |
zO | 递归展开当前块 |
zR | 递归展开所有 |
zA | 递归切换 |
zD | 删除全部折叠 |
zz | 光标行折叠后居中显示 |
折叠后的章节会显示标题 + 行数统计,例如* [ ] Do stuff 1 [6],一眼知道里面藏了多少行内容。
三、标题间快速跳转:大纲导航键
折叠解决"缩"的问题,跳转解决"找"的问题。VimWiki 内置了一套类似[[]]的标题导航键:
| 快捷键 | 作用 |
|---|---|
]] | 跳到下一个标题 |
[[ | 跳到上一个标题 |
]u/[u | 跳到父级标题 |
]=/[= | 跳到同级标题 |
=/- | 当前行增加/减少标题层级 |
配合zM折叠全文后,用]]逐个"翻章",就是最顺手的长页面浏览姿势。
四、一键生成目录::VimwikiTOC
如果不想手动折叠,可以在页面顶部生成一个可点击的目录:
- 把光标放在文件开头(或某个"Contents"魔术标题下)
- 执行
:VimwikiTOC - VimWiki 自动列出全文标题并生成链接,点击即跳转
再配合选项auto_toc,每次保存时目录自动更新,长页面从此自带"章节地图"。
五、列表折叠:任务清单也能"缩起来"
把g:vimwiki_folding设为'list',多层任务清单的子项可以单独折叠,只留主干:
= My current task = * [ ] Do stuff 1 [6] " 子项全部收进这里 * [ ] Do stuff 2 * [ ] Do stuff 3注意'list'模式在大文件上较慢,建议配合:quick后缀使用。折叠逻辑的实现可以在 ftplugin/vimwiki.vim 的VimwikiFoldLevel函数中找到,相关行为测试见 test/fold.vader,变量默认值定义在 autoload/vimwiki/vars.vim。
小结
| 需求 | 方案 |
|---|---|
| 快速看结构 | zM折叠全部 +]]跳标题 |
| 只看某章节 | zc折叠其他块,zo展开目标 |
| 永久目录 | :VimwikiTOC+auto_toc |
| 管理任务清单 | g:vimwiki_folding = 'list:quick' |
掌握这些 VimWiki 折叠/大纲键盘技巧后,再长的 Wiki 页面也能三秒定位到你想看的位置。
【免费下载链接】vimwikiPersonal Wiki for Vim项目地址: https://gitcode.com/GitHub_Trending/vi/vimwiki
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考