全部,
我希望能够使用带有markdown2tag的Vim Tagbar插件来导航我的markdown文件。
我无法自动生成标记文件,因为文件类型,每个:set filetype?
当前设置为pandoc
。这是因为我安装了vim-pandoc插件。但是,如果我将过滤器类型更改为markdown
,则一切正常。
我可以控制两个项目:~/.vimrc
文件和~/.ctags
文件。有人知道应该如何设置吗?在下面的摘录中,我尝试将markdown更改为pandoc,但无济于事。
编辑:根据@IngoKarkat的评论,因为markdown2ctags
正在处理我的tags
文件的创建,所以.ctags
设置无关紧要。
从我的~/.vimrc
文件。。。(根据降价文件的标签栏说明设置(
let g:tagbar_type_markdown = {
'ctagstype': 'markdown',
'ctagsbin' : '~/.vim/plugged/markdown2ctags/markdown2ctags.py',
'ctagsargs' : '-f - --sort=yes --sro=»',
'kinds' : [
's:sections',
'i:images'
],
'sro' : '»',
'kind2scope' : {
's' : 'section',
},
'sort': 0
}
和我的~/.ctags
文件(编辑:未使用,但仍包含(
--langdef=markdown
--langmap=markdown:.mkd
--regex-markdown=/^#[ t]+(.*)/1/h,Heading_L1/
--regex-markdown=/^##[ t]+(.*)/1/i,Heading_L2/
--regex-markdown=/^###[ t]+(.*)/1/k,Heading_L3/
谢谢,
Sean
我找到了一些解决问题的方法。我在这里列出了它们,以防有人发现它们有用。
解决方案1:将pandoc
文件类型重新定义为markdown
文件类型
我查看了vim-pandoc
pandoc.txt文件,解决方案就在那里。相关信息:
To enable pandoc functionality for markdown files while using the markdown
filetype and syntax, use
>
let g:pandoc#filetypes#handled = ["pandoc", "markdown"]
let g:pandoc#filetypes#pandoc_markdown = 0
Note: vim-pandoc's developers mostly use pandoc's markdown syntax, so
coverage for it is more complete than for the other filetypes.
现在正确设置了文件类型,一切正常。~/.vimrc
应该是(适当替换您自己的ctagsbin
路径(:
let g:pandoc#filetypes#handled = ["pandoc", "markdown"]
let g:pandoc#filetypes#pandoc_markdown = 0
let g:tagbar_type_markdown = {
'ctagstype': 'markdown',
'ctagsbin' : '~/.vim/plugged/markdown2ctags/markdown2ctags.py',
'ctagsargs' : '-f - --sort=yes --sro=»',
'kinds' : [
's:sections',
'i:images'
],
'sro' : '»',
'kind2scope' : {
's' : 'section',
},
'sort': 0
}
解决方案2:定义新的pandoc
标签栏类型
将以下内容添加到您的~/.vimrc
let g:tagbar_type_pandoc = {
'ctagstype': 'pandoc',
'ctagsbin' : '~/.vim/plugged/markdown2ctags/markdown2ctags.py',
'ctagsargs' : '-f - --sort=yes --sro=»',
'kinds' : [
's:sections',
'i:images'
],
'sro' : '»',
'kind2scope' : {
's' : 'section',
},
'sort': 0
}
一切都应该正常!这是我的首选解决方案。
解决方案3:使用内置的pandoc
:TOC
命令
vim-pandoc
:TOC
命令生成一个导航菜单,但是,我不喜欢它以及侧边栏标签栏菜单。但它是一个内置的默认值。