LoginSignup
2
3

More than 5 years have passed since last update.

ファイルローカル変数とディレクトリローカル変数を追加する。

Posted at

ファイルローカル変数とディレクトリローカル変数の設定には専用のコマンドが用意されているので、それを使いましょう。

ファイルローカル変数

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
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3