Emacsのファイルローカル変数

ファイル名に関係なく編集モードを指定したり、ファイル内でのみ有効なローカル変数値を指定するための機能。今までは「方法1: ファイルの1行目に記述」でやってたんだけど、複数の変数を指定したときの行あふれが気になっていたので、改めて調べてみた。
参考: File-local Variables in Emacs

方法1: ファイルの1行目に記述

ファイル1行目にコメントとして変数を定義する。
org-modeならこんな感じ。

# -*- mode: Org; truncate-lines: t -*-

c-modeならこんな感じ。

/* -*- truncate-lines: t -*- */

必ず1行で表記しなければならないことに注意。どんなに数多くの変数を設定したくても、1行にまとめなければならない。
なお、

#! /bin/sh

などは無視されるので、その下に書けばよい。

方法2: ローカル変数セクション

ファイル末尾にローカル変数セクションを定義する。
org-modeならこんな感じ。

# Local Variables:
# mode: Org
# truncate-lines: t
# End:

c-modeならこんな感じ。

/* Local Variables: */
/* mode: c */
/* truncate-lines: t */
/* End: */