如何在Vim中为CUDA的.cu和.cuh文件启用语法高亮?

15
我发现我的~/.vimrc文件有syntax on,但它在任何CUDA文件(.cu)上都不起作用。 不确定该怎么做。
4个回答

18

将以下两行代码添加到 ~/.vimrc 文件中:

au BufNewFile,BufRead *.cu set ft=cuda
au BufNewFile,BufRead *.cuh set ft=cuda
cuda.vim 放在 ~/.vim/syntax/ 中,
祝你玩得愉快!

11

看起来你可能缺少vim的语法高亮文件。你应该检查你的/usr/share/vim/vim70/syntax目录下是否有cuda.vim文件。这个目录会根据你的系统和vim版本而有所不同。

如果你的vim版本没有cuda.vim,你可以下载这个cuda.vim文件并放在~/.vim/syntax/目录下。

更新:如@BenjiWiebe建议,在你的~/.vimrc文件中添加以下行:

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

谢谢!但是我没有sudo权限。有什么解决办法吗? - Hailiang Zhang
2
按照@BenjiWiebe的建议,在您的主目录中创建一个名为“.vim”的目录,并将文件放在那里。Vim应该搜索并使用它。他的答案可能是最好的选择。 - Emo Mosley
1
最近版本的vim确实包含了cuda.vim文件。因此无需手动下载。 - Gerhard Burger
命名空间缺失。 - Chris

3
那这个怎么样?点击链接
cd /usr/share/vim/vim*/syntax
sudo cp cpp.vim cu.vim
echo "au BufNewFile,BufRead *.cu set ft=cu" >> ~/.vimrc

1
这也应该可以工作,但它使用的是C++高亮显示(而不是“真正”的CUDA高亮显示)。 - BenjiWiebe

1

自从最初提出这个问题以来已经很长时间了,但我发现自己几乎遇到相同的问题,并且无法通过遵循之前的答案来解决。

在我的情况下,vim会自动突出显示.cu文件(我正在使用vim 80,在/usr/share/vim/vim80/syntax/中已经有cuda.vim),但忽略.cuh文件。为了解决这个问题,我编辑了/usr/share/vim/vim80/filetype.vim并添加了以下内容:

au BufNewFile,BufRead *.cuh         setf cuda

就是这样了!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接