【问题标题】:Start C++ syntax highlighting for .cu (CUDA) files为 .cu (CUDA) 文件启动 C++ 语法高亮显示
【发布时间】:2011-12-26 00:38:33
【问题描述】:

我使用 Emacs 作为编辑器。最近,每当我使用 CUDA 文件(通常具有扩展名 .cu)时,我都必须手动执行 M-x c++-mode 以打开语法突出显示和其他 yasn-p 功能。

如何确保所有.cu 文件在EMACS 中启动时自动借用所有C++ 模式功能。换句话说,.cu 扩展成为.cpp 扩展的别名。

(我知道 EMACS 有一个 CUDA 模式,(不是内置的)但是当我安装此模式时,它并没有打开 emacs 的 C++ 模式中存在的许多有用功能)

【问题讨论】:

    标签: emacs


    【解决方案1】:

    将其放入您的 .emacs 应该可以解决问题:

    (add-to-list 'auto-mode-alist '("\\.cu\\'" . c++-mode))
    

    【讨论】:

    • 添加这个为我产生了 lisp-error。有效的是(setq auto-mode-alist (cons '("\\.ipp$" . c++-mode) auto-mode-alist))
    • @NikhilJJoshi:错误信息是什么?也许你的 Emacs 版本没有默认启用add-to-list 功能,虽然我不明白为什么会这样。
    【解决方案2】:

    以防万一人们错过了它;有一个更正式的cuda-mode 可用:http://www.emacswiki.org/emacs/CudaMode

    你需要把它放在你load-path的某个地方;例如在我的 Mac 上,我将代码放在 $HOME/Library/emacs/cuda-mode.el 中,并将以下几行添加到我的 .emacs 文件中。

    (add-to-list 'load-path "~/Library/emacs")
    (autoload 'cuda-mode "cuda-mode.el")
    (add-to-list 'auto-mode-alist '("\\.cu\\'" . cuda-mode))
    

    【讨论】:

    • 为什么是"\\.cu\\'" 而不是"\\.cu$"
    • 因为文件名可以包含换行符,您想匹配“字符串结尾”而不是“行尾”,请参阅emacswiki.org/emacs/AutoModeAlist 了解更多详情
    • 如果你只使用 MELPA 和 list-packages 以上步骤甚至不再需要melpa.org/#
    猜你喜欢
    • 2011-07-01
    • 2013-01-27
    • 1970-01-01
    • 1970-01-01
    • 2011-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多