我可以轻松获得 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.vim
将current_syntax
值改为ptx。
最后,在filetype.vim
中,复制加载程序集语法文件的行。请注意,有一个复杂的加载函数需要探索和调整(或删除)。
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.vim
将current_syntax
值改为ptx。
最后,在filetype.vim
中,复制加载程序集语法文件的行。请注意,有一个复杂的加载函数需要探索和调整(或删除)。