2011-12-26 11 views
15

Używam Emacsa jako edytora. Późno, kiedy używam plików CUDA (które zwykle mają rozszerzenia .cu) muszę ręcznie zrobić M-x c++-mode, aby włączyć podświetlanie składni i inne funkcje Yasnippet.Rozpocznij podświetlanie składni C++ dla plików .cu (CUDA)

Jak to zrobić? Upewnij się, że wszystkie pliki .cu po uruchomieniu w systemie EMACS automatycznie pożyczają wszystkie funkcje trybu C++. Innymi słowy rozszerzenie .cu staje się aliasem dla rozszerzenia .cpp.

(wiem, że jest to tryb CUDA dla Emacs (nie wbudowany), ale po zainstalowaniu tego trybu nie włączyć wiele przydatnych funkcji obecnych w C++ - tryb emacs)

Odpowiedz

29

wprowadzenie tego do twojego .emacs powinno załatwić sprawę:

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

Dodanie do tego wygenerowanego błędu seplenienia dla mnie. To, co zadziałało, to '(setq auto-mode-alist (cons '(" \\. Ipp $ ". C++ - mode) auto-mode-alist))' –

+0

@NikhilJJoshi: Jaki był komunikat o błędzie? Może twoja wersja Emacsa nie ma domyślnie włączonej funkcji "dodaj do listy", chociaż nie rozumiem, dlaczego tak się stało. –

7

Na wszelki wypadek, gdy ktoś go przegapił; jest nieco bardziej oficjalny cuda-mode dostępny: http://www.emacswiki.org/emacs/CudaMode

Musisz umieścić go gdzieś w swoim load-path; na przykład na moim Macu, umieściłem kod w $HOME/Library/emacs/cuda-mode.el i dodałem następujące linie do mojego pliku .emacs.

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

Dlaczego jest '" \\. Cu \\ '"' zamiast '" \\. Cu $ ​​"'? – Dan

+2

, ponieważ nazwy plików mogą zawierać znaki nowej linii, które chcesz dopasować do "końca ciągu", a nie "końca wiersza", zobacz http://www.emacswiki.org/emacs/AutoModeAlist, aby uzyskać więcej szczegółów. –

+0

Jeśli używasz tylko MELPA i list-pakietów powyższe kroki nie są już konieczne, http://melpa.org/#/ –

Powiązane problemy