我可以轻松获得 vim 语法高亮显示 CUDA PTX 文件吗?

Can I easily get vim to syntax-highlight CUDA PTX files?

VIM (8.1) 通过 vim81/syntax/cuda.vim 至少在 Debian/Devuan 上支持 CUDA 文件。但是 - PTX 文件没有这样的突出显示。

我的一个想法是尝试从 Godbolt 的代码库中提取一些东西——因为他们确实突出了他们的 PTX 输出。但是我找不到他们的代码库中神奇的地方。

所以 - 除了滚动我自己的语法文件之外,有没有简单的方法来突出显示 vim 中的 PTX 文件?

(根据@talonmies 的建议初步回答。)

PTX officially described有:

an assembly-language style syntax with instruction operation codes and operands

所以它应该与基于 PTX 语法高亮显示在用于汇编的任何内容上没有太大区别。

现在,汇编语言在语法方面有两种流行的变体:AT&T style and Intel-style; PTX 是 AT&T 的风格。这意味着您需要仔细检查您的基本语法是仅 Intel 语法、AT&T 语法还是两者兼而有之。在第一种情况下-寻找其他东西;在第二种情况下,你需要更多的适应,而在第三种情况下,需要少一些。

关注 vim,您将在 /usr/share/vim/vim81/syntax/asm.vim 中找到一个汇编语法文件(确切路径取决于您的安装和当然 vim 版本)。它说“GNU Assembler”,默认语法是 AT&T,所以希望它就是这样。

您需要对其进行修改 - 尽管即使不进行修改,它也可能已经运行良好。所以开始:

cd /usr/share/vim/vim81
cp syntax/asm.vim syntax/ptx.vim

然后使用sed syntax/ptx.vimcurrent_syntax值改为ptx。

最后,在filetype.vim 中,复制加载程序集语法文件的行。请注意,有一个复杂的加载函数需要探索和调整(或删除)。