特定のファイル拡張子セットのモードを自動的にロードするにはどうすればよいですか?


17

またはyaml-modeという名前のファイルのをロードしたいと思います。*.yml*.yaml


7
ElispのマニュアルnodeAuto Major Modeを読むと、あなた自身の質問に答えることができます:auto-mode-alistああ、質問を投稿してから10秒後、あなたはそれをしたと思います。この方法でマニュアルからQ&Aをポンプするのは得策ではありません。しかし、私はそれが人々に起こる質問であると思います、そして、答えは彼らを助けるでしょう。残念なことに、Emacs自体から学習するのではなく、この方法で学習します。そのような答えを見つける方法を人々に教える方が良い、IMO。
ドリュー

1
これを回答として自由に追加してください。この質問は、過去に解決したものであり、area51リストで提案された質問と非常に似ていたためです。
b4hand 14年

1
問題ない。ネガティブに聞こえたらごめんなさい。私が言ったように、質問と答え人々助けます。
ドリュー

:それは価値がある、これはarea51の提案の段階で尋ねられた質問と非常によく似ている何のためarea51.stackexchange.com/proposals/76571/emacs/76640#76640
b4hand

そのような質問をすることには何の問題もありません。私のコメントはもともと単なる最初の文でした。IMO、Emacsに最初に尋ね、次にSEに尋ねるという習慣を身に付けるのは良いことです。Emacsはこの方法でユーザーを支援するのに少し特別です-それはあなたの平均的なSEトピックではありません。しかし、ユーザーは多くの場合 Emacs に尋ねる方法を学ぶのに助けが必要です。
ドリュー

回答:


15

これらの行を.emacsファイルに追加します。

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

auto-mode-alist新しいファイルが開かれるたびに相談をemacsの変数です。ファイル名パターンとメジャーモードの間にマッピングを追加できます。

Emacsのマニュアルから、Emacsが特定のバッファーに対してどのモードをロードするかを決定する方法について詳しく知ることができます。


4
「\\。ya?ml \\ '」は、実際には改行ではなく文字列の終わりであるため、推奨される形式です。名前に改行を含むファイルでは、実際に違いが生じます...「foo.yaml \ nc」は、yamlファイルではなく、実際にはCファイルである必要があります(はい、これが起こることはほとんどありませんが、それでも)
シグマ14年

2
また、この情報が記載されているemacsマニュアルにリンクしておくと役立ちます。
14年

また、(require 'yaml-mode)モードが自動ロードされる場合はほとんど不要です(ほとんどの場合)。ライブラリは、正しいファイル拡張子を持つファイルを開くと自動的にロードされます。
shosti 14年

yaml-modeパッケージとしてインストールされたので、私は間違いなく(require 'yaml-mode)行が必要でした。そうしないと、次のエラーが表示されますFile mode specification error: (void-function yaml-mode)
b4hand 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.