Vim下markdown TOC解決方案
阿新 • • 發佈:2019-01-09
對於喜歡用Vim書寫或者瀏覽markdown格式的文件的人來說,可能或多或少的都希望Vim能有TOC(Table of Contents)功能,目前有兩種解決方案,一種是使用mzlogin開發的vim-markdown-toc
外掛,另外是用tagbar
,下面分別介紹
vim-markdown-toc是一款同時支援GFM
和Redcarpet
兩種TOC連結風格的Table of Contents自動生成外掛,使用方法如下:將游標移動到想在後面插入Table of Contents的那一行,然後執行下面的某個命令:GenTocGFM
生成 GFM 連結風格的 Table of Contents,適用於GitHub
GitBook
的Markdown檔案。如果使用:GenTocRedcarpet
命令,則生成Redcarpet連結風格的Table of Contents,適用於使用Redcarpet作為Markdown引擎的Jekyll
專案或其它地方。此外,它還能在儲存檔案時自動更新TOC,更多內容可以到作者的部落格上了解 另外一種方案是用markdown2ctags生成tags,然後再用tagbar進行瀏覽。具體的操作如下:首先從Github下載markdown2ctags.py,然後複製到
~/.vim
目錄下,最後在vimrc中寫入
"在tagbar中新增markdown支援
let g:tagbar_type_markdown = {
\ 'ctagstype' : 'markdown',
\ 'ctagsbin' : '~/.vim/markdown2ctags.py',
\ 'ctagsargs' : '-f - --sort=yes',
\ 'kinds' : [
\ 's:sections',
\ 'i:images'
\ ],
\ 'sro' : '|',
\ 'kind2scope' : {
\ 's' : 'section',
\ },
\ 'sort': 0,
\ }
需要特別注意的是,g:tagbar_type_markdown
‘ctagstype’: ‘markdown’
這兩個地方需要和你的vim所識別的markdown格式匹配。檢測自己的vim所識別的markdown的格式的方式是在vim中輸入:set filetype?
,所顯示的 filetype= 後面的內容如果不是markdown,則需要用來替換上面兩個地方。