Markdown 的文章目錄在 Vim 裏的終極解決方案

若是你使用 Vim 編輯 Markdown,並且也爲如何生成和更新文章目錄(Table of Contents)而煩惱,那麼以下的內容將帶你脫離刀耕火種手寫 Toc 的體驗,迴歸使用 Markdown 是爲了專一於內容的初心。git

一言不合先上圖:github

vim-markdown-toc

沒錯下面就要給大家安利圖中演示的這款 Vim 插件了。vim

插件功能

  1. 爲 Markdown 文件生成文章目錄(Table of Contents)。markdown

    目前支持的 Markdown 解析引擎:spa

    • GFM(GitHub Flavored Markdown)插件

    • Redcarpetcode

  2. 更新已經存在的文章目錄。rem

  3. 保存文件時自動更新文章目錄。文檔

下載地址

既然它如此的好,那麼,哪裏能夠下載獲得呢?get

GitHub:https://github.com/mzlogin/vi...

安裝方法

推薦使用 Vundle 來管理 Vim 插件,這樣你就能夠簡單三步完成安裝了:

  1. 在你的 vimrc 文件裏添加以下內容:

    Plugin 'mzlogin/vim-markdown-toc'
  2. :so $MYVIMRC

  3. :PluginInstall

So easy!固然若是是使用 vim-plug 來管理插件的話跟這步驟同樣同樣的。

使用方法

生成文章目錄

將光標移動到你想放置文章目錄的地方,而後運行以下兩個命令之一就行:

:GenTocGFM

生成 GFM 連接風格的文章目錄。

適用於 GitHub 倉庫裏的 Markdown 文件,好比 README.md,還有用於生成 GitBook 電子書的 Markdown 文件。

:GenTocRedcarpet

生成 Redcarpet 連接風格的文章目錄。

適用於使用 Redcarpet 做爲 Markdown 解析引擎的 Jekyll 程序或其它地方。

更新已有目錄

使用 :UpdateToc 命令就行了。

其實按默認的配置,保存文件的時候若是發現以前已經使用插件生成過文章目錄,就會自動更新,什麼都不用作。只有在關閉了自動更新的狀況下,才須要使用命令來更新。

配置選項

推薦的用法是就按默認配置,效果槓槓的。但我知道 Vimer 都是不折騰會死星人,一切可控才舒心。

  1. g:vmt_auto_update_on_save

    默認值:1

    用於控制保存文件時是否自動更新已有文章目錄。

    若是你確確實實想關閉如此方便好用改變人生的功能,那麼在 vimrc 文件里加入以下內容:

    let g:vmt_auto_update_on_save = 0
  2. g:vmt_dont_insert_fence

    默認值:0

    用於控制是否插入文章目錄先後標誌行。

用插件生成文章目錄的時候會在先後插入 <!-- vim-markdown-toc --> 這樣的行,這是爲了實現保存時自動更新文章目錄功能而加入的,使用的是 HTML 的註釋語法,在生成的頁面裏不會看到它們。固然若是你真的不想在源碼裏看到它們,也是可讓插件生成目錄時不插入的,損失就是將沒法實現保存文件時的文章目錄自動更新這種精華功能,可要想好了。

關閉方法,在 vimrc 文件里加入以下內容:

let g:vmt_dont_insert_fence = 1

在線案例

看看這個文章目錄近百行,GitHub 上 Star 過千的文檔項目:

對沒錯它的目錄就是用 vim-markdown-toc 維護的,近百行的文件目錄若是手動維護準確性和便捷性都沒法保證,會痛苦到懷疑人生的。

我使用的與 Markdown 相關的插件

最後附上個人完整 Vim 配置:https://github.com/mzlogin/co...

好了安利結束,但願這個出自我手,我眼中的終極解決方案能改變你的生活,幫你節省一些寶貴的時間。

相關文章
相關標籤/搜索