---- http://www.computerartisan.com/meadow/ を作成する前のメモ ---- ;; M-x shell で常に新しい shell を立ち上げる (defadvice shell (before shell-uniquely activate) (when (get-buffer "*shell*") (save-excursion (set-buffer "*shell*") (rename-uniquely)))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; shell-command.el: M-! (shell-command) で補完が効くように ;; -> http://www.namazu.org/~tsuchiya/elisp/#shell-command-with-completion (when (locate-library "shell-command") (require 'shell-command) (shell-command-completion-mode t)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; eshell の設定 ;; (Emacs21 以降なら標準で付属) (when (locate-library "eshell") (setq eshell-directory-name (expand-file-name "~/.emacs.d/eshell/")) ;; 終了時にいちいち聞かない (setq eshell-ask-to-save-history 'always) ) ;; eshell ends here. キーボードマクロにコマンド名を付けると、その定義をファイルに保存できます。 そうすると、別の編集セッションで使えるようになります。 まず、定義を保存したい ファイルを訪問してから、 つぎのコマンドを使ってください。 M-x insert-kbd-macro RET macroname RET このコマンドは、実行するとそのキーボードマクロと 同じ動作を行うLispコードを バッファに挿入します。 (insert-kbd-macroがLispコードの生成を代行するので、 Lispコードを理解する必要はない。) そうしたら、このファイルを保存します。 load-file(see section Emacs用のLispコードのライブラリ)でファイルをロード できます。 保存するファイルとして`~/.emacs' (see section 初期化ファイル`~/.emacs')を使えば、 Emacsを起動するとつねに そのマクロが定義されます。 insert-kbd-macroに数引数を指定すると、 さらに(もしあれば)キーボードマクロに 割り当てたキーを 記録するLispコードが追加されるので、 ファイルをロードした ときに同じキーがマクロに割り当てられます。 ReadFile( LastKey ) キーボードマクロを登録してから、 C-x C-k (まえに定義したキーボードマクロを編集する (edit-kbd-macro))。 C-M-q リスト内のすべての行の字下げをやり直します(indent-sexp). C-u TAB 最初の行の字下げが正しくなるように,リスト全体を同時に横方向に動かします.C-M-\ リージョン内のすべての行の字下げをやり直します(indent-region). ウィンドウの分割 C-x 2 選択されたウィンドウを上下に2つに分けます (split-window-vertically). C-x 5 選択されたウィンドウを左右に2つに分けます (split-window-horizontally). 大文字と小文字の変換 M-l ポイントの前の単語を小文字に変換します.Meta--はMetaとマイナス記号です. M-u ポイントの前の単語を大文字に変換します. M-c ポイントの前の単語の語頭を大文字に,残りを小文字に変換します. http://ruby2.scphys.kyoto-u.ac.jp/comp-doc/emacs.html ● 大文字・小文字変換を簡単に行ないたい。 大文字・小文字変換は 厄介なもの。そこで これ。 カーソルのすぐ 左にある単語が C-u を押す度に 全部 大文字 → 最初の文字だけ 大文字 → 全部 小文字 → 全部 大文字 → ・・・ と 変換されます。 (defvar my-changecase-type 0 "0:upcase 1:capitalize 2:downcase") (defun my-changecase-word (cnt) (interactive "p") (if (not (eq last-command 'my-changecase-word)) (setq my-changecase-type 0)) (cond ((= my-changecase-type 0) (upcase-word (- cnt)) (setq my-changecase-type 1)) ((= my-changecase-type 1) (capitalize-word (- cnt)) (setq my-changecase-type 2)) (t (downcase-word (- cnt)) (setq my-changecase-type 0)))) (global-set-key "\C-u" 'my-changecase-word) ------------------ memo ---------- memo ----------- memo -------- http://www.kl.info.kanagawa-u.ac.jp/~katsu/digest.html cygwin meadow http://www.sr3.t.u-tokyo.ac.jp/~takekawa/gnujdoc/elisp-manual-20-2.5/elisp-ja_19.html Lispプログラムのデバッグ 6.その他 emacs lisp 処理 http://www.comp.ae.keio.ac.jp/~yuuji/elisp/elisplec.html http://www.math.s.chiba-u.ac.jp/~matsu/lisp/emacs-lisp-intro-jp_toc.html emacs 全角 半角 変換 半角カナ->全角カナ 全角ANK->半角ANK http://flex.ee.uec.ac.jp/texi/emacs-jp/emacs-jp_132.html#SEC152 http://www-e7.ele.eng.osaka-u.ac.jp/ichiro/manual/emacs-jman/emacs/index.html#TOC457 ------- grep について vim の jgrep と、bcb5 の grep が使えるようだ http://www.sys.wakayama-u.ac.jp/~s011020/Emacs/page3_2.html http://www.netlaputa.ne.jp/%7Ekose/Emacs/Meadow/index.html http://www.mars.sphere.ne.jp/imamura/jisx0213.html EMACS OVERWRITE http://www.sfc.keio.ac.jp/mchtml/cns-guide/2001/7/3/6.html http://www.sr3.t.u-tokyo.ac.jp/~takekawa/gnujdoc/emacs-20.6/emacs-ja_46.html http://www.takilab.k.dendai.ac.jp/~arai/computer/mule.txt http://www.geocities.co.jp/SiliconValley-PaloAlto/5236/mule/tips.html http://ruby2.scphys.kyoto-u.ac.jp/comp-doc/emacs.html http://infoshako.sk.tsukuba.ac.jp/InfoRes/jdoc/Editors/NEmacs/EmacsGuideInJ_html/ http://www-e7.ele.eng.osaka-u.ac.jp/ichiro/manual/emacs-jman/emacs/index.html#TOC292 http://namazu.org/~tsuchiya/elisp/#documents 優しい Emacs-Lisp 講座 http://www.comp.ae.keio.ac.jp/~yuuji/elisp/elisplec.html http://www.tky.3web.ne.jp/~applause/meadow/ bdf font http://meadow-faq.sourceforge.net/FAQ-Meadow-ja.html#font ------------------ http://www.lares.dti.ne.jp/~anazawa/keisen-mule http://www.geocities.co.jp/SiliconValley-PaloAlto/5236/mule/tips.html の記述に従って、中身を確認して貼り付ける browse-yank.el を追加した。 ------------------- http://ruby2.scphys.kyoto-u.ac.jp/comp-doc/emacs.html ● 大文字・小文字変換を簡単に行ないたい。 詳しくは、elisp のマニュアル、例えば、 http://flex.ee.uec.ac.jp/texi/eljman/eljman_96.html#SEC96 を参照してください。 http://flex.ee.uec.ac.jp/texi/eljman/eljman_toc.html http://flex.ee.uec.ac.jp/texi/emacs-jp/emacs-jp_toc.html Emacs マニュアル http://infoshako.sk.tsukuba.ac.jp/InfoRes/jdoc/Editors/NEmacs/EmacsGuideInJ_html/ http://kawacho.don.am/win/meadow/install.html#download Meadow-1.14-i386-base.tar.gz(必須) Meadow-1.14-i386-els.tar.gz(おすすめ) Meadow-1.14-i386-leim.tar.gz Meadow-1.14-src.tar.gz http://www.linkclub.or.jp/~tumibito/links/faq.html#Emacs cygwin meadow http://kawacho.don.am/win/meadow/customize/dot-emacs-sample.html#shell-cygwin-bash http://webclub.kcom.ne.jp/mb/colo/ml_em.html#dir http://flex.ee.uec.ac.jp/texi/emacs-jp/emacs-jp_50.html#SEC70 http://www.ics.t.u-tokyo.ac.jp/~tsujioka/computer/meadow_command.html http://www.d4.dion.ne.jp/~usuda/emacs/ Emacs & Mule のプロ グラム集 Emacs 上で動作する超強力ファイルマネージャ filmtn 風 http://www.geocities.co.jp/Bookend-Soseki/1554/soft/meadow_1.html http://triaez.kaisei.org/meadow/FAQ-Meadow-ja.html#isearch_noascii http://kawacho.don.am/win/meadow/install.html http://www-e7.ele.eng.osaka-u.ac.jp/ichiro/manual/emacs-jman/emacs/index.html#TOC416 c-auto-newlin FLIM は APEL を必要とし、SEMI は APEL と FLIM を必要としています。 したがって,APEL - FLIM - SEMI の順にインストールする必要があります。 また、どれかをバージョンアップした場合は、後のモノも再インストール する必要があります。例えば、FLIM を新しいものに変えたら、(それに 対応した )SEMI を再インストールしなくてはいけません。 (setq c-mode-hook '(lambda () (setq default-tab-width '4) (setq tab-width '4))) (setq text-mode-hook '(lambda () (setq default-tab-width '4) (setq tab-width '4))) ;; 1行あたり70文字(全角文字なら35文字)タイプすると、自動的に改行が行わ れます。自動改行を行わないようにするには、「一行が80字以上になった時に は自動改行する」セクションの変数、text-mode-hookの行をコメントにします。 .emacs.elの該当部分は次のようになります。 ;(setq text-mode-hook 'turn-on-auto-fill) 1行あたりの文字数を設定する -- .emacs.elファイル emacs上でEsc qコマンドを実行すると、カーソルの入っている行が、あらか じめ指定された文字数で改行されて、各行が同じ文字数にそろいます。この文 字数を設定するには、「一行が80字以上になった時には自動改行する」セクショ ンの変数fill-columnの値を、改行したい文字数に変更します。また、その行 の関数setqを、setq-defaultに変更します。 [例]1行60文字にそろえるための、.emacs.elの設定です。 ;(setq fill-column 80) (setq-default fill-column 60) カーソルを黒くて点滅しないものにする ;;;新しいMeadowのデフォルトではカーソルはグレーで点滅するものになります。 ;;;個人的には以前のままの黒くて点滅しないものの方が好みなので, ;;;そのように設定します。 '(cursor-type . box) ;; 表示の高速化のために fast-lock-mode を利用する ;>(setq font-lock-support-mode 'fast-lock-mode) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; shell mode ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; コンソールと同様、プロンプトは最下部にあってほしい (add-hook 'shell-mode-hook '(lambda () (setq comint-scroll-show-maximum-output t))) 1.30 カーソルが画面から出たときに一行だけスクロールしたいのですが。 (setq scroll-conservatively 1) を `.emacs' に書いて下さい。元に戻すときには、 (setq scroll-conservatively 0) を評価して下さい。 ▼ スクロールを1行毎にする。 (setq scroll-step 1) ▼ 折り返している長い行の2行目以降に直接カーソルを移動させる。 1行が長くて、ウィンドウの右端で折り返して2行以上になっているときに、そ の2行目以降の部分にカーソルを移動させようと思って↑↓キー(C-p/C-n)を押 しても、思い通りのところにカーソルは移動しません。デフォルトでは、「改 行されている次の行」にカーソルが移動するためです。次の設定を行うことで、 折り返している部分の行にも↑↓キー(C-p/C-n)で直接カーソルを移動させる ことができます。 ;;; go next-visual-line (global-set-key "\C-p" 'previous-window-line) (global-set-key "\C-n" 'next-window-line) (global-set-key [up] 'previous-window-line) (global-set-key [down] 'next-window-line) (defun previous-window-line (n) (interactive "p") (let ((cur-col (- (current-column) (save-excursion (vertical-motion 0) (current-column))))) (vertical-motion (- n)) (move-to-column (+ (current-column) cur-col))) (run-hooks 'auto-line-hook) ) (defun next-window-line (n) (interactive "p") (let ((cur-col (- (current-column) (save-excursion (vertical-motion 0) (current-column))))) (vertical-motion n) (move-to-column (+ (current-column) cur-col))) (run-hooks 'auto-line-hook) ) ▼ カーソル行に下線をつける。 Emacs Lisp Listからたどってhl-line.elを入手し、site-lispなどパスの通ったところに置きます。 ;;; カーソル行のHighlight/underline (load "hl-line") (setq hl-line-face 'underline) 'underlineではなく、'secondary-selectionなどにすればHighlightにできま す。 ------------------- emacs M-`やF10(これらはtmm-menubarを w32-send-sys-command w32-send-sys-command w32-set-modifier-key ALT が Meta key のかわりにならなくて良いなら、以下の設定で Windows Application のように ALT Key で menu を操作できるように設定できますが、 この場合にどうなるかは試してなかったので今後様子を見てみます。 (w32-set-modifier-key 18 'nil) キーボードのカスタマイズ やはり .emacs に次の記述をすると、 C-h がカーソルの直前の文字の削除に変わる 同時に、ヘルプがファンクションキー1[f1]となりWindowsらしくなる 「無変換キー」をメタキー(M-x などの M)になる 同時に本来のメタキーである Alt キーはWindowsのAlt キーとして そのまま使える といった機能を得ることができます。 (global-set-key "\C-h" 'backward-delete-char) (w32-set-modifier-key 18 'nil) (w32-set-modifier-key 18 'none) (w32-set-modifier-key 29 'nil) (w32-set-modifier-key 29 'meta) alt meta w32-send-sys-command http://www.cw.uklinux.net/scripts/dotemacs.txt (defun w32-restore-frame () "Restore a minimized frame" (interactive) (w32-send-sys-command 61728)) f120 (defun w32-maximize-frame () "Maximize the current frame" (interactive) (w32-send-sys-command 61488)) f030 winuser.h System Menu Command Values #define SC_KEYMENU 0xF100 (defun w32-menu-keypush () "Maximize the current frame" (interactive) (w32-send-sys-command 61696)) プレフィックスキー 接頭辞 (define-prefix-command symbol) kill-line ;; 表示の高速化のために fast-lock-mode を利用する ;>(setq font-lock-support-mode 'fast-lock-mode) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; shell mode ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; コンソールと同様、プロンプトは最下部にあってほしい (add-hook 'shell-mode-hook '(lambda () (setq comint-scroll-show-maximum-output t))) 1.30 カーソルが画面から出たときに一行だけスクロールしたいのですが。 (setq scroll-conservatively 1) を `.emacs' に書いて下さい。元に戻すときには、 (setq scroll-conservatively 0) を評価して下さい。 http://www.geocities.co.jp/SiliconValley-PaloAlto/5236/mule/cc-mode.html cc-mode を使おう! http://www.ainet.or.jp/~inoue/emacs/cc-mode.html c-default-style c-basic-offset c-offsets-alist (add-hook 'c-mode-common-hook '(lambda () (c-set-style "k&r") (setq c-basic-offset 4))) 変数indent-tabs-modeがt(True) 変数tab-widthの値が、変数c-basic-offsetの値以下 http://www.math.s.chiba-u.ac.jp/~matsu/mule/calc.html emacs で数式計算 gnuserv で Mule for Win32/Meadow をもっと便利に使いましょう。 http://www.netlaputa.ne.jp/~cymouque/gnuserv.html http://www.tky.3web.ne.jp/~applause/meadow/ Meadowのフォント設定 grep meadow nul http://www.google.com/search?q=cache:Af-m4nQpSSo:www.remus.dti.ne.jp/~m-mikiya/emacs/+grep+meadow+nul&hl=ja&lr=lang_ja BDFフォント一覧 http://kappa.allnet.ne.jp/kanou/fonts/x11bdfs.html http://hp.vector.co.jp/authors/VA013241/font/bdf2bmp.html http://bio-math10.biology.kyushu-u.ac.jp/~tohya/tips/dir.html http://www.netlaputa.ne.jp/~kose/UNIX_USER/999_13.html#jgrep_install http://www.ysnb.net/meadow/meadow-users-jp/2001/msg00703.html http://www.netlaputa.ne.jp/~kose/Software/compile/patch/Meadow1.0x_jgrep.txt ;; jgrep (setq grep-program "jgrep.exe") 日本語の M-q 自動行詰め機能を使うには、 以下のファイルをロードすると いいみたい。 全然全くたしかな情報ではないんだけれど。(これに限らずね) (load "international/kinsoku.el") ------------- memo ------------- memo ------------memo ----------- ●レジスタ(register)の概念 Emacsには、レジスタと呼ばれるものがある。電卓の独立メモリのように、 テキスト等の記憶/呼びだしができる。具体的には、次のものを 記憶させておくことができる。 ・リージョンのテキスト ・矩形領域のテキスト ・バッファ/カーソル位置 レジスタとして使用可能なのは、A~Z, a~z の52個である。 この52個のレジスタ1つ1つに、上に挙げた3つの種類のものを 記憶させることができ、任意の時点で呼び出すことができる。 レジスタ記憶自体の寿命は、現在立ち上げているEmacsの終了時までである。 記憶方法と呼びだし方法を、順に解説する。 ・リージョンのテキスト リージョンのテキストをレジスタに記憶させるには、 C-x x copy-to-register リージョンのテキストをレジスタにコピー を使用する。操作は、 リージョン設定 C-x x レジスタ名入力 [CR] となる。 リージョンのテキストをレジスタに追加することもできる。 prepend-to-register リージョンのテキストを レジスタのテキストの前に追加 append-to-register リージョンのテキストを レジスタのテキストの後ろに追加 ・矩形領域のテキスト 矩形領域をレジスタに記憶させるには、 C-x r copy-rectangle-to-register 矩形領域のテキストを、レジスタにコピー を使用する。操作は、 リージョン設定 C-x r レジスタ名入力 [CR] となる。 ・テキストの取り出し リージョンのテキストも矩形領域テキストも、いづれも同じ操作で取り出せる。 C-x g insert-register 指定レジスタのテキストを取り出す ・バッファ/カーソル位置 あるバッファ内のカーソル位置を記憶させることもできる。 C-x / point-to-register カーソル位置をレジスタに記憶 操作は、 記憶させたい位置にカーソル移動 C-x / レジスタ名 [CR] となる。 任意の時点で、この記憶させた位置にカーソルを戻すことができる。 C-x j register-to-point レジスタに記憶したカーソル位置へ カーソルをジャンプ  操作は、任意のバッファで、 C-x j レジスタ名 [CR] とすると、先のバッファが選ばれ、記憶させた位置にカーソルがジャンプする。 この呼び出しは、対象のバッファが消去されるまで有効である。 ・レジスタ内容の確認 現在レジスタにどのような値が設定されているかは、次のコマンドによって 知ることができる。 view-register 指定レジスタの内容を見る  操作は、 M-x view-register [CR] レジスタ名 [CR] ●コマンド・ヒストリ  何回か前に実行したコマンドを、ヒストリから探す場合は、C-x [ESC] に続いて M-p を目的のコマンドが見つかるまでタイプすればよい。戻り過ぎたら、 M-n を使えばよい。  M-p/M-n に数値引数を渡すとその個数分戻る/進む。  かなり前に実行したコマンドを見たい場合等、コマンド・ヒストリ全体の リストが欲しい時がある。そのような場合、次のコマンドを使う。 command-history-mode コマンド・ヒストリ・モードに切替える list-command-history コマンド・ヒストリを表示する この2つのコマンドは、実行後にカーソルがどのバッファにあるか、という点を 除けば同一である。どちらも、コマンド・ヒストリの一覧が得られる。 コマンド・ヒストリのバッファ内では、ヒストリは全てEmacs-Lispで 記述されているため、この中の項目を再実行したい場合には、 そのLisp式をEmacsに評価させないとならない。その方法については、5章に述べる。  このコマンド・ヒストリは、5章で述べる Emacs起動時初期化ファイル ~/.emacs を 記述する際にも利用できる。~/.emacs は、Lispで記述する必要があるが、 Lispで目的のコマンドをどのように記述するのか分からない場合があると思う。  そのような場合、M-xから目的のコマンドを実行し、コマンド・ヒストリを 見ることで、どのようなLisp式を書けばよいのかが類推できるからである。 この一連の手順を登録し、1単位の操作にしてしまうのが、 キーボード・マクロである。登録には、次のコマンドを使用する。 C-x ( start-kbd-macro キーボード・マクロ登録開始 C-x ) end-kbd-macro キーボード・マクロ登録終了 C-x ( を実行すると、モード・ラインのモードのところに、 キーボード・マクロ定義中であることを表す Def という記号が現れる。 図0401 同時に、ミニバッファには、 Defining kbd macro... というメッセージが出る。 C-x ) を実行することで、モード・ラインの Def 表示は消え、 ミニバッファには、 Keyboard macro definend というメッセージが現れ、登録は完了する。 登録中に操作を誤る等してエラーを発生させると、キーボード・マクロの 登録は中断されてしまう。この場合、C-x ( からやり直せば良い。 先の例を、キーボード・マクロとして登録してみよう。 C-x ( C-e M-\ C-n C-x ) これで、登録完了だ。 登録したキーボード・マクロの実行は、 C-x e call-last-kbd-macro (最後に)登録した キーボード・マクロの実行 である。 ちなみに、C-x C-e はカーソル行の評価(計算) ----------------- meadow --------------- Emacs マニュアル http://infoshako.sk.tsukuba.ac.jp/InfoRes/jdoc/Editors/NEmacs/EmacsGuideInJ_html/ http://kawacho.don.am/win/meadow/install.html#download Meadow-1.14-i386-base.tar.gz(必須) Meadow-1.14-i386-els.tar.gz(おすすめ) Meadow-1.14-i386-leim.tar.gz Meadow-1.14-src.tar.gz http://www.linkclub.or.jp/~tumibito/links/faq.html#Emacs cygwin meadow http://kawacho.don.am/win/meadow/customize/dot-emacs-sample.html#shell-cygwin-bash Cygwin の bash を使う場合 loadhigh C:\WINDOWS\COMMAND\nlsfunc.exe C:\WINDOWS\country.sys set PATH=%PATH%;G:\BC5\BIN;h:\PROGRA~1\BORLAND\CBUILD~1\BIN;h:\PROGRA~1\BORLAND\CBUILD~1\PROJECTS\BPL;h:\PROGRA~1\BORLAND\REMOTE~1\5.0\BIN;g:\PROGRA~1\BORLAND\DELPHI4\BIN;;C:\UTL;f:\JUST\JSLIB32;D:\meadow\1.14\bin;c:\cygwin\bin; set home=c:\cygwin\home\tera11 set TZ=JST-9 http://flex.ee.uec.ac.jp/texi/emacs-jp/emacs-jp_50.html#SEC70 Emacsにはよくある一括型の探索コマンドもあります.探索をはじめる前に探索文字列 を全部入力する必要があります. C-s ESC string RET stringを探索します. C-r ESC string RET 逆方向へstringを探索します. 一括型探索を行なうためには,まずC-s ESCと入力します.これ によって探索文字列 を読み込むためにミニバッファを起動します.続いて文字列 を入力し最後にRETキー を押すと探索が行なわれます.文字列が見つから なかった場合,探索コマンドは エラーとなります. C-s ESCはC-sによってインクリメンタル探索をはじめたの に,引数を与えなかった 場合にあたります.このとき,一括型探索を行なうよう になっています.(さもな ければこのような空の引数には何の意味もありません.) C-r ESCも同様です. 順方向および逆方向への一括型探索はsearch-forwardおよび search-backward コマンドで実行されます.これらのコマンドは,通常の ようにキーに割り当てるこ とができます.インクリメンタル探索から一括型探索 が呼び出せるのは,Emacsでは 昔からC-s ESCが一括型探索を行なう コマンドだったためです. しかし,C-s ESCで実行される一括型探索は,直ちに search-forwardを呼び出すわけ ではありません.まず次の文字が C-wであるかを調べます.このC-wは単語探索を 指示するコマンドで す. M-% 便利な置換コマンドです. このコマンドを実行すると, まず置換対象の文字列を聞かれ,次に置換後の文字 列を聞かれます. これらを入力すると, 現在のカーソル位置から順に対象文字列に移動して, 置換を実行す るかを聞いてくるので, それに y か n で答えていけば置換してくれます. この時に,y, n 以外では,例えば, ! を入力するとすべてを確認なしに置換し,また, . を入力するとその置換を実行して置換を終了します. q また は Esc, Return ではその置換をせずに置換を終了します http://www.ics.t.u-tokyo.ac.jp/~tsujioka/computer/meadow_command.html Meadow の便利なコマンド http://www.geocities.co.jp/Bookend-Soseki/1554/soft/meadow_1.html 1.5.1 *scratch* バッファを利用する *scratch* は便利なバッファです.例えば (setq my-test 1) を入力後,C-j を入力して下さい.すると (setq my-test 1) 1 という風に出力されたと思います.これは,my-test に 1 が代入されたことを意味します.今度は (setq my-test (+ my-test 1)) と入力して,同じように C-j を入力してください.すると, (setq my-test (+ my-test 1)) 2 と出力されます.このように,*scratch* バッファは Emacs-lisp を簡単に評価できるので,Emacs-lisp の勉強やちょっとした設定の際に便利に使えます. (+ 1000 2000) と入力して,同じように C-j を入力してみてください.すると, (+ 1000 2000) 3000 ------------------------------------------------------------------------ Meadow で shell mode を使うと、行の最後に ^Mがついてしまうのですがどうしてで しょうか? shell モードでの coding system の指定が違っているか、特定のコマンドの 改行 コードが他のものと違う可能性があります。 特定のコマンドだけで ^M が付いてし まい、その場でそれを取り除きたい場合は、 M-x shell-strip-ctrl-m と打って下さい。全ての命令で ^M が付くようなときは、.emacs に (modify-coding-system-alist 'process ".*sh\\.exe" 'undecided-dos) を書いて下さい。また、 (add-hook 'comint-output-filter-functions 'shell-strip-ctrl-m nil t) でも良いでしょう。 ------------------------------------------------------------------------------- extra args ignored after cmdproxy M-x コマンド実行 telnet が使える。 Emacsを終了するには、C-x C-c をタイプします。 M-v と C-v を使って、前後に移動することを何回か試して下さい。 C-l 画面を書き直す。このとき、カーソルのある行が画面の中央 M-. tag jump C-x` エラージャンプ C-f 一文字次に進む C-b 一文字前に戻る M-f 一単語次に進む M-b 一単語前に戻る C-n 次の行に移動 C-p 前の行に移動 C-a 行頭に移動 C-e 行末に移動 M-f ( f) で一単語先へ、M-b ( b) で一単語前 Emacsの大抵のコマンドには数値引数を与えることができます。大抵の場合こ の数値で繰り返し回数を指示することになります。数値引数を与えるには、コ マンドを入力する前に C-u に続いて数字何桁かタイプします。もしメタキー が使えるなら、メタキーを押しながら数字をタイプすることもできます。 例えば C-u 8 C-f とタイプすると8文字分先に移動します。 C-x 1 ウィンドウを1つにする(つまり他のウィンドウを全部消す) 続いて C-h k C-f とタイプして下さい。 新しいウィンドウが C-f コマンドの説明文を表示するために現れるととも に、このウィンドウがどのように縮むかを見て下さい C-u 8 * とタイプすると ******** が挿入されます。試してみましょう。 カーソルの直前の文字を削除(delete) C-d カーソルのある文字を削除(delete) M- カーソルの直前の単語を消去(kill) M-d カーソル位置以降にある単語を消去(kill) C-k カーソル位置から行末までを消去(kill) M-k カーソル位置から文末までを消去(kill) 一度に2文字以上消した場合、Emacs はその消したテキストを保存しておいて、 また元に戻すことができるようにしています。この「元に戻す」という動作を 再入(yanking)と呼びます。消したテキストは、元と同じ場所にでも元とは 違う場所にでも再入できます。また、何度も再入してテキストのコピーを複数 作ることもできます。再入のためのコマンドは C-y です。 C-y は、あなたが無くしたものを取り戻すものだと考えましょう。C-k を続け て実行すると、消去した各行は全部まとめて保存されるので、一回の C-y で それらの行が全部再入されます。 過去に消去したテキストを再入したいのに、別のテキストをその後消去した時 はどうすればよいでしょう? C-y は最後に消去したものを再入します。でも それでより以前に消去したテキストがなくなるわけではありません。そういう テキストは M-y で再入できます。C-y で最後に消去したテキストを再入した 直後にM-y をタイプすると、その再入されたテキストはそれ以前に消去したも のに変更されます。何度も続けて M-y をタイプすると、さらに前に消去した テキストを呼び戻せます。望みのテキストに行き当ったら、それはそのままに して編集作業を続ければよいのです。 通常、C-x u は一つのコマンドによる変更を取り消します。続けて何度も C-x u を行えばそのたびに一つ前のコマンドが取り消しになります。 ファイルを開くためのコマンドはこれまで学んだものとは違い、ファイルの名 前を指定しなければなりません。これを、コマンドが「端末から引数を読み込 む」と言います。今の場合は引数はファイル名です。次のコマンド C-x C-f Find a file をタイプすると、Emacs はファイル名を聞いてきます。タイプしたファイル名 は画面の最下行に表示されます。この最下行は、こういう入力のために使って いる時は、ミニバッファと呼びます。通常の編集コマンドでファイル名を編集 することもできます。 ファイル名の入力中(あるいはその他のミニバッファ入力中)に C-g によっ てコマンドをキャンセルできます。 C-x C-s Save the file Emacs が現在持ってい るバッファのリストを見るには、次のようにタイプします。 C-x C-b List buffers C-x s 何れかのバッファをセーブする C-x s は、まだセーブしていない変更があるバッファそれぞれについて、それ をセーブするかどうかを聞いてきます。 >> 一行テキストを入力してから C-x s とタイプして下さい。 TUTORIAL.ja というバッファをセーブするかどうか聞いてくるはずです。 「はい」と答えるために "y" とタイプして下さい。 C-x コマンドはたくさんあります。これまでに、以下を学びました。 C-x C-f ファイルを開く(Find) C-x C-s ファイルのセーブ(Save) C-x C-b バッファのリストアップ C-x C-c Emacs を終了 C-x u 取り消し 名前による拡張コマンドには、あまり使わないものや、特定のモードでしか使 わないものがあります。たとえば replace-string ですが、これは文字列を置 換するものです。M-x をタイプすると、Emacs は画面の最下行に M-x と表示 し入力を促すので、そこにコマンドの名前(この場合 "replace-string")を 入れなければなりません。"repl s" とだけタイプすると Emacs がコマ ンド名を補完してくれます。コマンド名を入れたら を打って下さい。 "Replace string" コマンドには引数が二つ必要です。どの文字列をどう置換 するかです。各引数を入力するたびに を打って下さい。 >> カーソルをここから2行下の空行に移動させて下さい。 M-x repl schangedAltered とタイプしましょう。 この行がどう変わるか(Altered)見ましょう。あなたはカーソル以降全部の c-h-a-n-g-e-d という語を "altered" に変えたのです。 検索を始めるためのコマンドは、前向きに検索するならば C-s、後向きなら C-r です。まだです!!今はまだ試さないで下さい。 >> さて C-s とタイプして検索を始めましょう。ゆっくりと1文字ずつ "cursor という単語を入力します。1文字打つ毎にカーソルがどう動くか 見ましょう。 さあ、"cursor" が1回見つかりました。 >> もう一度 C-s と打って次の "cursor" を見つけましょう。 >> 今度は を4回打って、カーソルの動きを見て下さい。 >> と打って検索を終了しましょう。 何が起ったか分りますか?インクリメンタル検索では、あなたがそれまでに打っ た文字列が現れるところに行こうとします。次の "cursor" に行くにはもう一 度 C-s と打ちます。もしもうそういう文字列が無かったら、ベルをならして 検索が現在は失敗していることを知らせます。C-g を打てば検索を終われます。 日本語を検索する時 C-s の後に Enter >> それから C-x 2 とタイプし画面を2つのウィンドウに分割しましょう。 どちらのウィンドウもこの入門ガイドを表示しています。カーソルは上の ウィンドウにあります。 >> C-M-v とタイプし下のウィンドウをスクロールさせましょう。 (メタキーがない場合は ESC C-v とタイプします。) >> C-x o ("o" は "other(他方)" を意味します)をタイプし下のウィンド ウにカーソルを移して下さい。 >> 下のウィンドウで C-v や M-v を使ってスクロールさせましょう。 ここに書いてある指示は上のウィンドウで読み進んでください。 >> もう一度 C-x o とタイプし、カーソルを上のウィンドウに戻します。 カーソルは上のウィンドウの元あった位置に戻ります。 C-x o を使ってウィンドウ間を行ったり来たりできます。各ウィンドウはそれ 自身のカーソル位置を保持していますが、一度には一つのウィンドウだけがカー ソルを表示します。通常の編集コマンドは皆カーソルがあるウィンドウに対し て働きます。そのウィンドウを "selected window (選択中のウィンドウ)" と 呼びます。 C-M-v コマンドは、一つのウィンドウで文章を編集中に他のウィンドウを参照 している時に役立ちます。編集中の場所にカーソルを保ったまま、C-M-v で他 のウィンドウを読み進めて行くことができます。 C-M-v はコントロールメタ文字の一例です。メタキーがある場合は、コントロー ルキーとメタキーを押しながら v をタイプします。コントロールキーとメタ キーはどちらを先に押しても構いません。どちらもその後にタイプされる文字 に対する修飾キー (modifier key) として働くからです。 ヘルプ機能を使うには、C-h に続いてどんな種類のヘルプが必要かを示す1文 字をタイプします。もしそれすら分らない場合は C-h ? とタイプしましょう。 どんな種類のヘルプを提供できるかが示されます。もし、C-h をタイプしてか ら気が変わったら、C-g をタイプして取り消すことができます。 1.8 コマンドの中断・アンドゥ  コマンドを実行するキーを間違えて入力してしまった場合に、 途中までキー入力したコマンドを中断させるためには C-g (keyboard-quit) コマンドの中断 を利用します。  ただし、このコマンドはあくまでもキーボードからの入力を中断するためのコマンド なので、例えばC-fのように1つのキー入力で実行完了するコマンドの場合には 無効です。 このようなときに、実行したコマンドを取り消すためにアンドゥが用意されています。 アンドゥには C-_ (undo) コマンドの実行前に戻る。 C-x u (advertised-undo) コマンドの実行前に戻る。 -q (quoted-insert) 次に入力された文字をそのまま用いる というコマンドが用意されています。このコマンドを利用して、例えば C-q C-l のようにして入力します。この例の場合にはコントロール・エルが入力されます。 画面上では^Lのように表現されます。画面上2桁を占有してますが、 1文字として扱われます。  また、C-qの後に3桁の数字を続けて入力すると、 文字コードの8進入力となります。例えば C-q 123 .11 マークとリージョン  今までに説明した削除や挿入などのコマンドは、文字または行単位に操作するための コマンドでした。Emacs には、この他に、文章をブロック単位で編集するコマンドが 用意されています。このブロックのことをリージョンと呼びます。  リージョンは、ユーザが設定したマークと現在のカーソル位置との間の領域に なります。ユーザはテキスト上の好きな位置にマークを設定することができます。 マークを設定するコマンドは、 C-@ (set-mark-command) マークをカーソル位置に設定する。 M-@ (mark-word) 単語の最後にマークを設定する。 C-x h (mark-hole-buffer) バッファ全体にリージョンを設定する。 などがあります。マークを設定しても画面上では何の変化も起こらないので注意が 必要です。但し、C-x hは、カーソル位置が移動してしまいます。  さて、このようにして設定したリージョンに対して、いくつかの操作が用意されて います。 C-w (kill-region) リージョンを削除する。 M-w (copy-region-as-kill) リージョンの内容をkill-ringにコピーする。  C-wはkillコマンドなので、削除されたリージョンはkill-ringに保存されて、 行削除のときと同じようにC-y取り出すことができます。この機能を利用して ブロック単位の移動を行なうことができます。  また、M-wはC-wと違って、リージョンの削除を行なわずに、kill-ringへのコピー のみを行ないます。コピーされたリージョンは、やはりC-yで取り出すことができます。 この機能を利用してブロック単位のコピーを行なうことができます。  リージョンの行数を数えるには、次のコマンドを使用します。 M-= count-lines-region リージョンの行数をエコー領域に表示  リージョンに対しては、他にも様々なコマンドが使えます。 例として、 capitalize-region リージョン内の全単語について、 頭文字だけ大文字に、残りを英小文字にする。 C-x C-l downcase-region リージョン内の英大文字を英小文字に変換する C-x C-u upcase-region リージョン内の英小文字を英大文字に変換する  同じことは、単語単位でもできます。 M-c capitalize-word カーソルから前方に1単語、 頭文字だけ大文字に、残りを英小文字にする。 M-l downcase-word カーソルから前方に1単語、 英大文字を英小文字にする。 M-u upcase-word カーソルから前方に1単語、 英小文字を英大文字にする。  負の数値引数を与えると、カーソルの後方の単語を処理しますが、 カーソル自体は動きません。 1.12 文字列の検索  検索というのは、目的の文字列を探し出すことです。  Emacsで文字列の検索をするには、いくつかの方法があります。もっとも一般的な 検索の方法は次の2つです。 C-s (isearch-forward) ファイルの前方に段階的に検索する。 C-r (isearch-backward) ファイルの後方に段階的に検索する。  isearchは、incremental searchの略で、これを「段階的」と訳しました。 これらのコマンドを実行すると、ミニバッファに検索文字列の入力を求めてきます。 検索文字列を入力すると、Emacsは段階的検索を行ないますので、一文字入力するごとに その入力途中の文字列に一致する、最初に見つかった文字列にカーソルが移動します。 検索文字列の入力が終わり、その文字列の次の位置にカーソルを移動したいのなら、 C-sまたはC-rを連続して入力します。C-sをやる度に、次にみつかった位置に カーソルは移動します。 このときファイルの最初または最後に達しても見つからなければ、 エコー領域にメッセージを出力して、ファイルの最後または最初から検索し直します。  検索を終了したい場合には[ESC]とすれば、現在のカーソル位置で、 検索を終了します。一方、検索をC-gによって中断すると、 カーソルは検索開始前の位置に戻ります。  一度検索した文字列は、検索終了後([ESC]で終了した時)も保存されていますので、 次に同じ文字列を検索したい場合には、C-s C-sまたはC-r C-rで検索再開可能です。  検索については、第4章で詳しく述べます。 ------------------------------------------------------------------------------- http://kawacho.don.am/win/meadow/install.html Meadow をインストールする Meadow 1.14(AWSAKA:62) のインストール手順を紹介します。Meadow を初めて使う人 向けに、設定ファイルのインストール方法やチュートリアルも紹介しています。 初心者向けに詳しく書いた分、詳しい人にとってはかなり冗長になっていると思いま す。不要な部分は適宜読み飛ばしてください。 最終更新日: 2001 年 04 月 20 日 2001 年 04 月 20 日 Meadow 1.14 リリースにあわせて更新。初期設定ファイルのインストール手順 などを追加。古くなったβ版(1.13b1 など)に関する記述を削除。 コマンドプロンプトでの補完を別ページに。 目次 はじめに 基礎知識 MS-DOS プロンプト(コマンドプロンプト) ダウンロードするときの注意 ダウンロード 各アーカイブの説明 展開(解凍) *.tar.gz について tar.exe, gzip.exe のインストール Meadow のアーカイブを展開する インストール 環境変数の設定 環境変数の設定方法(Windows 95/98/Me の場合) 環境変数の設定方法(Windows NT/2000 の場合) 環境変数設定時の注意 HOME - ホームディレクトリ PATH - コマンド検索パス TZ - タイムゾーン TMP - テンポラリ・ディレクトリ 環境変数設定のまとめ 起動と終了 日本語環境向けの初期設定 Meadow の設定・カスタマイズ方法 設定ファイルのインストール Emacs Tutorial 日本語版 はじめに 基礎知識 Meadow は Emacs を Windows に移植・機能強化したものです。Meadow のベースとな っている Emacs は UNIX 系 OS で広く使われているエディタなので、普通の Windows アプリケーションを使っているときには聞かなかった用語がいくつか出てきます。 インストール前に、次の用語の意味がなんとなくでいいので分かっていた方がいい でしょう。 ディレクトリ(フォルダと同じ) パス 環境変数 ホームディレクトリ コマンド検索パス(環境変数 PATH) こららの用語は Linux や FreeBSD など UNIX 系 OS の入門書にはまず間違いなく載 っています。わからない場合はその手の書籍を参照するか、ウェブで検索して調べて ください。 MS-DOS プロンプト(コマンドプロンプト) MS-DOS プロンプト(Windows NT/2000 の場合はコマンドプロンプト)で作業するこ とがしばしばあります。ショートカットをデスクトップにコピーしておくと便利でし ょう。[スタート] - [プログラム] の中のどこかにあるはずです(98/98/Me/NT4/2000 によってある場所が違う…)。[スタート] ボタンを右クリックして [エクスプローラ で開く] を選択すれば、ショートカットに簡単に辿り着けるでしょう。 Windows 2000 のコマンドプロンプトで補完機能を有効にする方法は、別のページに 移動しました。 Windows 2000 のコマンドプロンプトの補完機能を有効にする方法 ダウンロードするときの注意 ウェブブラウザでダウンロードすると、ファイル名が勝手に変更されてしまうことが あります。例えば、次のように、途中のピリオドがアンダーバーに変更されることが あります。ウェブブラウザでダウンロードする場合は、このような意図しない勝手な 変更に注意してください。 ○ Meadow-1.14-i386-base_tar.gz × Meadow-1_14-i386-base_tar.gz このような問題を避けたり、確実にダウンロードできるよう、FTP サーバーからの ダウンロードには、FFFTP や NextFTP などの FTP クライアントを使うことを推奨 します。私は NextFTPを使っています。 窓の杜ライブラリ(FTP 関連) なお、この文書ではダウンロードしたファイルを C:\download\ ディレクトリに置い ているものと仮定しています。別のディレクトリ(フォルダ)にダウンロードしても かまいませんが、その場合は適宜読み替えてください。C:\download\meadow\ のように Meadow 用ディレクトリを作成し、そこに入れるのもいいでしょう。 ------------------------------------------------------------------------------- ダウンロード Meadow の最新バージョンは、2001年04月にリリースされた Meadow 1.14(AWSAKA:62) です(Emacs 20.7/Mule4.1 ベース)。Meadow の作者・宮下尚さんによる Meadow/Mule for Windows (非)公式情報 には現在アクセスできないので、次に挙げる FTP サイトの いずれかから直接ダウンロードすることにします。 ftp://ftp.m17n.org/pub/mule/Windows/(一次配布) ftp://ftp.etl.go.jp/pub/mule/Windows/ Meadow のアーカイブは次の 4 つにわけられており、必要なものだけを選んで ダウンロードすることになっています。 Meadow-1.14-i386-base.tar.gz(必須) Meadow-1.14-i386-els.tar.gz(おすすめ) Meadow-1.14-i386-leim.tar.gz Meadow-1.14-src.tar.gz どのファイルもサイズが大きいので、ダイヤルアップ環境ではダウンロードするの に時間がかかります。各アーカイブの説明は、FTP サイトにある 00ARCHIVES.jp.txt に記されています。まず最初に 00ARCHIVES.jp.txt だけをダウンロードして読み、 必要なアーカイブのみをダウンロードしましょう。 各アーカイブの説明 Meadow-1.14-i386-base.tar.gz(必須) Meadow を動かすのに最低限必要なバイナリ実行ファイルと標準添付 Emacs Lisp ファイルをまとめたもの。このアーカイブさえあれば Meadow をインストール して使い始めることができます。標準添付 Emacs Lisp ファイルは、 バイトコンパイル済みのもの(*.elc)のみで、ソースファイル(*.el)は 含まれていません。 Meadow-1.14-i386-els.tar.gz(おすすめ) "base" に入っているバイトコンパイル済み Emacs Lisp のソースをまとめたも の。 これをインストールすると、普段使用する Emacs Lisp 関数・変数の内容 を簡単に調べられるようになります。 Meadow-1.14-i386-leim.tar.gz Emacs で各種言語の入力を可能にするライブラリ(LEIM = Library fo Emacs Input Method)。Meadow の場合は標準で Windows の IME(ATOK や MS-IME) で日本語入力できるので、LEIM をインストールしなくてもよい。 Meadow-1.14-src.tar.gz Meadow の全ソースファイルをまとめたもの。自分でコンパイルしたい人用。 コンパイルするには Microsoft Visual C++ 6.0 以降が必要。知識と環境が そろっていないとダウンロードしても無意味です。 初めての人には、"base" と "els" をダウンロードすることをオススメします。 ------------------------------------------------------------------------------- 展開(解凍) アーカイブのダウンロードが完了したら、各アーカイブをインストールしたいディレ クトリ(フォルダ)に展開します。まず最初に、*.tar.gz 形式と解凍ソフトについ て説明しておきます。 *.tar.gz について ダウンロードしてきた Meadow のアーカイブのファイル名は *.tar.gz となっていま す。Windows でよく使われている LHA(*.lzh), ZIP(*.zip) とは異なる、見慣れない ファイルだと思います。 *.tar.gz は UNIX でよく使われている圧縮形式で、複数のディレクトリ・ファイルを tar コマンドでひとまとめにしてから gzip コマンドでギュッと圧縮したものです。 拡張子が *.tar.gz と二重になっているのはそういうわけです。展開するときは、 圧縮するときの逆で、gzip の圧縮をといてから tar でまとめられたものをバラしま す。(ちなみに tar は「たー」、gzip は「じーじっぷ」と読みます。) Windows 環境で *.tar.gz 形式の圧縮ファイルを展開するには、UNIX の tar, gzip コマンドを移植したもの(tar.exe, gzip.exe)を使います。Windows の解凍ソフト にも *.tar.gz に対応したものがありますが(WinZip, 解凍レンジなど)、解凍時に 改行コードが変換されないよう注意してください。 アーカイブはtar.exeとgzip.exeで解凍できます。 ほかの解凍ツールを使う場合、 LF を CR+LF に変換する機能を使わないでください。 (Winzipはデフォルトでは LF を CR+LF に変換します。) -- Meadow 付属ドキュメント INSTALL.Meadow.ja より引用 tar.exe, gzip.exe のインストール Windows 用の tar, gzip は次の FTP サイトからダウンロードできます。 ftp://ftp.m17n.org/pub/mule/Windows/tools/ ftp://ftp.etl.go.jp/pub/mule/Windows/tools/ tar.exe と gzip.exe をダウンロードしたら、それらを「パスがとおったディレクトリ 」に入れます。どのディレクトリにパス(コマンド検索パス)がとおっているかは MS-DOS プロンプト(コマンドプロンプト)で次のようにして確認します。 C:\> path もしくは C:\> echo %PATH% コマンド検索パスに入ってるディレクトリが全て表示されます。Windows 95/98 なら C:\Windows\Command、WindowsNT なら C:\WINNT\system32 ディレクトリが該当すると思いま す。そのまま MS-DOS プロンプトから移動させるか、エクスプローラでファイルを移動してやります。パスがとおったディレクトリに tar.exe, gzip.exe を入れたら、コマンド名 --version と 入力してバージョン情報が表示されるかどうか確認します。 C:\> tar --version GNU tar 1.11.8 + 1.5(WIN32) C:\> gzip --version gzip 1.2.4 (18 Aug 93) : Meadow のアーカイブを展開する ダウンロードしてきた Meadow のアーカイブを、インストールしたいディレクトリ に展開します。ここでは C:\Meadow に展開・インストールすることにします。 インストール先は C:\usr\local\Meadow など他のディレクトリでもかまいません。 その場合は適宜読み替えてください。但し、かな漢字などの全角文字や空白を含む ディレクトリにインストールすると正常に動作しないかもしれないので注意しましょ う。例えば、「C:\Program Files\Meadow」は空白を含むのでダメです。 C:\Meadow に展開するには、MS-DOS プロンプト(コマンドプロンプト)を立ち上げ、 C:\ をカレントディレクトリにしてから展開します。C:\usr\local\Meadow に インストールしたい場合は、C:\usr\local をカレントディレクトリにしてから展開 すればよいでしょう。 ドライブの移動は「C:」や「D:」と打ち、ディレクトリの移動は「cd ディレクトリ のパス」とします。したがって、 E:\somewhere> C: C:\WINDOWS> cd C:\ C:\> のようにすれば C:\ がカレントディレクトリになります。プロンプトが C:\> とな っているのを確認したら、次のようにして Meadow のアーカイブを順に展開していき ます。tar だけで gzipを使っていないように見えますが、 tar の z オプションで、 内部的に gzip を呼び出して解凍しています。"x" は展開(解凍)する、"v" は展開 するときにメッセージを表示するオプションです。最後の "f ファイル名" で展開 するファイルを指定しています。 C:\> tar zxvf C:\download\Meadow-1.14-i386-base.tar.gz Meadow/ Meadow/1.14/ : : Meadow/site-lisp/ Meadow/site-lisp/subdirs.el C:\> tar zxvf C:\download\Meadow-1.14-i386-els.tar.gz Meadow/1.14/lisp/abbrev.el Meadow/1.14/lisp/abbrevlist.el : : Meadow/1.14/lisp/xt-mouse.el Meadow/1.14/lisp/zone-mode.el ## LEIM もインストールしておくなら… C:\> tar zxvf C:\download\Meadow-1.14-i386-leim.tar.gz Meadow/1.14/leim/ Meadow/1.14/leim/leim-list.el : : Meadow/1.14/leim/skk/skkdic.el Meadow/1.14/leim/skk/skkdic.elc ファイルの数が多いので、展開し終わるまでしばらく時間がかかります。展開し終わ ったら、ディレクトリ構成を確認しておきましょう。間違った場所に展開してしまっ た場合は、削除してからやり直せばいいでしょう。 C:\Meadow\1.14\... \site-lisp\... \INSTALL.Meadow \INSTALL.Meadow.ja ← 読むべし \README.Meadow \README.Meadow.ja ← 読むべし README.Meadow.ja や INSTALL.Meadow.ja には必ず目をとおしておきましょう(難しい 部分は読み飛ばしてもかまいませんが)。これらは *.txt といった拡張子がついていな いのでダブルクリックでは開けませんが、普通のテキストファイルなので、メモ帳や他 のエディタで開くか、ウェブ・ブラウザにドラッグ&ドロップして読んでください。 ------------------------------------------------------------------------------- インストール Meadow\1.14 ディレクトリにある install.exe がインストールプログラムになってい ます。このファイルを実行するとインストールが始まります。エクスプローラから ダブルクリックしても、MS-DOSプロンプトから実行しても、どちらでもかまいません。 ホームディレクトリの入力 最初に次のように表示されます。 Meadowが.emacsファイルを読み込むディレクトリを指定してください。 何も設定しない場合は、Meadowは以下のディレクトリに存在する.emacsファイル を読み込みます。 [C:\Meadow\1.14] ここでは、C:\home\kawacho のように、自分のホームディレクトリを入力します。こ こで入力するのは「デフォルトのホームディレクトリ」で、環境変数 HOME が設定さ れている場合はそちらが採用されます。後で環境変数 HOME の設定を行うので、ここ ではそのままリターンキーを押してもかまいません。リターンキーを押すとファイル のコピーなどの作業が始まります。完了するまでしばらく待ちましょう。 ショートカットの編集 インストールプログラムによって、[スタート] - [プログラム] - [Meadow] に Meadow のショートカットが作成されます。いちいちスタートメニューから起動させるのはめん どくさいので、デスクトップにコピーするか、ランチャーに登録しておくとよいでし ょう。 続いて、デスクトップにコピーしたアイコンを右クリックしてプロパティを開き、 作業ディレクトリをホームディレクトリに変更しておきます。環境変数 HOME を設定 した後であれば、 C:\home\kawacho の部分を %HOME% と書くことができます。 他のエディタと同様に、右クリックの「送る(SendTo)」メニューに Meadow の ショートカットを追加したいところですがやめておきましょう。「送る」メニューに 追加したい場合は、別途 gnuserv という Meadow を便利にするものを導入してからに ます(詳細は別の文書で)。 環境変数の設定 次の 4 つの環境変数を設定します。 HOME -- ホームディレクトリ PATH -- コマンド検索パス TZ -- タイムゾーン TMP -- 一時ファイル作成場所 環境変数の設定方法(Windows 95/98/Me の場合) Windows 95/98/Me の場合、環境変数の設定は、システムのあるドライブ(普通 C ド ライブ)のルートにある autoexec.bat というテキストファイル、つまり C:\autoexec.bat にコマンドを書き込むことで行います。(メモ帳などの普通の エディタで編集できます。) Windows のデフォルトの設定では、ファイルの拡張子(*.bat など)や、autoexec.bat のようにシステムの動作に関わる重要なファイルはエクスプローラでは表示されない ようになっています。拡張子・隠しファイルを表示するには、エクスプローラの オプション画面で設定します(手順は自分でいじくってみるか、Windows 系の雑誌・ ウェブサイトを探してください)。 環境変数の設定方法(Windows NT/2000 の場合) Windows NT4/2000 の場合は、[コントロールパネル] - [システム]で設定します。 デスクトップにある [マイコンピュータ] を右クリックして「プロパティ」を選択 しても同じ画面が出るはずです。なお、このページで紹介している記入例は Windows 95 /98 の autoexec.bat への記入例ですので、Windows NT/2000 を使っている人は、 適宜読み替えてください。 環境変数設定時の注意 autoexec.bat は Windows 起動時に実行されるバッチファイルです。 autoexec.bat に書き込んだ設定は、再起動しないと有効にならないので 注意してください。 autoexec.bat ファイルを編集する際、余計な空白文字(スペースやタブ)が入 らないよう注意してください。例えば、各行末に余計な空白文字があると正しく 設定されないことがあります(変数の値にその空白文字まで含まれてしまいま す)。空白文字は見えないので、間違いを発見するのも大変です。 HOME - ホームディレクトリ Windows 9x/Me などのシングルユーザを想定した OS と異なり、UNIX は複数のユー ザーで使われています。UNIX 系 OS では、各ユーザごとに、そのユーザ専用の ディレクトリ(=ホームディレクトリ)があり、作成したファイルや設定ファイルは そこに置くことになっています。ホームディレクトリのパスは環境変数 HOME に設定 されます。アプリケーションは環境変数HOME を参照して、ホームディレクトリやそ こにあるはずの設定ファイルを見つけます。 Meadow(Emacs) の場合は、環境変数 HOME で指定されたディレクトリにある ".emacs" というファイルを、ユーザ毎の設定ファイルとして、起動時に読み込みます。(".emacs " というファイルは最初はありません。Meadow を使いながら少しずつ書いていくこと になります。) UNIX では各ユーザのホームディレクトリはだいたい「/home/ユーザ名」という名前に なっています。それにならい、ここでは「C:\home\kawacho」のようなディレクトリを ホームディレクトリとして作成し、環境変数 HOME に設定することにします。 autoexec.bat ファイルに次のように書き足してください。 set HOME=C:\home\kawacho もしあなたの名前が「オコメツブ」なら「C:\home\okometsubu」を環境変数 HOME に 設定すればいいでしょう。もちろん他のディレクトリでもかまいませんが、例によっ て空白や日本語(仮名・漢字)など全角文字を含むディレクトリはトラブルの元なので やめておきましょう。 PATH - コマンド検索パス tar, gzip のところでも少しだけ触れましたが、コマンド検索パス(環境変数 PATH ) に含まれるディレクトリ内のプログラムは、MS-DOS プロンプトからコマンド名(プロ グラム名)だけで呼び出すことができます。コマンド検索パスに含まれないディレク トリ内のプログラムは、実行するときにいちいち C:\somewhere\bin\fugafuga.exe などとフルパスを打たないといけません。 Meadow の実行ファイルがあるディレクトリ(C:\Meadow\1.14\bin)をコマンド検索 パスに追加することにします(よく「パスをとおす」などと表現されます)。この ディレクトリには Meadowの実行ファイルの他に、fiber.exe, telnet.exe, ftp.exe などのプログラムも入ってます。C:\autoexec.bat に次のように書き足してください。 set PATH=C:\Meadow\1.14\bin;%PATH% %PATH% は環境変数 PATH 自身を表しており、上のように書くと、既存の PATH に Meadow 実行ファイルのあるディレクトリが追加されます。MS-DOS では、パスの区切 りはセミコロンです。コロンと間違えないよう注意しましょう。 ここで追加したのが 1.14 のディレクトリであることに注意しておきましょう。将来、 別のバージョンの Meadow をインストールしたときには、この設定を書き直す必要が あります。 TZ - タイムゾーン タイムゾーンの情報を環境変数 TZ に設定します。Meadow 上で動くメール・ニュース を扱う Emacs Lisp プログラムが参照したりします。日本だと次のように設定します。 set TZ=JST-9 また、コントロールパネルの「日付と時刻」を開き、正しく設定されているかどうかも 確認しておきましょう。 TMP - テンポラリ・ディレクトリ プログラムが一時的な作業ファイルを作成するテンポラリ・ディレクトリを作成し、 環境変数 TMP に設定します。指定したディレクトリ(この場合は C:\tmp)は必ず作 っておいてください。 存在しないディレクトリを指定しているとエラーになります。 SET TMP=C:\tmp 環境変数設定のまとめ Windows95/98/Me の場合は、C:\autoexec.bat に次のように書き足します。 set HOME=C:\home\kawacho set PATH=C:\Meadow\1.14\bin;%PATH% set TZ=JST-9 set TMP=C:\tmp Windows NT/2000 の場合は上記と同等の設定を [コントロールパネル] - [システム] で行います。システム全体の環境変数とユーザ別の環境変数が設定できますが、HOME 以外はシステム、HOME はユーザ別で設定すればいいんじゃないでしょうか。あるいは 、システム環境変数で HOME を C:\home\%UserName% などとすると、各ユーザの HOME が C:\home\ログイン名 になると思いますので、そっちにしてもいいでしょう。(NT/ 2000 のログイン名に仮名・漢字を使っている場合はやめておいた方が無難でしょう。) これらの設定は再起動後に有効になります。パソコンを再起動させてから Meadow を起動させてみましょう。 ------------------------------------------------------------------------------- 起動と終了 環境変数を設定した後、Windows を再起動させたら Meadow を起動させてみましょう。 Meadow を起動させるには、インストーラが作成したショートカットをダブルクリック するか、 MS-DOS プロンプト(コマンドプロンプト)で C:\> meadow とします(MS-DOS プロンプトから起動できない場合は、環境変数 PATH が正しく設定 されているか確認してください)。正しくインストールされていれば次のような画面 が表示されます。 "Welcome to GNU Emacs" だとかいろいろ書かれています。何か操作したりすると "This buffer is for notes you don't want to save" と書かれた画面(*scratch* バッファ)に変わります。この画面は保存する必要のない落書きとかちょっとした 作業用の画面です。ここに何を入力しても終了時には保存されません。 Meadow を終了するには、通常の Windows アプリケーションと同様、右上のクローズ ボタン(×ボタン)が使えます。また、メニューの [Files] - [Exit Emacs] からで も終了できます。キーボード操作で終了させるには CTRL キーを押しながら x を押 し、続けて、CTRL キーを押しながら c を押します(このような操作を C-x C-c と 表記します)。 日本語環境向けの初期設定 Meadow(Emacs 20.x) は日本語向けに特化したエディタではなくて、多言語対応エディ タです。日本語メインで使う場合でも、それなりの設定をする必要があります。また、 Windows 向けに機能拡張されているとはいえ、ベースは Emacs であり、ATOK や MS-IME など Windows の IMEを使う場合でも、それなりの設定をする必要があります。 要するに、普通に日本語の文書を書くためのエディタとして使い始めるにも、ちょっ とした設定が必要ということです。Meadow 1.14 からは設定ファイルのサンプルが 付属するようになったので、日本語環境向けの初期設定は非常に簡単になりました。 以下、その手順を紹介します。 Meadow の設定・カスタマイズ方法 Meadow(Emacs) の設定は、ホームディレクトリに ".emacs" という名前のファイルを 作成し、その中に Emacs Lisp というプログラミング言語の式を書くことで行います。 Meadow を起動させると、環境変数 HOME で設定したホームディレクトリに ".emacs" というファイルがないか調べ、見つかった場合はそれを読み込みます。".emacs" に 書かれた Emacs Lisp の式が順番に評価(実行)され、最終的にはカスタマイズされた Meadow が立ち上がるというわけです。 設定は、".emacs" ファイルにエディタで直接書き込みます。Windows の他のエディタ のように、GUI 画面・マウス操作で設定、というわけにはいきません。一応、Custom というMeadow(Emacs) の画面内で GUI(?) で設定するライブラリがありますが、Emacs の操作や概念になれていない初心者には使いづらいでしょう。 Emacs Lisp 言語に関しては、知らなくても、書籍やウェブで紹介されている設定を コピー&ペーストすればよいので、そんなに困ることはありません。使っているうち に、あるいは設定例を見ているうちに、自然と基本的なところは覚えられるでしょう。 Meadow の設定・カスタマイズは以上のように少々敷居が高いものになっていますが、 幸いにも、Meadow 1.14 から "dot.emacs.ja" という日本語環境向けの設定ファイルが 付属するようになりました。このファイルをホームディレクトリにコピーしてファイル 名を変更してするだけで、日本語・Windows 対応の Meadow が起動します。(設定フ ァイルをイチから作ることを考えるとだいぶ親切・簡単になりました。) 設定ファイルのインストール Meadow をインストールしたディレクトリに "dot.emacs.ja" というファイルがありま す。このファイルをホームディレクトリにコピーして、ファイル名を ".emacs" に変更 するだけでよいのですが、Windows のエクスプローラ上で作業を行うとエラーになって しまい、うまくいきません。エクスプローラ上では "." で始まるファイル名に リネームできないようです。仕方がないので、MS-DOS プロンプトの rename コマンド (ren コマンド)を使うことにします。 まず、"dot.emacs.ja" をホームディレクトリにコピーします。間違って削除した場合 のことを考えて、「移動」ではなくて「コピー」することにします。ホームディレク トリにコピーしたら、MS-DOS プロンプト(コマンドプロンプト)を立ち上げます。 まずはホームディレクトリに移動します。 C:\> cd C:\home\kawacho もしくは C:\> cd %HOME% ホームディレクトリを別のドライブ(例えば E: ドライブ)に設定している場合は、 次のように、まず最初にドライブの移動をします。 C:> E: E:> cd E:\home\kawacho ホームディレクトリに移動したら、rename(ren) コマンドを使って "dot.emacs.ja" を ".emacs" にリネームします。 C:\home\kawacho> rename dot.emacs.ja .emacs MS-DOS の dir コマンドかエクスプローラ上で、ファイル名が変更されたことを確認 してください。うまくいったなら、Meadow を起動させてみます。サンプルの設定 ファイル内でウィンドウサイズや色が変更されているので、これまでとは違った感じで Meadow が起動すると思います。 また、C-\(CTRLキーを押したまま \ キーを押す)で日本語入力(Windows IME)が ON/OFF するはずです。同時に IME ON/OFF でカーソルの高さが変わること、 モードライン(画面下部の黒い行)左端のインジケータが [あ] と変わることを確認 しておきましょう。 設定・カスタマイズの詳細は設定編参照してください。 Emacs Tutorial 日本語版 Meadow(Emacs) を使うのは初めてという人は、まず、Meadow に付属している日本語 チュートリアルを読みながら、基本的な操作方法を覚えていくといいでしょう。基 本的なコマンドはメニューから選択できますが、キーボードでやってこそ Emacs で しょう。最初の内はメニューに頼ってもかまいませんが、カーソル移動、ファイルの 新規作成・保存、カット・コピー・ペーストなどの基本操作がキーボードからできる ように頑張りましょう。 日本語チュートリアルを表示させるには、Meadow を起動させ、[Help] - [Emacs Tutorial] を選択します。(dot.emacs.ja をちゃんと入れていないと英語版が表示 されてしまいます。) 表示されたチュートリアル(のバッファ)を消すには C-x k と入力します(CTRL キー を押しながら x を押し、次に、k を単独で押す)。チュートリアル画面に何か書き込 んだり変更を加えた場合は、終了前に「保存せずに消してもよいか」聞いてくるので yes/no で答えます。Meadow 自体を終了させるには C-x C-c と入力します。 Home > Windows > Meadow > Install Copyright (C) 2000-2001 KAWAHARA Masayoshi All Rights Reserved. mailto:kawacho@don.am -------------------------- Proc Status Buffer Tty Command ---- ------ ------ --- ------- compilation run *compilation* (none) cmdproxy.exe /c grep main *.c Meadow 終了時の状態を保存 寺脇です。 Meadow 終了時の状態を保存し、次の起動のときに 前回終了時のそのままの状態に復元することはできるでしょうか? 終了時にオープンしていたバッファを全てオープンし、 各バッファのポイントも復元してくれるとありがたいのですが、 どうでしょう? ついでに過去の検索文字列とかも復元できればありがたいです(^^;) http://www-e7.ele.eng.osaka-u.ac.jp/ichiro/manual/emacs-jman/emacs/index.html#TOC416 Emacsセッションの保存 http://www.geocities.co.jp/Bookend-Soseki/1554/soft/meadow_1.html 1.5.1 *scratch* バッファを利用する *scratch* は便利なバッファです.例えば (setq my-test 1) を入力後,C-j を入力して下さい.すると (setq my-test 1) 1 という風に出力されたと思います.これは,my-test に 1 が代入されたことを意味します.今度は (setq my-test (+ my-test 1)) と入力して,同じように C-j を入力してください.すると, (setq my-test (+ my-test 1)) 2 と出力されます.このように,*scratch* バッファは Emacs-lisp を簡単に評価できるので,Emacs-lisp の勉強やちょっとした設定の際に便利に使えます. (+ 1000 2000) と入力して,同じように C-j を入力してみてください.すると, (+ 1000 2000) 3000 c:\cygwin\usr\local\bin;c:\cygwin\usr\bin;c:\cygwin\bin; C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;c:\cygwin\usr\local\bin;c:\cygwin\usr\bin;c:\cygwin\bin;C:\JUST\JSLIB32;c:\utl; http://www.d4.dion.ne.jp/~usuda/emacs/ 有用なリンク集 変更が終ったら、mule か nemacs の中で「M-x byte-compile-file」 コマンドを使って、stk.el をコンパイルします。このコマンドを 実行すると、nemacs や mule がファイル名を入 力するように 促しますから、ここで stk.el の絶対パスを入力します。コンパイルが 終ったら、stk.el と同じディレクトリに stk.elc という ファイルが生成されますから、 mule/nemacs の LISP ファイルを置くディレクトリ (/usr/local/mule/lisp など) に stk.elc を、ルートの権限で コピーします。パーミッションの設定も忘れずに。 http://www-tap.scphys.kyoto-u.ac.jp/~akido/lang/lisp/matsu/emacs-lisp-intro-jp_toc.html Emacs Lisp によるプログラミング --初心者のための入門-- http://shakosv.sk.tsukuba.ac.jp/ShakoDoc/Editors/NEmacs/EmacsGuideInJ_html/chap0650.html#section060403