13

我使用 vim 编辑器(在 Ubuntu 上)。最近,我一直在处理大型 cuda 项目,因此想利用 ctags 实用程序进行代码浏览。exuberant-ctags [here] (http://ctags.sourceforge.net/languages.html) 支持的语言列表尚未包含 CUDA。如果有人知道可以做同样的调整,我将非常感谢您的帮助。

谢谢

编辑1:我找到了以下临时修复。

要为 CUDA 文件创建标签文件,请使用带有以下选项的 ctags(假设您的当前目录包含所有 cuda 文件);

$ctags --langmap=c++:+.cu *

4

4 回答 4

9

由于 CUDA C/C++ 是基于 C++ 的,您可以只使用 C++ 模式。您可以使用添加语言映射--langmap=c++:+.cu

于 2012-04-23T09:45:13.607 回答
5

我不知道 taglist,但如果你使用的是 Tagbar 插件(重做 taglist),你可以在 .vim/autoload/tagbar.vim 中添加以下行:

let s:known_types.cuda = type_cpp

将其放在该行之后:

let s:known_types.cpp = type_cpp

于 2012-09-14T08:53:01.297 回答
2

对于 taglist 拆分窗口,您可以添加以下行

" cu language
let s:tlist_def_cu_settings = 'c++;n:namespace;v:variable;d:macro;t:typedef;' .
                         \ 'c:class;g:enum;s:struct;u:union;f:function'

以下

" c++ language
let s:tlist_def_cpp_settings = 'c++;n:namespace;v:variable;d:macro;t:typedef;' .
                             \ 'c:class;g:enum;s:struct;u:union;f:function'

在 taglist.vim 中

于 2013-04-16T06:06:40.240 回答
1

Universal-ctags( https://ctags.io ) 有内置的 cuda 解析器。

$ ./ctags --list-maps=CUDA
CUDA     *.cu *.cuh
于 2017-01-12T03:36:43.010 回答