参考:rust-cpp
emacs / spacemacs可以在主模式下支持嵌套模式吗?我曾经习惯于对emacs / spacemacs进行vim和new。
答案 0 :(得分:7)
您可以访问wiki列出一些解决方案,以便同时运行多种主要模式:
在您的情况下,您需要运行2种主要模式才能在同一缓冲区中识别C ++和Rust:
c++-mode
(默认情况下可用)rust-mode
mmm-mode
我想您的Emacs中已经配置了Rust环境。在Rust主模式运行时,以下内容将添加c++-mode
。在您的Emacs配置文件中,添加以下代码段:
(require 'mmm-mode)
(setq mmm-global-mode 'maybe)
(mmm-add-classes
'((rust-cpp ; Name of the mmm class
:submode c++-mode ; Additional major mode, here it is C++
:front "^cpp! {[\n\r]+" ; Start tag for c++-mode
:back "^}$"))) ; Stop tag for c++-mode
(mmm-add-mode-ext-class 'rust-mode nil 'rust-cpp)
在Rust代码中,当出现以下模式时,c++-mode
将被激活:
cpp! {
// your C++ code...
}
我会让你对正则表达式进行微调,因为在混合使用Rust和C ++时我不知道rust-cpp
的规则。