Belirli bir dosya uzantısı kümesi için modu otomatik olarak nasıl yüklerim?


19

Veya yaml-modeadlı herhangi bir dosyayı yüklemek istiyorum .*.yml*.yaml


7
Oku elisp kılavuzu, düğümAuto Major Mode , ve kendi soruyu cevaplamak mümkün olacaktır: auto-mode-alist. Oh, soruyu gönderdikten 10 saniye sonra bunu yaptığını görüyorum. Kılavuzdan soru ve cevapları bu şekilde pompalamak iyi bir fikir olmayabilir. Ama sanırım bu insanlarda ortaya çıkacak bir soru ve cevap onlara yardımcı olacak. Emacs'ın kendisinden öğrenmek yerine, bu şekilde öğrenecekleri çok kötü. İnsanlara böyle cevapları nasıl bulacağını öğretmek daha iyi, IMO.
Drew

1
Bunu yanıt olarak eklemekte özgürsünüz. Bu soruyu sordum çünkü geçmişte çözdüğüm bir soruydu ve alan51 listesinde önerilen bir soruya çok benziyordu.
b4hand

1
Sorun değil. Negatif geliyorsam özür dilerim. Söylediğim gibi, soru ve cevap insanlara yardım edecek .
Drew

Değer için, bu alan51'deki
b4el

Böyle bir soru sormanın yanlış bir yanı yok. Yorumum ilk başta sadece cümle idi. IMO, insanların önce Emacs'a sorma alışkanlığı edinmesi ve ikinci sırada SE sorma alışkanlığı kazanması iyidir. Emacs, kullanıcılara bu şekilde yardımcı olma konusunda biraz özeldir - ortalama SE konusunuz değildir. Ancak kullanıcıların Emacs'a nasıl soru soracağını öğrenmek için genellikle yardıma ihtiyaçları vardır .
Drew

Yanıtlar:


16

Bu satırları .emacsdosyanıza ekleyin :

(require 'yaml-mode)
(add-to-list 'auto-mode-alist '("\\.ya?ml\\'" . yaml-mode))

Bu auto-mode-alist, yeni bir dosya açıldığında emacs'a danışan bir değişkendir. Dosya adı desenleri ve ana modlar arasında eşlemeler ekleyebilirsiniz.

Emacs'ın belirli bir arabellek için hangi modların yükleneceğini Emacs kılavuzundan nasıl belirlediği hakkında daha fazla bilgi edinebilirsiniz .


4
"\\. ya? ml \\ '" tercih edilen formdur, çünkü gerçekten bir satırsonu değil, dizgenin sonu. Aslında adında yeni bir satıra sahip dosya için bir fark yaratıyor ... 'foo.yaml \ nc' gerçekten bir C dosyası olmalı, bir yaml dosyası değil (evet, bunun gerçekleşmesi pek olası değil, ama yine de)
Sigma

2
Bu bilgilerin verildiği emacs el kitabına da bağlanırsanız yardımcı olur.
Trevoke

Ayrıca, (require 'yaml-mode)mod otomatik olarak yüklendiğinde (neredeyse her zaman böyle) gereksizdir. Doğru dosya uzantısına sahip bir dosyayı açtığınızda kitaplık otomatik olarak yüklenecektir.
shosti

yaml-modeBir paket olarak kurulduğundan beri kesinlikle (require 'yaml-mode)hatta ihtiyacım vardı ; aksi halde, aşağıdaki hatayı görürdünüz: File mode specification error: (void-function yaml-mode).
b4hand
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.