HOME / コンピュータTips / emacs
滅多に使わない機能なので忘れがちなものを書いてあります。
コンパイル †
私は通常、ソフトはなるべくパッケージで入れるのですが *1、 emacsに関してはどうしても22が先取りで使いたい理由があって、 手でコンパイルしています。
理由は、
- 新しい言語(phpなど)にも、デフォルトでそれっぽく対応してる。
- UNICODEにも、何もせず対応
Emacsは21が長すぎたので、各種パッケージが22系になることを切に願います。
下記のあたりから、emacs22のソースコードをダウンロード
ふつうに展開。
configureを設定するが、ローカル流儀的に、srcからコンパイルしたときは、 後日、そのディレクトリを発掘したときに、configureオプションがわかるように、 必ずコンパイルディレクトリとconfigureスクリプトを残すことにしている。
cat > BUILD.sh ./configure \ --prefix=/usr/local \ --libdir=/usr/sfw/lib \ --with-xim \ --with-x make -j4 bootstrap
Forte Cだと、うちのSXDE Nevada 69だと、Xの時に微妙な動作をしたので、 とりあえず、gccにしました。SPARCじゃぁないので、そんなにパフォーマンス劣化はないだろうということで・・・・。チャレンジャーは
--without-gcc
をつけるとよいでしょう。
コンパイルが終わったらrootになり、
make install
実行時は、LD_LIBRARY_PATHに、/usr/sfw/libが含まれているか、確認してください。
指定したコーディングでファイルを読み込む †
C-x RET c コーディング名<RET> C-x C-f ファイル名
現在のコーディングから変えてセーブしたいとき †
M-x set-buffer-file-coding-system<RET> コーディング名
このあとセーブしないとだめですね。
インデント幅を変える †
変数c-basic-offsetに好きな数字を入れる。(set-variableを利用)
インデントにタブを含めない †
変数indent-tabs-modeにnilを入れる。
自動保存のファイルからファイルを復元する †
emacsでは自動保存されたファイルは#〜#という名前で保存されている。
この自動保存ファイルが保存されたファイルを開くと、
XXXXXX has auto save data; consider M-x recover-this-file
のようなメッセージが表示される。
そこで、書いてあるとおり、
M-x recocer-this-file
で復元は可能。
ただ、このメッセージは自動保存ファイルがあるだけで出てくるため、 何かしらの理由(たとえばマシンがハングアップした後に、ファイルを別のところで編集してコピーしたなど・・・・)で、自動保存ファイルと元のファイルに ブランチが出来ていることもあるので注意。
consider、よく考えて・・・と書いてあるので、細心の注意をしたい。
自動保存のタイミングをチューニングする。 †
自動保存は、いくらかキー入力をした後放置するか、 ある程度のタイミングで定期的にセーブしている。
これらの変数は、下記の通りである。
| 変数 | 説明 |
| auto-save-timeout | 最後のキータイプから何秒後かに保存する |
| auto-save-interval | オートセーブのタイミング |
| auto-save-default | (念のため)tにしておくとオートセーブが有効 |
自動保存のコーディング †
文字エンコーディングがちょこっと変わっている。何かのフラグがはいってるのでしょうが・・・。
これを無理矢理開くときは、emacs-muleというコーディングで開けばよい。
どうやって読むかはここを参照。
*1 理由はバージョンアップがめんどくさいため


