vim - 为 Markdown 创建 ctags 扩展

标签 vim markdown ctags

这些天我使用 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/

:tselect /<CR>

作为替代方案,您可能对这些更便宜的内置解决方案感兴趣……
  • 使用 define选项和 :dlist :
    :setlocal define=^#\\s*
    :dli /<CR>
    
  • 使用 :ilist并且没有设置:
    :il /#<CR>
    

  • 两者都生成相同的列表,您可以输入 :126<CR> :

    :il /#<CR>

    :help :ilist , :help :dlist , :help 'define' .

    关于vim - 为 Markdown 创建 ctags 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25742396/

    相关文章:

    python - 如何检测哪些快捷键映射到 Vim 中的特定命令?

    python - Markdown强调-重新代入

    text - 如何在pandoc中为每个组成文件分别重新定义-top-level-division?

    vim - ctags,使用多个路径生成标签?

    r - 是否有相当于 ctags 或 cscope 的工具可以使用 ESS 模式在 R 中浏览 R 代码?

    ctags 仅适用于 c99

    search - 来自脚本的 Vim 搜索和高亮控制

    Vim 窗口反复调整大小

    c - vim clang_complete debian 不工作 - 如何正确安装它?

    angular - 如何在 typescript 中导入 Markdown (.md)文件