为 Markdown 文档生成 Table of Contents 的 Vim 插件

2016-09-16 09:16:27 +08:00
 mzlogin

使用 Vim 编辑一个较长的 Markdown 文档时,如果想要手动维护 Table of Contents 是一件痛苦的事情,而且不同的 Markdown 解析引擎给标题生成的锚点链接并不一样,使用一款插件来替我们做这件事情会更方便。

插件 GitHub 链接:https://github.com/mzlogin/vim-markdown-toc

开发这个插件的时候感受倒是没有多深刻,近期维护我的一个开源文档项目 awesome-adb(文档长度近 2000 行,各级标题超过 80 个)时才实实在在地体会到这样一个功能对使用 Vim 编辑 Markdown 文档的用户还是挺实用的,节省了很多时间。

插件效果截图:

有此需求的童鞋可以 Star 收藏和试用起来,欢迎反馈和建议。

3746 次点击
所在节点    Vim
25 条回复
matrix67
2016-09-16 10:56:15 +08:00
toc 呀
infun
2016-09-16 11:10:13 +08:00
@matrix67 好像有些不支持
mzlogin
2016-09-16 11:36:39 +08:00
@infun 你好~是指什么样的不支持呢?可以具体说一下吗
infun
2016-09-16 12:14:01 +08:00
@mzlogin 有些编辑器好像不支持 [TOC]
mzlogin
2016-09-16 12:31:41 +08:00
@infun 这是 Vim 的插件……专门为 Vim 写的。
everettjf
2016-09-16 12:52:25 +08:00
赞。
不过,我曾经很想适应 Vim 写中文文章,但后来实在是觉得输入法的切换太过麻烦,后来干脆只在写代码时用 vim (或 vim 的 ide 插件)。
楼主是怎么解决这个问题的?
tracyone
2016-09-16 13:10:06 +08:00
不错,已经 star
mzlogin
2016-09-16 13:25:43 +08:00
@tracyone 谢谢支持~
mzlogin
2016-09-16 13:31:38 +08:00
@everettjf 困扰应该主要是从 Insert Mode 回到 Normal Mode 和末行模式时如果还是中文输入法的话比较烦躁吧?

这个问题我也存在一定的困扰,目前会在 Windows 和 macOS 下使用 Vim ,主要使用 GUI ,使用 shift 切换中英文。 macOS 下目前有一些问题,反倒是 Windows 下会在 Esc 的时候自动切换到英文:

![vim-auto-ime]( )

所以 Windows 下这样用还挺顺畅的, Esc 完就能放心地使用 Normal Mode 和末行模式了。

回头我探索一下 macOS 下能否有好的解决方案,有进展再回复你。
bao3
2016-09-16 13:56:02 +08:00
@everettjf VIM 有自动输入法转换
everettjf
2016-09-16 14:15:20 +08:00
@mzlogin
@bao3
感谢,有空我再试试哈
tracyone
2016-09-16 14:44:44 +08:00
@everettjf 参考我配置,搜索 fcitx
ashfinal
2016-09-16 15:07:34 +08:00
@mzlogin 关注 mac 下的输入法自动切换很久了,貌似没有现成的方案。有进展通知我呀 : )
mzlogin
2016-09-16 15:34:55 +08:00
@ashfinal 没问题~
yuuko
2016-09-16 17:06:56 +08:00
@mzlogin mac 可以 github 搜索 smartim ,不过和 multi-cursor 插件有冲突,如果 neovim 可以试下我改的 smartIM.nvim
mzlogin
2016-09-16 21:23:21 +08:00
@everettjf
@ashfinal

在 @yuuko 的提示下,找到个感觉还不错的解决方案,参考 https://www.v2ex.com/t/45772

使用插件 smartim 也可以,用那个帖子里 6 楼的配置也行,我现在在 MacVim 里使用 6 楼的配置,只是 ims 改成了 1 ,用起来挺顺手的。

感谢 @yuuko
everettjf
2016-09-16 22:43:06 +08:00
@tracyone
@yuuko 感谢,马上试用试用
ashfinal
2016-09-17 16:14:44 +08:00
@mzlogin 感谢回复!
你说的 6 楼的配置在 MacVim 下工作良好,但是终端 vim 下似乎有问题。
经过一番试用,最后选择了 smartim 插件的方案。非常感谢~
mzlogin
2016-09-17 18:32:46 +08:00
@ashfinal 终端 Vim 下确实没生效,貌似是没有自动切换,不过我一般使用 GUI ,终端下开 Vim 一般就是改改配置文件啥的,所以希望保持始终在英文,这个问题倒是反倒遂了我的意。。。各取所需,怎么顺手怎么来😁😁😁
sfwn
2016-09-21 23:32:11 +08:00
你好楼主,生成的 TOC 好像不能正确跳转呀?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/306546

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX