emacs
色
色付けが鬱陶しい。識別方法として色を使う利便性は理解できるが、色使いが悪いと逆に視認性が良くない。ということで、色を off にしたい。
vine3.x の場合、.emacs.el の 47 行目 .emacs-faces.el を呼び出しているところをコメントにすると、かなり幸せになれる。(mode によって色が付けられたりする。例えば mew とか。)
あとは各 mode 毎に色付けしているところを弄れば良いはず。( mew の例を後述)
この他の安直な方法としては、
TERM=vt100 emacs -nw
mew mode で色付けを消す
(setq mew-use-highlight-mark nil) (setq mew-use-highlight-body nil) (setq mew-use-highlight-url nil) (setq mew-use-highlight-header nil)
てな具合に変数を設定すれば良い。例えば vine3.x なら、.mew.el の最後に上の行を付け加えれば良い。
yc
とても便利な canna client ( http://www.ceres.dti.ne.jp/~knak/yc.html )
unix domain socket な cannaserver の場合、4.0.0 以上の yc を。
emacs -nw して使っていると、変換している途中(変換の文節を広げたとき)で
Wrong type argument: characterp, nil
となってしまいキー入力が全く効かない状態になることがある。 さて、これは何が悪いのやら。(要検証)
LANG 関連ではなさそう。フェンス幅より文節を広げる操作をした時に固まるっぽい?
emacs の dired
Vine3.x の .emacs.el を Vine4.x で使うと、dired で表示したファイルを開くことができない。.emacs.el を Vine4.x のものに差し替えるか、以下の 1行を .emacs.el に付け加えればよい。
(add-hook 'dired-mode-hook '(lambda ()(setenv "LANG" "C")))
色 2
上の方で記述したような方法で emacs の色づけを止める以外に、font-lock-mode を変更する手があるようだ。というか、こっちの方が真っ当な方法かもしれない。
font-lock とは編集しているテキストの構文に従って、様々な (font) face(文字表示のスタイル)を使って強調表示するもののようである。
というわけで、この font-lock-mode を off にしてしまえば、色づけも何もしなくなるというわけ。全面的に font-lock-mode を off にするのなら、.emacs に
(global-font-lock-mode 0)
とでも書いておけば良い。あぁ、plane で読み易い。
emacs lisp
起動後の scratch バッファは lisp-interaction-mode 。 S式を記述し、行末で C-j するとその式を評価する。
一般に lisp-interaction-mode に入るには
M-x lisp-interaction-mode
lisp なファイルを読み込んで実行させるには、
M-x load-file
したあとに、ファイル名を指定すればよい。
emacs23 で anthy-el
timeout 値が大きいせいで、変換の応答が悪い。 anthy-el を load した後に以下を加えておけば ok
(if (>= emacs-major-version 23) (setq anthy-accept-timeout 1))
recenter
何故か C-l すると font-lock-mode を enable した上で recenter することに気付く。文字への装飾は不要なので非常に塩梅が悪い。
原因がすぐに分からなかったので、手っ取り早く .emacs の末尾に以下を追記
(defun my-recenter () (interactive) (recenter)) (global-set-key "\C-l" 'my-recenter)
時間ができたら、.emacs を見直してみよう
起動時のメッセージを消したり、空の scratch buffer にしたり
emacs 起動時に、Welcome to GNU Emacs... というメッセージが出るのを抑制するには
(setq inhibit-startup-message t)
空っぽの scratch buffer にするには
(setq initial-scratch-message nil)
それぞれ .emacs 辺りに書いておけばよい
Symbol's value as variable is void: last-command-char
何ぞ symbol を入力しようとしたときに 'Symbol's value as variable is void: last-command-char' とか言われたら、 last-command-char を last-command-event に書き換えればよい。これは emacs24.x で last-command-char が obsolete になったため。sed でも使ってエイヤッと置換するのが楽ですね。
ファイルの文字コードを明示的に指定するには
何で間違えるのかよくわからないが、時折文字コード判別を間違えてしまうことがある。(本来なら誤認識自体を抑制すべきだが、とりあえずそれはさておくとして、、)先頭行に次のような文字列を入れておけば emacs が coding をそれを読んで開いてくれる。
-*- coding: utf-8 -*-
例えば C の source なら
/* -*- coding: utf-8 -*- */
HTML ファイルなら
<!-- -*- coding: utf-8 -*- -->
のような行を加えておけばよい
タイムスタンプの挿入
テキストファイル内に修正時のタイムスタンプを入れるには、.emacs に
(add-hook 'write-file-hooks 'time-stamp)
を書いておき、テキストファイルの 8行目までに
Time-stamp: < >
のように入力しておけばよい。保存時に < > の間に保存時刻&ユーザ名を入れてくれる。
あらかじめ文字コードを指定してファイルを開くには
文字コードの誤認識に関連して。あらかじめ文字コードを指定しておいて、ファイルを開く方法について。emacs 起動後に、次のように
C-x Enter c
を入れると文字コードを聞いてくるので
utf-8 Enter
のようにすれば、以下のコマンドはその文字コードで実行することになるので、続けて
Ctrl-x Ctrl-f
として開きたいファイルを選べば良い まとめて書けば
C-x Enter c '文字コード' Enter Ctrl-x Ctrl-f
開いたファイルを別の文字コードで再読込するには
ある utf-8 ファイルを開いたら SJIS と誤認識され文字化けしているとしよう。この場合は次のように
Ctrl-x Enter r utf-8 Enter
とすると、当該ファイルから revert する?と聞いてくるので yes とすれば指定した utf-8 で読み込み直してくれる。
文字コードの指定
文字コード誤認識の話のつづき。通常、日本語環境を指定する場合、
(set-language-environment "Japanese")
に加えて、default の文字コードを指定するために
(set-default-coding-systems 'utf-8)
とするか、
(prefer-coding-system 'utf-8)
とする方法がある。(この2つの指定の違いが何なのかはきちんと調べてない。)
読み込み時の文字コード認識に関していえば、prefer-coding-system の方が良いようだ。set-default-coding-systems では失敗することがある。
Keyword(s):[emacs]
References:[Software]