☆ 比較的どうでも良い emacs Tips ☆ ■ .emacs を emacs を起動したまま読み込む方法 .emacs の内容の変更を反映させるためには普通 emacs を 再起動させる必要があるが, 以下のようにすることで 起動したまま設定ファイルの読み込みが出来る. M-x load-file (この後, ファイル名を聞かれるので ~/.emacs を指定する.) ■ .emacsの設定値について Xemacs も使用する場合は (emacsのみを使用)の部分は コメントアウトして使わないように ※コメントアウトは「;」を使用する ・半角/全角 キーで 英語と日本語切替えを行えるようにする 以下の行を書き加える (global-set-key [zenkaku-hankaku] 'canna-toggle-japanese-mode) なお、Windowsから使用した場合は 「半角/全角キー」からの 入力はIMEでストップされるらしく,問題なくIMEでの 日本語変換ができる. ※kinput2 で日本語変換を行っている場合は上の行があると canna と kinput2-canna の2つの変換ツールが 動いてしまうので,コメントアウトしておくこと ・Xemacs の「Option」などで設定を行った場合, .emacs の最下部に設定値が書き込まれる ■ .Xresources の設定値について ・Emacs のフォント設定の行の数値はフォントのサイズである. 変更する時は全て同じ数字にすること ・Xemacs のフォント設定の行は上3行のみ書き換えること ※なお,Xemacsにおける2バイト文字の大きさはこのファイル内での 設定地によって決まっている. そのためXemacsのOption設定で違う大きさのフォントにすると 2バイト文字の大きさと1バイト文字の大きさにずれが生じるので注意 ・画面の色 ここで設定できる色は以下のファイルに書かれている ものしか使えないので注意が必要 /usr/X11R6/lib/X11/rgb.txt ■ emacs, cannaの設定について □ キー設定の書き方 ・キー一つを何かに割り当てる例 (global-set-key [zenkaku-hankaku] 'canna-toggle-japanese-mode) ・Control キーと同時に何かのキーを押した場合に有効になる例 (global-set-key "\C-o" 'canna-toggle-japanese-mode) ・Meta キーと同時に何かのキーを押した場合に有効になる例 (global-set-key "\M-h" 'help-for-help) □ 辞書登録について 1. 辞書登録したい漢字を範囲指定する 2. ESC x canna-touroku-region 3. あとは、対話的に処理できる(読みや、品詞の入力など) ※ kinput2 に関しては, kinput2 を再起動しなきゃダメな時もある? □ canna (kinputでない)で, BackSpaceキーで前の一文字を削除する方法 以下の一行を ~/.emacs に書き込む. (define-key fence-mode-map "\C-h" 'fence-backward-delete-char) □ .emacs をコンパイルする方法 .emacs の容量が大きくなって読み込みに時間がかかるほどになったら, .emacs のコンパイルを行って容量を小さくすると良い. emacs で 「M-x byte-compile-file」とするとファイル名を聞かれるので, .emacs と入力すると, ホームディレクトリに .emacs.elc という コンパイルされたファイルが出力される. emacs は .emacs よりも先に .emacs.elc を読み込むため, .emacs を読み込むより短時間で設定を読み込むことができる. ■ 自動セーブファイルの復帰方法 Xが落ちるなどして, 編集中のファイルが途中で停止され, 自動セーブされている #file.txt# が残っている場合, 以下の手順で自動セーブされている内容を復帰できる. 1. まずは file.txt をemacsで開く. これは当然保存が行われていなかったので, 古いままである. 2. そこで M-x recover-file とする 3. するとファイル名を聞かれるので, file.txt を選ぶ. (#file.txt# ではないことに注意) 4. 読み込んで良いか聞かれるので, yes とすると, 自動セーブされた内容が復帰される. なお, 細かなことは以下のURLを参照のこと http://flex.ee.uec.ac.jp/texi/emacs-jp/emacs-jp_79.html#SEC99 ■ Emacs による文字コード変換 文字コード変換には qkc や nkf プログラムが便利だが, Emacs もまたこの手の文字コード変換はお手のものである. 以下にその方法を記す. Emacs 上で Ctrl-x f を入力すると, 下のメッセージが出る行に Coding system for visited file (default, nil): と出る. ここで euc-japan-unix や sjis-dos (Tab キーで補完可) を入力することであっというまに文字コード変換が可能. 良く使うものを下に挙げる. <文字コード> <設定値> <解説> JIS iso-2022-jp-unix メールの標準 EUC euc-japan-unix UNIX 標準 UNIX用Shift-JIS sjis-unix 文字コードは Shift-JIS 改行コードは LF (UNIX 標準) MS-DOS用Shift-JIS sjis-dos 文字コードは Shift-JIS 改行コードは CR+LF (Win 標準) Macintosh用Shift-JIS sjis-mac 文字コードは Shift-JIS 改行コードは CR (Mac 標準) □ 参考資料 SFC CNS GUIDE 2001 3.3 文字コードの設定 ■ Emacs による タブ⇔空白変換 Emacs ではタブと空白の変換を行なうことができる. 領域を指定し, M-x tabify で領域内の空白をタブに, M-x untabify で領域内のタブを空白に変換する. なお, デフォルトではタブは 空白 8 文字分に相当するが, ~/.emacs で (setq tab-width 4) などとすると, 4 文字分に変更したりすることもできる. ■ 大文字と小文字の変換コマンド M-l ポイントに続く単語を小文字に変換します(downcase-word). M-u ポイントに続く単語を大文字に変換します(upcase-word). M-c ポイントに続く単語を大文字で始めます(capitalize-word). C-x C-l リージョンを小文字にします(downcase-region). C-x C-u リージョンを大文字にします(upcase-region). ◇ 参考 URL GNU Emacs Manual -- テキストの修正用コマンド - 大文字と小文字の変換 http://flex.ee.uec.ac.jp/texi/emacs-jp/emacs-jp_123.html ■ Emacs でカラー印刷 Emacs では font-lock や hilit19 などを用いてカラー表示することが 可能だが, その色付き文書をそのまま印刷 or PS 化することが可能である. 方法は, その文書を開いている時に M-x ps-print-buffer-with-faces とする. /etc/printcap でデフォルトに指定されているプリンタで 文書が印刷される. PS 化する場合は M-x ps-spool-buffer-with-faces とする. するとバッファの *PostScript* に PS ファイルができる. 後は保存するなり, そのまま M-x lpr-buffer するなりして印刷する. ただし, Emacs デフォルトの設定では日本語フォントが印刷 or PS 化 できない. それを解消するには以下の設定を ~/.emacs に書き込む. すると, 日本語が扱えるはずである. (require 'ps-print) (setq ps-print-color-p t ; カラーを使用 ps-multibyte-buffer 'non-latin-printer) ; 日本語使用 他にも, 行数を表示したり, 時刻の表記を詳細にしたり, 文字色の明暗を変更したりすることが可能となる. 詳しくは ~/.emacs を参照のこと. ■ 参考ページ Meadow/Emacs memo http://www.bookshelf.jp/soft/meadow.html Programming Emacs Lisp http://www.math.s.chiba-u.ac.jp/~matsu/lisp/emacs-lisp-intro-jp.html 優しい Emacs-Lisp 講座 メジャー・モードを作ろう http://www.gentei.org/~yuuji/elisp/elisplec.html Emacs をわたし色に染めて♪ (優) http://www.ht.sakura.ne.jp/~delmonta/emacs/ Emacs クイックリファレンス (優) http://www.unixuser.org/~euske/doc/emacsref/ ※ とりあえず, emacs のショートカットキーについて知りたいならこれ マクロを自動登録する emacs プログラム http://www.csl.sony.co.jp/person/masui/papers/JSSSTDmacro/JSSSTDmacro.html mule の基本的な使い方 http://nile.ulis.ac.jp/2kou/docs/mule.html GNU Emacs Lisp Reference Manual http://flex.ee.uec.ac.jp/texi/eljman/eljman_toc.html GNU Emacs Manual http://flex.ee.uec.ac.jp/texi/emacs-jp/emacs-jp_toc.html