这些天我使用Vim编辑了很多降价文件。我遗漏的一件事是基于ctags的C语言中的函数列表等文件的映射。所以我提出了以下.ctags文件
--langdef=markdown
--langmap=markdown:.md
--regex-markdown=/^# ([a-zA-Z0-9]+)/\1/
它运行正常但不会为我的.md文件生成有效标记。打开详细模式后,我得到以下信息:
Considering option file /home/wenliang/.ctags: reading...
Option: --langdef=markdown
Option: --langmap=markdown:.md
Setting markdown language map: .md
Option: --regex-markdown=/^# ([a-zA-Z0-9]+)/\1/
Considering option file ./.ctags: not found
我做了什么错了?
答案 0 :(得分:4)
您的定义看起来不错。
您使用什么命令生成tags
文件?除了$ ctags .
之外,$ ctags -R .
不会为任何内容编制索引。
FWIW,这里是您定义的略微修改版本,提供有意义的标记名称和种类信息:
--langdef=markdown
--langmap=markdown:.md
--regex-markdown=/^#[ \t](.*$)/\1/h,heading,headings/
作为替代方案,您可能对这些更便宜的内置解决方案感兴趣......
使用define
选项和:dlist
:
:setlocal define=^#\\s*
:dli /<CR>
使用:ilist
并且没有设置:
:il /#<CR>
两者都生成相同的列表,您可以输入:126<CR>
:
请参阅:help :ilist
,:help :dlist
,:help 'define'
。