ファイルローカル変数とディレクトリローカル変数の設定には専用のコマンドが用意されているので、それを使いましょう。
ファイルローカル変数
Emacs のファイルローカル変数はファイル毎に設定を切り替えたいときに便利です。
しかし、ファイルの先頭に書くならまだしも、ファイルの最後書くのはちょっと面倒です。
たとえば、ruby-mode に書く場合は次のようになるでしょう。
# Local Variables:
# yas-use-menu: t
# End:
このように、Local Variables:
と End:
、 さらには各行のコメント、と毎回タイプするのは面倒です。そこで標準で用意されているのが、add-file-local-variable
コマンドです。M-x add-file-local-variable
を実行すると、追加したい変数名と値をミニバッファで尋ねてくるので、それを入力すると上の例のようなファイルローカル変数の設定がバッファに挿入されます。コメントはバッファのメジャーモードに合わせて適切なものが選ばれるので便利です。ファイルローカル変数の書き方を覚えなくてもよいのも便利です。
複数のファイルローカル変数を設定したいときには、add-file-local-variable
を繰り返し実行します。また、設定したファイルローカル変数を削除したいときには、これも専用のコマンド、delete-file-local-variable
が用意されているので、これを使います。
ディレクトリローカル変数
Emacs にはファイルローカル変数だけでなく、ディレクトリのファイル対して有効になるディレクトリローカル変数というのもあります。このファイルは各ディレクトリに .dir-locals.el
という名前で作成し、メジャーモード毎に alist で設定するのですが、こんなの覚えてられません。ディレクトリローカル変数にも設定用に専用のコマンドが用意されているので、それを使いましょう。
- 追加 ...
add-dir-local-variable
- 削除 ...
delete-local-variable
おわりに
ファイルローカル変数とディレクトリローカル変数を設定するためのコマンドを紹介しました。書き方を覚えてしまえば自分でタイプすることもできるのですが、私はそんなの覚えていられないので、コマンドで設定することにします。
- ファイルローカル変数
add-file-local-variable
delete-file-local-variable
- ディレクトリローカル変数
add-dir-local-variable
delete-dir-local-variable