这些天我使用 Vim 编辑了很多 Markdown 文件。我缺少的一件事是基于 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
我做的有什么问题?
最佳答案
你的定义看起来不错。
你用什么命令来生成你的 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'
.
关于vim - 为 Markdown 创建 ctags 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25742396/