2011-12-26 19 views
15

मैं Emacs को एक संपादक के रूप में उपयोग करता हूं। देर से जब भी मैं CUDA फ़ाइलों का उपयोग करता हूं (जिसमें आमतौर पर .cu एक्सटेंशन होते हैं) मुझे सिंटैक्स हाइलाइटिंग और अन्य yasnippet सुविधाओं को चालू करने के लिए मैन्युअल रूप से M-x c++-mode करना होगा।.cu (CUDA) फ़ाइलों के लिए प्रारंभ C++ वाक्यविन्यास प्रारंभ करें

मैं यह कैसे सुनिश्चित करूं कि ईएमएसीएस में शुरू होने पर सभी .cu फ़ाइलें स्वचालित रूप से सभी सी ++ मोड सुविधाओं को उधार लेती हैं। दूसरे शब्दों में .cu एक्सटेंशन .cpp एक्सटेंशन के लिए उपनाम बन जाता है।

(मैं जानता हूँ कि Emacs के लिए एक CUDA मोड, (इनबिल्ट नहीं) है लेकिन जब मैं इस विधा स्थापित यह सी में मौजूद उपयोगी सुविधाओं ++ के कई चालू नहीं करता है - Emacs की विधा) इस लाना

उत्तर

29

अपने .emacs में चाल चलाना चाहिए:

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

मेरे लिए इस उत्पादित लिस्पी-त्रुटि को जोड़ना। क्या काम किया गया है '(सेटक ऑटो-मोड-एलीस्ट (विपक्ष' ("\\। Ipp $"। सी ++ - मोड) ऑटो-मोड-एलीस्ट)) –

+0

@ निखिलजोजोशी: त्रुटि संदेश क्या था? हो सकता है कि Emacs के आपके संस्करण में डिफ़ॉल्ट रूप से 'एड-टू-लिस्ट' फ़ंक्शन सक्षम नहीं है, हालांकि मुझे नहीं लगता कि यह मामला क्यों होगा। –

7

बस अगर लोगों ने इसे याद किया है; थोड़ा और अधिक आधिकारिक cuda-mode उपलब्ध है: http://www.emacswiki.org/emacs/CudaMode

आपको इसे अपने load-path में कहीं भी रखना होगा; उदाहरण के लिए मेरे मैक पर, मैंने कोड को $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)) 
+0

'\\। Cu \\ '" '\\। Cu $" '' के बजाय '" \\। Cu \\' "क्यों है? – Dan

+2

क्योंकि फाइल नामों में न्यूलाइन अक्षरों को शामिल किया जा सकता है, जिन्हें आप "स्ट्रिंग के अंत" से मेल नहीं करना चाहते हैं, "लाइन के अंत" नहीं, अधिक जानकारी के लिए http://www.emacswiki.org/emacs/AutoModeAlist देखें –

+0

यदि आप केवल एमईएलपीए और सूची-पैकेज का उपयोग करते हैं उपर्युक्त चरण अब और भी आवश्यक नहीं हैं http://melpa.org/#/ –

संबंधित मुद्दे