【问题标题】:adding new file type to ultisnips向 ultisnips 添加新文件类型
【发布时间】:2022-03-13 04:21:10
【问题描述】:

我正在尝试添加 cuda (.cu) 文件。基本目标是首先使所有 c,cpp sn-ps 可用于 cu 文件,然后添加额外的支持。我测试的第一件事是在 vim 中设置文件类型

set ft:cpp.c

这行得通。然后我尝试转到vim-snippets/snippetsvim-snippets/UltiSnips,并尝试将cpp.sn-ps文件复制到cu.sn-ps。但这不起作用(不像--未检测到sn-ps--那样起作用--)。我也加了

au BufNewFile,BufRead *.cu set ft=cuda
au BufNewFile,BufRead *.cuh set ft=cuda

在我的 .vimrc 中。即使在此之后它也无法正常工作。

我还检查了UltiSnipsSnippetDirectories。它指向Ultisnips

我还尝试创建一个 cu.sn-ps,它只是尝试扩展 cpp(仅此而已)。这也行不通。

作为一个附带问题:据我所知,https://github.com/honza/vim-snippets 有两个带有 sn-ps 的文件夹。 snippets/* 用于基于 snipmate 的,UltiSnips/* 用于基于 ultisnips 的。但是,inc sn-p 仅在 sn-ps 目录中的 c.sn-ps 上提供(不在 ultisnips 中)。但奇怪的是inc 为我处理c 文件。我很肯定我没有使用 snipmate。这怎么可能发生?我是不是错过了什么。还是ultisnips可以理解这两种格式?

【问题讨论】:

    标签: vim ultisnips


    【解决方案1】:

    Ultisnips 使用 Vim 的文件类型检测系统。所以要查看 Vim 认为你有什么文件类型,请使用 :set filetype? 命令。

    如果不正确,你可以试试

    autocmd BufRead,BufNewFile *.cu setfiletype cuda
    

    另外,我使用了 Vundle,我使用了 call vundle#rc(),但我需要将其更改为 call vundle#begin()call vundle#end()

    【讨论】:

      【解决方案2】:

      我认为,您的插件列表中的某些插件与您的自定义文件类型检测配置冲突。刚遇到同样的问题(试图为 Jest 打字稿测试声明自定义文件类型以进行反应)。我的文件类型设置被peitalin/vim-jsx-typescript 插件覆盖。

      所以你应该关闭一些你安装的cpp插件来检测罪魁祸首。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-02-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-18
        • 2011-12-18
        相关资源
        最近更新 更多