NTEmacsでファイルを編集している限り,よく使う文字コードは,shift_jis-dos, utf-8-unix, utf-8-dosの3つです.デフォルトはshift_jis-dosにしています.utf-8-unixはRubyスクリプトなど,CygwinやLinuxで実行したりファイル加工したりするのに適しています.utf-8-dosで保存したテキストファイルは,Windowsでダブルクリックして問題なく読めるというメリットがあります.
バッファの文字コードを切り替えるには,C-x RET fなのですが個人的にはC-x C-m f*1として,それでその文字コードを打ち込んでRETです.文字コードの入力の際に補完できるとはいえ,少々面倒です.
関数を定義して,キーに割り付けました.
(defun set-bfcs-uu () "set utf-8-unix" (interactive) (set-buffer-file-coding-system 'utf-8-unix)) (global-set-key (kbd "C-x RET u") 'set-bfcs-uu) (global-set-key (kbd "C-x RET C-u") 'set-bfcs-uu) (defun set-bfcs-ud () "set utf-8-dos" (interactive) (set-buffer-file-coding-system 'utf-8-dos)) (global-set-key (kbd "C-x RET d") 'set-bfcs-ud) (global-set-key (kbd "C-x RET C-d") 'set-bfcs-ud) (defun set-bfcs-sd () "set shift_jis-dos" (interactive) (set-buffer-file-coding-system 'shift_jis-dos)) (global-set-key (kbd "C-x RET s") 'set-bfcs-sd) (global-set-key (kbd "C-x RET C-s") 'set-bfcs-sd) (global-set-key (kbd "C-x RET C-f") 'set-buffer-file-coding-system)
キーとしてどんな値を設定したらいいかについては,Emacs: How to Define Keysが役に立ちました.
global-set-keyが少々多めなのは,例えばutf-8-unixにしたいときに,Ctrlを押しながら,X, M, Uの順に押せばいいじゃないかと思ったからです.快適です.
*1:「Ctrlを押しながらXを押して,ともに離して,Enterを押して,それからFを押す」と「Ctrlを押しながら,XとMの順に押して,離して,それからFを押す」の違いです.まあ大差ないでしょう.