最終更新日 …
$Date: 2004-07-27 21:53:19+09 $
今回の授業では,Emacs の習熟およびカスタマイズについて簡単に学習する.
エディタとしての Emacs については以前の授業(エディタ Emacs)
でごく簡単に学習したが,
あれは Emacs の能力のほんの一部分である.
Emacs は実は単なるエディタではなく,シェルそのもの以上の能力を持つ,
総合環境であるとも UI(ユーザインターフェイス)であるとも言われる非常に機能の高いソフトウェアである.
cui 環境では Emacs のこの高い機能がとても助けになる場面が少なくない.
そこで,Emacs の真の実力を引き出して使うことを目指すべく,
今回は Emacs について学習することにする.
emacs の基本操作に関しては,参考文献
もしくは適切な web (適宜 google 等で"Emacs 入門"等のキーワードで検索せよ)をあたるのがよいだろう.
ざっと見てみたところでは,
あたりを見ておけば入門としては十分すぎる内容だろうと思う. Emacs が良くわからないという場合は,まずはこれらの資料にあたるとよい.
先に述べたように,Emacs の機能やそのカスタマイズ性はあまりに広い.
Emacs についてそうした知識を紹介している web が多数存在しているので,
適宜それらを参照するのが Emacs を使いこなすにはとても役に立つだろう.
以下にそうした web などを紹介するので,少しずつでも目を通していくとよいだろう.
なお,Windows 用 Emacs である Meadow に関する資料に特に優れているものが多いようなので,
ネットワークで検索する際は
"meadow" というキーワードで検索するとよいだろう.
.emacs
の内容を紹介している.
具体的でとても役に立つ.
その設定の「意図するところ」が述べられているのが特によい.
阪大教育用計算機では,「素の」Emacs (/usr/bin/emacs: Emacs20)
と XEmacs (/usr/bin/xemacs : XEmacs21) の二種類の emacs が使えるが,
どちらを使うかによって少々話が変わってくる.
この授業では,本家である素の Emacs を対象として話を進めるが,XEmacs
の方が融通の効く面があるので,XEmacs を使いたいという者もいるだろう.
逆に,素の Emacs を使うつもりであるが,阪大教育用計算機システムが
素の Emacs に対してあまり親切に設定してないので困るという者もいるだろう.
さらに,どちらも使い分けたいが,設定が混ざって困るという者もいるだろう.
そこで,Emacs と XEmacs のある程度の使い分けの方法や注意点についてここでおおざっぱに記しておこう.
.emacs
で emacs の種類を見分けて読み込むファイルを分ければよい.
.emacs.original
,
XEmacs 用の設定ファイル名を
.xemacs
(既に存在する)
などとして,
(if (featurep 'xemacs)
(load "$HOME/.xemacs")
(load "$HOME/.emacs.original"))
.emacs
に書けばよいだろう.
.emacs
に次のように書き込む.
;; 日本語フォントの読み込み
;; X か端末かで区別している
(setq japanese-font-file "~/.emacs.jpfont")
(if window-system (load japanese-font-file))
.emacs.jpfont
という名称でファイルを作り,次の内容を書き込む.
Shift-左クリック
でも選択できるので,それを試してみてもよいだろう.
(create-fontset-from-fontset-spec
"-*-fixed-medium-r-normal--14-*-*-*-*-*-fontset-14,
ascii:-*-fixed-medium-r-normal--14-*-iso8859-1,
japanese-jisx0201.1976: -*-fixed-medium-r-normal--14-*-jisx0201.1976-0,
japanese-jisx0208.1983: -*-fixed-medium-r-normal--14-*-jisx0208.1983-0")
(create-fontset-from-fontset-spec
"-*-fixed-medium-r-normal--16-*-*-*-*-*-fontset-16,
ascii:-*-*-medium-r-*--16-*-*-*-*-*-iso8859-1,
japanese-jisx0201.1976: -*-fixed-medium-r-normal--16-*-jisx0201.1976-0,
japanese-jisx0208.1983: -*-fixed-medium-r-normal--16-*-jisx0208.1983-0")
(create-fontset-from-fontset-spec
"-*-fixed-medium-r-normal--18-*-*-*-*-*-fontset-18,
ascii:-*-fixed-medium-r-normal--18-*-iso8859-1,
japanese-jisx0201.1976: -*-fixed-medium-r-normal--18-*-jisx0201.1976-0,
japanese-jisx0208.1983: -*-fixed-medium-r-normal--18-*-jisx0208.1983-0"
)
(create-fontset-from-fontset-spec
"-*-fixed-medium-r-normal--20-*-*-*-*-*-fontset-20,
ascii:-kappa-fixed-*-r-normal--20-*-iso8859-1,
japanese-jisx0201.1976: -kappa-fixed-*-r-normal--20-*-jisx0201.1976-0,
japanese-jisx0208.1983: -kappa-fixed-*-r-normal--20-*-jisx0208.1983-0"
)
(create-fontset-from-fontset-spec
"-*-fixed-medium-r-normal--24-*-*-*-*-*-fontset-24,
ascii:-*-fixed-medium-r-normal--24-*-iso8859-1,
japanese-jisx0201.1976: -*-fixed-medium-r-normal--24-*-jisx0201.1976-0,
japanese-jisx0208.1983: -*-fixed-medium-r-normal--24-*-jisx0208.1983-0"
)
(setq default-frame-alist (append
'((font . "fontset-14"))
'((font . "fontset-16"))
'((font . "fontset-18"))
'((font . "fontset-20"))
'((font . "fontset-24"))
))
(set-frame-font "fontset-14")
XMODIFIERS
を修正して xwnmo を使わないようにし,直接 wnn7 を呼び出せば問題を回避できる.
具体的には次のように設定する.
XMODIFIERS
を無効にし,その状態で emacs を起動するように設定する.
alias emacs '( setenv XMODIFIERS "@im=none"; /usr/bin/emacs \!*)'
.emacs
に次のように書き込む.
;; wnn7
(setq load-path (cons "/usr/share/wnn7/elisp/emacs20" load-path))
(load "wnn7egg-leim")
(set-input-method "japanese-egg-wnn7")
こうすることで,C-\
で日本語入力モードを on/off すると wnn7 が使える.
実は,Emacs には標準的機能に関して,ごく簡単な設定ならば対話的にカスタマイズできる機能がある.
この機能を用いると,いろいろなカスタマイズが楽にできる.
# 慣れた人は使わない傾向にある…というか,
この機能はそう古いものではないので,古くから使っている人には不要な存在なのである.
そこで,Emacs のカスタマイズを手動で行う前に,まずはこの簡単なカスタマイズを使ってみよう.
これでできる範囲ならばそんなに恐れずに誰でもできるはずだ.
(注意1) この対話的カスタマイズを行なっている間の Emacs の挙動はあまり安定したものではないので, 他の作業を同時に行なおうとしたりしないほうがよい.
(注意2)
対話的に(つまり自動的に)行った設定と,
.emacs
を編集するなどして手動で行った設定とがかちあうと意味不明な挙動になることがある.
# 具体的には,同じ変数を手で設定し,かつ,対話設定でも設定してしまったような場合が該当する.
この時,値が異なるとわけがわからなくなる.
こうならないように,同じ設定をだぶって行わないように注意しよう.
上記の注意のような混乱が生じにくいように,対話的設定で行った設定は
.emacs
でないファイルに保存するようにしよう.
それには,次の内容を
.emacs
ファイル(のなるべく先頭の方に)に書き込んでおけばよい.
(setq custom-file "~/.emacs.custom")
(if (file-exists-p custom-file)
(load custom-file))
実習
上の設定を行い,念の為に Emacs をいったん終了させてからもう一度起動せよ.
もちろん,再起動はしなくても済む方法はあるが,慣れていないうちはこれが無難だろう.
# どうしてもという者は,
M-x eval-region
という機能について調べて使ってみよ.
# 機能について調べるには,
M-x describe-function
という機能を用いればよい.
では対話的設定を行なう最も素朴な方法を紹介しよう.
それは簡単で,Emacs で
M-x customize
としてみればよい.
あとは,適当に気になる項目を選んで設定を変えてみることができる.
実際には,変更した後にページ上部にある
"Set for Current Session(今だけ変更を有効にする)"
か
"Save for Future Sessions(今以降,変更を有効にする)"
を選ぶことで変更が有効になる.
実習
この機能を用いて,次のようにして modeline に時間を表示させてみよう.
M-x customize
とする.
他にも,
M-x customize-HOGEHOGE
系のコマンドが数多くあり,各々が便利な機能を持っている.
ヘルプを用いて,各々を試してみるとよい.
実習
M-x customize-HOGEHOGE
について次のようにして調べ,動かしてみる.
M-x customize-
とまで入力して SPACE キーを押し,補完機能によってどんなコマンドがあるのか見てみる.
M-x describe-function RET コマンド名 RET
として,各々の説明を見てみよ.
M-x customize-face
についても調べてみてから,実際に動作させて何が起るか,自分の思っていたことと比較せよ.
Emacs の機能のほとんどは Emacs Lisp (elisp)とよばれる言語で記述されており,
elisp に堪能であればほとんどあらゆるカスタマイズが可能である.
まあ通常は先人による結果を使わせてもらうだけで十分に多くのカスタマイズが可能であるので,この授業でもその範囲で講義を行う.
さて,具体的にどうするかであるが,
Emacs はこの elisp でかかれたプログラムや設定を読み込んで動作するという仕組みなので,
これを利用してカスタマイズを行う.
具体的には,Emacs は起動時にはおおざっぱには次のように動作する.
.emacs
を読み込む.
.el
や
.elc
といった拡張子がついていることが多い)
を読み込む.
さらにまた,Emacs はファイルを読み込んだときにそのファイルによって新たに
elisp プログラムファイルを読み込んだりして動作を変える.
たとえば,C ファイルや TeX ファイルを読み込んだときなどである.
この設定も基本的には
.emacs
で行う.
このような動作の仕組みなので,われわれがカスタマイズを行うには,
subdirs.el
が効いているディレクトリ以下,ということになる.
subdirs.el
があるディレクトリより下のディレクトリならばよい,と思っても良いだろう.
.emacs
を設定.
とすれば良いことになる.
これから Emacs の習熟とカスタマイズの学習を行うにあたり,
この手順は繰り返されるので,頭にいれておくとよい.
実習
個人が elisp プログラムのインストールを行うには, elisp ファイル群を置いておくべきディレクトリを作成し, そのディレクトリを Emacs に認識させておく必要が一回だけある. そこで,下の指示に従い,設定を行え.
cd ~
mkdir elisp
.emacs
に次の一行を加える(ライブラリパスの設定).
.emacs
の先頭に近い場所に書き込むのがよいだろう.
(setq load-path (cons "~/elisp" load-path))
.emacs
の編集にあたって
.emacs
の編集を行う際に共通する「プログラムの読み込み」,
「変数の設定」 の方法と,注意点についてここで記しておこう.
elisp プログラムの読み込み
elisp プログラムの読み込むよう
.emacs
などで設定するには,次の三種類の方法がある.
.emacs
に書くと起動時にそのプログラムファイルが必ず読み込まれるので,起動にやや時間がかかることになる.
変数の設定
.emacs
などで Emacs 用の(シンプルな)変数を設定するには,おおよそ次のように書く.
(setq 変数名 設定値)
ちなみに,どのような変数があるか,その変数がどのような意味を持つか,
は次のようにすると判明する.
M-x describe-variable
と打ってから,SPACEキーを押してみると,変数が全てリストアップされる.
M-x describe-variable RET
としてから,気になる変数名を入力して RET すると,解説が記述される.
.emacs
を編集する際の注意
.emacs
の内容を編集した際に致命的なミスがあると Emacs が起動しなくなる.
そういう時は,Emacs に
--debug-init
というオプションをつけて起動すると,エラーをきちんと表示して起動してくれるので,覚えておくとよい.
実習
"line-number" という文字列を含む変数は何か. また,その機能は何か. 上に述べた方法で調べてみよ.
では,Emacs に標準で用意されている機能を使うカスタマイズを行ってみよう.
この機能の多くは先に述べた
M-x customize
でもカスタマイズできるが,やはり
.emacs
を直接自分で編集した方が何を変えたのかはっきりして,見通しがよいだろう.
そのために,およその方法を記しておこう.
まずは自分の言語が Emacs で普通に使えるように設定しよう.
そもそも Emacs20 以降は単独で完全な多言語環境を目指しており,
単一のバイナリでほぼあらゆる言語を使えるようになっている.
そのため汎用性は高いが,やや使いにくい面も出てくる.
そこで,通常用いる言語をデフォルト言語として設定し,
文字コード等も設定しておくと使いやすくなるだろう.
阪大教育用計算機上の Emacs で日本語を用いる場合は,
次のような設定を
.emacs
に書き込んでおけばよいだろう.
なお,XEmacs を用いる場合は,センター側で用意した
.xemacs
に相当する設定が既に書き込まれており,それが追加で読み込まれるのでこれに相当する設定をしなくて済む.
(set-language-environment 'japanese)
(set-buffer-file-coding-system 'euc-jp)
(set-keyboard-coding-system 'euc-jp)
(set-terminal-coding-system 'euc-jp)
ちなみに,文字コードに関して他にどんな設定ができるかは,
coding-system
という文字列を含む変数を調べて設定すればよい.
また,現状がどうなっているかは,Emacs 上で
M-x describe-coding-system
とすればよい.
実習
自分の環境で日本語(の表示)が問題なく使えるように設定せよ.
# 日本語入力に関しては技術的にもインターフェイスとしても上に記したようにいろいろな方法があるので,
好みの方法を選ぶと良い.
Emacs はほとんどの設定を自分で好きなようにできるということは繰り返し述べているが,
キーバインディング,つまり,どのキーを押すとどういう機能が働くか,についても
自分の好みに応じて設定できる.
ただし,既に多くのキーの組合わせが様々な機能に割り当てられているので,
一貫性などを考えるとよく調べずに設定することはお勧めできない.
M-x describe-bindings
とすると,「現在使える」キーバインディングのリストが出る.
ただし,後で説明する「モード」が変わると変わるキーバインディングがあるので,これで全部ではないことに注意.
M-x describe-key
を用いると,具体的に「あるキーの組合わせに対して」どのような機能が割り当てられているかを知ることができる.
この機能は,使おうとするキーの組合わせが既に使われているかどうかを調べるのに便利だろう.
.emacs
中などで,
(global-set-key "キーの組合わせ" '機能関数名)
M-
や
C-
というキーには
\
をつけて表現するか,
[キー]
などとして表現する.
(local-set-key "キーの組合わせ" '機能関数名)
というコマンドを,そのモードのフックに付け加えるという手法になる.
フックについては,後述のマイナーモードの部分でのフックの解説を参考にするとよい.
(global-set-key "\C-h" 'delete-backward-char)
と設定したものである.
ただし,BS キーに関しては現在はこうやって設定するよりも良い方法があるのでこれはあまりお勧めしない.
.emacs
中などで,
(load "term/keyswap")
C-c アルファベット
というキーの組合わせは原則としてユーザ用に解放されており,
システム側で設定されていないハズである.
ただし,本来はこのキーの組合わせは
global-set-key
用ではなく,各種モード内部で個別に設定されるよう意図されていると思われるので,
global-set-key
で設定するのはあまりお勧めしない.
実習
いくつか適当なキーバインディングを設定してみよ. ただし,あまり他に悪影響を与えないようなキーバインディングにするか, 一時的にだけ用いてすぐコメントアウトせよ.
Emacs は優れたエディタであるので,編集するファイルによって動作を様々に変えることができる. このように,編集対象等によって大きく動作を変えた状態を「モード」を変えた状態という. 適切なモードを選択および細かい設定を施して, 各種機能を使いこなせるようになれば生産性は何十倍にもあがることになるので, 各種モードに関してある程度の知識をもつことは非常に有益である. そこで,モードに関してある程度知り,設定して,使えるようになろう.
メジャーモードとは,編集対象に対して「一つだけ排他的に」選択される編集モードのことである.
例えば,
C プログラムを編集するときは C モード,
LaTeX ソースを編集するときは LaTeX モードというようになる.
こうすると,C ならば C の性質に沿った編集が,
LaTeX ならば LaTeX の性質に沿った編集ができ,とても便利なのである.
例えば,
M-;
と入力するとそのモードに応じた「コメントアウト」が行なえる.
現在,どのモードになっているかはモードラインを見ると分かるようになっている.
また,
M-x describe-mode
とすると現在選択されているモードの説明が出るので,何か分からない部分があればこれを見るのが良いだろう.
このモードを一時的に変更するには,
M-x HOGE-mode
と入力するだけでよい.
例えば,text-mode や html-mode を試してみるとよいだろう.
元に戻すには,
M-x normal-mode
とすればよい.
標準でどのようなメジャーモードがあるのかは
M-x describe-function RET SPACE
として出てくるリストの中で -mode という文字列で終わるものを片っ端から調べてみれば良いだろう.
もしくは,Emacs 用にシステムで用意している elisp ディレクトリの
progmodes ディレクトリや textmodes ディレクトリを見てみるとよいだろう.
ちなみに阪大教育用計算機システムでは,
/usr/share/emacs/20.7/lisp の下にそうしたディレクトリがある.
auto-mode-alist
という変数を設定するという方法である.
この変数は association list というもので少し設定がわかりにくいだろうから,
例を示しておこう.
一般的には
(setq auto-mode-alist
(cons '(項目変数 . 値)
'(項目変数 . 値)
…
'(項目変数 . 値)
'(項目変数 . 値)
auto-mode-alist))
とすればよい.
例えば,gnuplot のスクリプトファイルに
gp
という拡張子をつけ,この拡張子がついたファイルは自動的に
gnuplot-mode
で編集するようにしたい,としよう.
そういう場合は,
(setq auto-mode-alist
(cons '("\\.gp\\'" . gnuplot-mode)
auto-mode-alist))
実習
この web page をダウンロードし,適当な名前.html というファイル名で保存して Emacs で開き,
その際のメジャーモードが何になるか,上の方法で調べてみよ.
また,その際に使える便利なキーバインディングに何があるか調べてみよ.
同様に適当な TeX ソースを用意してやはり調べてみよ.
また,picture-mode, artist-mode について調べてみよ.
マイナーモードとは,メジャーモードと異なり,好きなときに,複数同時に使えるモードのことである.
使ってみて「ちょっと便利」というような機能はこのマイナーモードとして
実装されていることが多いので,
各種メジャーモードの性質をある程度つかんだらマイナーモードについても
いろいろ調べてみるとよいだろう.
さて,どのようなマイナーモードがあるかを示す前に,
マイナーモードの起動方法を示そう.
マイナーモードはメジャーモードと違ってファイルの種類とバインディングされて起動されるわけではないので,
その場で直接起動するか
.emacs
中などで,適切に設定するかになる.
直接起動するにはメジャーモードと同じく
M-x hoge-mode
とすればよい.
そして,必要な場面で起動するように設定するには次のように行なう.
.emacs
中などで,普通に設定する.
どう設定すれば良いかは,
M-x describe-function
で出てくる解説の 2行目あたりに記されているハズである.
(add-hook 'html-mode-hook 'outline-minor-mode)
ではどのようなマイナーモードがあるのかを示そう.
あまりにも数が多いので,その一部だけを箇条書きで示そう.
中には,Emacs のバージョンによって使えなかったり,詳細が異なるものもあるかもしれない.
そこで,詳細は,例によって
M-x describe-function
を用いるかネットワーク検索等で調べてもらいたい.
(global-font-lock-mode t)
と設定すると global に有効になる.
局所的に設定したい場合は,
(font-lock-mode t)
でよいだろう.
hi-lock-mode
が使える.
このマイナーモードでは色をつける部分を正規表現で指定できる.
C-u 数字
として入力しないといけない場面でも,
C-u
を省略して入力できるようになる.
例えば,このモードにしてから
3 5 a
と入力すると,35個の a が入力される.
C-c@
という非常に使いにくい組合わせであるため,書き換えて使うことが多い.
実際には,
M-SPACE
などとすることが多いようだ.
ちなみに prefix の書き換えは,
(setq outline-minor-mode-prefix "\M- ")
などとする.
C-x 1
で一度フレームを1つにしてから,
C-x 3
で左右にバッファを分割.その後,
M-x follow-mode
としてみる方法である.
(global-highlight-changes 'active)
とするだけという方法である.
C-n, p, ...
等でバッファを選択できるので便利だ.
(mouse-avoidance-mode 'HOGE)
M-x p-c-m
と打ってから TAB を押すと
M-x partial-completion-mode
と展開される.
また,任意の文字列という意味で "*" も使える.
(^-^;)
実習
上のマイナーモードを一通り試すか調べるかせよ.
また,アウトラインマイナーモードを tex や html ファイルで使えるように設定し,
ある程度使いこなせるよう,練習せよ.
Emacs が標準で持っている機能で, モード等にからまないものの中から, シンプルなものをいくつかをここで紹介しておこう.
(^-^)
,
この設定では他にもカーソル形状や文字の色等多くを決定できる.
具体的には
default-frame-alist
という変数の中で細かい設定をすればよい.
(setq default-frame-alist
(cons '(項目変数 . 値)
'(項目変数 . 値)
…
'(項目変数 . 値)
'(項目変数 . 値)
default-frame-alist))
この項目変数として設定できるものは具体的には,
M-x list-colors-display
とすると実際の色見本が出るのでそれをもとに設定を行なえばよい.
(setq version-control t)
とすると,通常は hoge.txt~ となって一つだけ作られるバックアップファイルが
複数作られるようになる.
いくつ作られるか,古いものを消すときに確認をするか等は
kept-new-version,
kept-old-version,
delete-old-versions
といった変数を適宜 設定すればよい.
(require 'saveplace)
(setq-default save-place t)
(require 'filecache)
(file-cache-add-directory-list (list "~" "~/bin" "~/etc"))
(define-key minibuffer-local-completion-map
"\C-ci" 'file-cache-minibuffer-complete)
C-c i
とすればよい.
C-c i
というキーバインディングが他で使われていなければ,である.
一応,C-c アルファベット
というキーバインディングはユーザ用に解放されているはずなので大丈夫なハズではあるが.
(ffap-bindings)
(desktop-load-default)
M-x desktop-save
とすれば状態が保存される.
状態を再現するには,セッションを保存したディレクトリかそこにあるファイルを読んでいる状態で
M-x desktop-read
とすればよい.
(require 'dired-x)
C-x C-j
で呼び出せたりする.
実習
上の設定を一通り試してみよ.
これまで,Emacs に標準でついてくる機能およびそのカスタマイズだけを紹介してきたが,
Emacs は elisp を使って柔軟に機能を追加できるため,
第三者による多くの機能追加プログラムが存在し,
そして非常に便利に使われている.
こうしたものはあまりに多く,紹介しきれるものではない.
そこで,特に参考となる
Meadow/Emacs memo
などを片っ端から読んでいくことをお勧めしたい.
さらに,ここではこうした第三者により開発されている非常に便利な Emacs
環境の中でまだあまり知られていない
howm
とよばれるものを紹介しておこう.
これは個人的にメモをとるための Emacs 環境であるが,
雑多かつ多数に及ぶメモを
「いかに気軽に」かつ「有機的にリンクさせる」
ための工夫が非常に巧みにとられている.
日常の様々な記録をとっておく方法はいろいろあるが,
検索性,情報の相互参照性,そして記録をとること自体の容易さを考えるとなかなか良いものは少ない.
そうした現状で, この howm は一つの解を与えるものとして注目に値するだろう.
是非使ってみて,気に入ったならばどんどん使いこなしてもらいたい.
情報およびソースの入手先は
howm: 一人お手軽 Wiki もどき
を参照するのがよい.
インストールは本当に簡単であるので,以下にごく簡単に箇条書きにしておこう.
(setq load-path (cons "~/elisp/howm" load-path))
などという行を
.emacs
などに書き込む(なるべくファイルの先頭に近い方がよいだろう).
~/howm
として作成し,その中にダウンロードして展開したファイル中の
ja/*.howm
をコピーする.
.emacs
などに,howm の設定を書き込む.
マニュアルや web を参照してじっくり調べるべきであるが,とりあえずというのであれば最低限
(setq howm-menu-lang 'ja)
(global-set-key "\C-c,," 'howm-menu)
(autoload 'howm-menu "howm-mode" "Hitori Otegaru Wiki Modoki" t)
C-c , ,
と打てば howm が起動する.
実習
howm を自らの環境にインストールし,いくつかメモを作成して動作に習熟せよ.
以下に示された課題について
AppliedMath-Report-14
という題名をつけて e-mail にて教官宛にレポートとして提出せよ(教官のメールアドレスは授業中に口頭で伝える).
なお,レポートを e-mail の代わりに TeX で作成した書面にて提出してもよい.
課題内容
M-x customize
を使って実現してみよ.
.emacs
を編集して設定せよ.
~/.wl
に書き込めばよいだろう.
(setq elmo-imap4-default-server "mailserver")
(setq elmo-imap4-default-authenticate-type 'clear)
(setq wl-smtp-posting-server "sendmail")
(setq elmo-nntp-default-server "newsserver")