5

.emacs文字で始まるファイルがmakefilemakefileモードに設定されるように設定しようとしています。たとえばmakefile-something、makefile モードにする必要があります。

これは機能しません:

(setq auto-mode-alist (cons '("^makefile" . makefile-mode) auto-mode-alist))

しかし、これは:

(setq auto-mode-alist (cons '("makefile" . makefile-mode) auto-mode-alist))

誰でも理由を説明できますか?

4

3 に答える 3

7

ファイル名の前にパスコンポーネントがあるためです。試してください:

"/makefile[^/]*$"

http://www.gnu.org/s/emacs/manual/html_node/elisp/Auto-Major-Mode.html (ページの下部) を参照してください。

EDI: Sean のコメントに従って正規表現を修正

于 2010-11-10T05:17:17.217 に答える
1

したがって、これは経験に基づいた推測にすぎauto-mode-alistませんが、ファイル名の先頭に一致させたい の他の正規表現は を使用せず^、 を使用していることに気付きました/。例えば:

("/\\.?\\(?:gnokiirc\\|kde.*rc\\|mime\\.types\\|wgetrc\\)\\'" . conf-mode)

(Emacs 23.2.1から)それに基づいて、おそらく正規表現はベース名ではなくファイルのフルパス名に適用されると考えています。だから試してみてください

(setq auto-mode-alist (cons '("/makefile" . makefile-mode) auto-mode-alist))

代わりは。

于 2010-11-10T05:14:57.247 に答える
0

便宜上、試してみてください

 (add-to-list 'auto-mode-alist ...
于 2010-11-10T05:17:48.673 に答える