C++ modunda .h dosyaları açmak için _emacs (Windows) dosyama hangi satırları eklemeliyim? Varsayılan C modudur.C++ modunda .h dosyasını açmak için nasıl emacs söylenir?
cevap
bu deneyin:
(add-to-list 'auto-mode-alist '("\\.h\\'" . c++-mode))
dosyaları .h açtığınızda, C++ - modu kullanılacaktır.
Yemin ederim Bu soruyu uygun bir şekilde cevaplandı mı gördüm? Tuhaf. bunu her .h dosyasına uygulamak istemiyorsanız
(add-to-list 'auto-mode-alist '("\\.h\\'" . c++-mode))
Yaptınız ... yazar silindi. –
, size C++ başlık dosyaları altına aşağıdaki ekleyebilirsiniz:
Bunu istiyorsun.// Local Variables:
// mode: c++
// End:
Bu, dosya bazında ayarlamak istediğiniz tüm Emacs değişkenleri için çalışacaktır. Emacs, önde gelen karakterleri yok sayar, bu nedenle dosya türü için uygun olan tüm yorum karakterlerini kullanın. Hem C ve C++ düzenli olarak kullandığınız yana
Teşekkürler, bunu emacs ile yapabileceğinizi bilmiyordum. – kujawk
Hiç dosyada çalıştığını bilmiyordum. Bu çok yararlı olabilir. Teşekkürler :) –
, denemek ve bir .h dosyası C olması gerekiyordu ya olup olmadığını "tahmin" için bu fonksiyonu yazdım C++
;; function decides whether .h file is C or C++ header, sets C++ by
;; default because there's more chance of there being a .h without a
;; .cc than a .h without a .c (ie. for C++ template files)
(defun c-c++-header()
"sets either c-mode or c++-mode, whichever is appropriate for
header"
(interactive)
(let ((c-file (concat (substring (buffer-file-name) 0 -1) "c")))
(if (file-exists-p c-file)
(c-mode)
(c++-mode))))
(add-to-list 'auto-mode-alist '("\\.h\\'" . c-c++-header))
Ve bu ben işe yaramazsa
bir başlık C veya C++ ama benim için çalışıp çalışmadığını C ve C arasında geçiş yapmak için bir anahtar set ++ modları;; and if that doesn't work, a function to toggle between c-mode and
;; c++-mode
(defun c-c++-toggle()
"toggles between c-mode and c++-mode"
(interactive)
(cond ((string= major-mode "c-mode")
(c++-mode))
((string= major-mode "c++-mode")
(c-mode))))
mükemmel değil, karar vermek için daha iyi bir sezgisel olabilir.
Dosyadaki modu kodlamak için daha iyi bir çözüm olabilir (cevabıma bakın) ve daha sonra uygun satırları dosyaya eklemek için anahtarları tanımlayın. Tek dezavantajı, emacs kullanmayanların da bunu görmesidir, fakat dosyanın alt kısmında bir sorun olmamalıdır. – KeithB
Bu sizin kendi projeleriniz için uygun, ancak çözümüm esas olarak diğer insanların projeleriyle ilgileniyor. Yerel değişkenlerinizi üçüncü taraf bir projede başlıkları sonuna kadar kandırabilirsiniz, ancak bu çok fazla IMO denemesidir. – Borbus
Aslında bu çözümü çok beğendim, herhangi bir kaynak dosyayı değiştirmeden davranışı özelleştirmeyi kolaylaştırır. Örneğin, benim sürümümde, bir .h dosyasının C++ olup olmadığını (llvm bir C++ projesidir) belirlemek için '(string-match" llvm "(buffer-file-name))' gibi şeyler kullanırım. – zdav
C modu ve C++ kipini uygun şekilde kullanmak için başka bir yaklaşım, modu ayarlamak için directory local variables kullanmaktır.
((c-mode . ((mode . c++))))
Ve Emacs c++-mode
zaman bunu moduna değişecektir: mod ayarlandıktan sonra C++ proje bu barındırması nedeniyle aslında bir .dir-locals.el
dosyası yazmak böylece
Dizin değişkenler, değerlendirilir başlangıçta c-mode
'a ayarlamıştı.
C ve C++ projelerinin bir karışımı ile çalışıyorsanız, bu proje başına oldukça basit bir çözüm sağlar.
Tabii ki, projelerinizin çoğunluğu C++ ise, C++ kipini varsayılan olarak olarak ayarlayabilir ve bu yaklaşımı, uygun olduğunda c moduna geçmek için tersine kullanabilirsiniz.
normal-mode
aramalar (set-auto-mode)
ve bu sırayla (hack-local-variables)
., How can I access directory-local variables in my major mode hooks?
Bunu yapmak için varsayılan olarak C++ modunda .h
dosyalarınızı açmanın .emacs
dosyaya
(add-to-list 'auto-mode-alist '("\\.h\\'" . c++-mode))
ekleyin: Ayrıca bkz.
Bu en yararlı cevaptır. Ayrıca, 'mode' dosya yerel değişken listelerinde özel bir form olup olmadığına dikkat edin ve yalnızca burada [http://www.gnu.org/software/emacs/manual/html_node/emacs/Specifying-File-Variables html). – scry
Dipnotu (2) ekledim, böylece cevabınız kendi kendine yeterli ve başkalarına bağımlı değil. Şimdi kabul edilen cevap olmalı. Teşekkürler. – YSC
Bu çözüm, C++ - modunun .glsl dosyaları için de kullanılmasına neden olur. Bunun yerine glsl modunu zorlamak için herhangi bir yolu var mı? – jco
Görünüşe da dosyanın üstündeki bu koyabilirsiniz:
// -*-c++-*-
bir C++ dosya var Emacs anlatmak için.
Oldukça sık bir vanilya Emacs ile sonuçlandığından ve herhangi bir şekilde Emacs yapılandırmadan çalıştığı için bunu kullanıyorum.
Veya ayrıca: '// - * - mod: C++ - * -'. Orada da diğer değişkenleri ekleyebilirsiniz - '- * - kodlama: utf-8; mod: python; sekme genişliği: 4; - * - ' – donkopotamus
- 1. Veri modunda PDF olarak org dosyasını dışa aktarma Emacs
- 2. Ido modunda (Emacs) sürücü harfini nasıl değiştiririm?
- 3. otomatik tekabül .cc dosyasını açarken otomatik olarak .h gelen prototip fonksiyonları eklemek için emacs yapılandırmak nasıl Emacs
- 4. Emacs diff modunda vurgulama nasıl yapılandırılır?
- 5. Emacs, .bashrc dosyasını nasıl kullanır?
- 6. Emacs org modunda ISO aktarımı?
- 7. VBA Kod dosyasını açmak için kod
- 8. Emacs yakut modlu girinti davranış metin modunda
- 9. Emacs org-mode'da htmlize.el proje yayıncılığı için nasıl çalışır?
- 10. Uzak dizini Emacs Tramp Modunda yenileme
- 11. Eclipse davran .h dosyasını C++ olarak mı yapıyorsunuz?
- 12. Emacs: doğrudan Python modunda Cı-C, C-C gibi, mevcut tampon maddesi içinde bir kabuk çalıştırmak için bir yol arıyordu Emacs sh-modunda
- 13. Bir uygulamayı tam ekran modunda açmak için başvuru yapın.
- 14. .emacs Her Zaman Emacs'i Terminal Modunda Başlatmak için Düzenle?
- 15. Kaynak kodunu bir koddan Emacs org modunda
- 16. C# modu için Emacs hız çubuğunu nasıl yapılandırabilirim?
- 17. Uzak sunucuda grafik modunda emacs çalıştırılıyor
- 18. C simgesi için menü simgesini açmak için tek tıkla C#
- 19. Emacs: psvn.el dosyasını nereye yerleştirelim?
- 20. Emacs, inferior-haskell-load dosya çağrısı olan haskell-modunda kilitleniyor
- 21. Dosya açmak için kimlik bilgileri nasıl sunulur?
- 22. glibc kullanıldığında nasıl söylenir
- 23. Kaçış html'ye nasıl söylenir?
- 24. Emacs lisp'de açmak istemediğim bir dosyaya nasıl bir dize ekleyebilirim?
- 25. IDO modunda dizin (dosya değil) nasıl seçilir, emacs-24
- 26. OpenMP çalışıyorsa nasıl söylenir?
- 27. SBT'nin yönetilen eserleri çözümlemesi için nasıl söylenir
- 28. writeToFile tamamlandığında nasıl söylenir
- 29. RSpec'te "should_receive" nasıl söylenir?
- 30. Vim'in Komut Modunda Gezinme
Çalıştı. Çok teşekkürler. – kujawk