emacs で、今開いているファイルのエンコーディングを表示したいと考えました。
(emacs がそのファイルの読み取りの際に利用したエンコーディング)
これは、どうやったら実現できますでしょうか?
3 件の回答
さらに別解として、describe-coding-systemならデフォルトでC-h Cに割り当てられているのでお手軽です。Describe coding system:というプロンプトで空Enterすると、上記のdescribe-current-coding-systemが実行されます。
M-x describe-current-coding-system はどうでしょうか。
現在開いているバッファのエンコーディングなど、Emacsが関わるエンコーディング設定を*Help*バッファに一覧表示します。
また、デフォルトではモードライン左端に現在の文字コード(と改行コード)が表示されています。これを確認するのが手っ取り早いかと思います。
-undecided (ascii)=no-conversion (binary)Sshift_jisEeuc-jpJiso-2022Uutf-8
試しに<help> hでHELLOファイルを開くとスクリーンショットのように表示されます。
オイラんちの emacs-23.3.1 (i386-mingw-nt5.1.2600) では
(describe-variable 'buffer-file-coding-system)
でいけたっぽいです。
オイラの作った C# プロジェクトのソースファイルをテキトーに開いた結果、
デザイナが自動で作る Resources.ja-JP.resx に対しては utf-8-with-signature-dos とか
cp932 で書いた Program.cs に対しては japanese-shift-jis-dos とか
が観測されました。
キー操作なら M-x describe-variable の後 buffer-file-coding-system っすね。