[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:30420] Re: rootのemacsの設定は



こじま@コンソールで Emacs は(滅多に)使わない,です.

# frame buffer 等を設定すればいいんだろうけど,デフォルトの画面サイズは
# Emacs には小さすぎるし,,

Linux/Unix 環境の場合,伝統的にさまざまな種類の端末機器に対応する必要が
あったため,$TERM という環境変数に現在使っている端末の種類を登録してお
き,Emacs等のエディタはこの $TERM を見てどういう動作をするかを決めています.

# どういう設定になっているかは echo $TERM すれば分かります.

この $TERM は,X 環境上のターミナルソフトウェアでは大抵 "xterm" (昔は
kterm がメジャーだったけど)という設定になり,linux のコンソールでは
"linux" になります.

そういう前提のもとに ~/.emacs の先頭付近を見ると,

;;; ターミナルモードで使用する場合の表示用文字コードを設定します。
(if (or (equal (getenv "TERM") "dtterm") (equal (getenv "TERM") "xterm") )
    ;; dtterm, Konsole(xterm) の場合
    (set-terminal-coding-system 'euc-japan)
  ;; その他の端末の場合
  (set-terminal-coding-system 'iso-2022-jp))

こういう設定があって,TERM が dtterm か xterm の場合は
set-terminal-coding-system というターミナルに表示する文字コードを示す変
数に euc-japan をセットし,それ以外の場合(= "linux "も含む)は iso-2022-jp
をセットします.

# だから,デフォルトでは Emacs のコンソール表示は iso-2022-jp になっているはず

一方,最近の Plamo の場合,unicon というカーネルレベルの multi-bytpe 表
示機能を使って,コンソールに表示される multi-byte 文字列は euc-jp であ
る,としています.

# 起動時パラメータとして渡す unicon=eucjp を使って /etc/rc.d/rc.S で
# unicon で表示すべき文字列を EUC-JP か ISO-2022-JP か SHIFT-JIS かを
# 切りかえています

だから,対策としては,
$TERM=linux 時に Emacs のset-terminal-coding-system を euc-japan にするか,
boot 時のパラメータで unicon=jis としてコンソールを iso-2022-jp にするか,
ということになるでせう.

個人的には,dtterm(CDE(Common Desktop Environment)用のターミナルだっけ
か?)は最近使うことが無いので,

(if (or (equal (getenv "TERM") "dtterm") (equal (getenv "TERM") "xterm") ) 

を

(if (or (equal (getenv "TERM") "linux") (equal (getenv "TERM") "xterm") )

とでもするのが簡便かな.EmacsLisp は調べてないけど,or の引数を 2つ以上取れるなら

(if (or (equal (getenv "TERM") "dtterm") (equal (getenv "TERM") "xterm") (equal (getenv "TERM") "linux))) 

でも行けそう.

このあたりはデフォルト設定の不整合な部分ではありますが,「コンソールで
Emacs なんか使わない(画面狭い)」「root で Emacs なんか使わない(便利すぎ
て危険)」というのが Plamo な環境の暗黙の了解だったりします(苦笑

---------
こじま


Follow-Ups
[plamo:30421] Re: rootのemacsの設定は, nori
References
[plamo:30405] Re: rootのemacsの設定は, nori
[plamo:30417] Re: rootのemacsの設定は, S.Mihara
[plamo:30419] Re: rootのemacsの設定は, ma-chan

[検索ページ] [メール一覧]
Plamo ML 公開システム