Meadowとxyzzyとの違い

とりあえず、覚書です。

xyzzyエディターとは、亀井さん作成の、Emacsエディターに似たWindows用エディターです。 Comman LISPによく似たマクロ言語を使用しており、 またMeadowよりもWindows風味が強いです。
亀井さんのホームページ
http://www.jsdlab.co.jp/~kamei/
から入手可能です。

xyzzyのキー定義は、基本的にEmacs19(Mule2)のキー定義と似ています。


文字コードの指定

文字コード名がわからなければ、tabキーを押して補完機能を使ってみてください。

文字コードを指定してファイルを開く(find-file, C-x C-f)には

一般に、Meadowではコマンドの前に C-x C-m c で文字コードを指定してから、 使いたいコマンドを実行します。 他方xyzzyでは一般に、コマンドの前に C-u を付け、最後に文字コードを指定します。 (つまり、xyzzyのキーバインドはMule2のそれに似ています。)

ファイルの保存時文字コード(バッファの文字コード)を変更するには

クリップボードの文字コードを変更するには


grep結果への移動

M-x grep やM-x grep-dialogによる検索結果一覧で、 目的のファイル(バッファ)の目的の行を表示したい時の方法。 カーソル行の検索結果に移動したい時、

尚、MeadowでのM-x grepに対応するのは xyzzyでのM-x grep-dialogです。 共に、directory内のファイルに対して検索します。

他方、xyzzyでのM-x grepは xyzzy内の全バッファに対して検索します。


韓国語を使っているLISPファイルのロード方法

Meadow(Emacs、Mule)では、LISPファイルにハングルを使っていても、 iso-2022-7bitで保存しておけば、load時に文字コードを load時に文字コードを自動選択してくれます。 あるいはファイルの先頭や末尾に文字コードを明記しておけば 正しく文字コードを選択してくれます。 (ファイルの先頭に

 -*- coding: euc-kr; -*- 
と書くとか、ファイルの末尾に
;;; Local Variables: ***
;;; coding: euc-kr ***
;;; End: ***
と書くとか。)

xyzzyではどうかというと、

-*- encoding: utf-8 -*-
のように書けばよいそうです。

xyzzyの場合、C-x C-f でファイルを開く時は 文字コードの自動判定をしてくれますが、 lispファイルのload時は、実は、文字コードの判定をしてくれません。 Shift-JISコードと決めつけてしまいます。

xyzzyでeuc-krコードで書かれたlispファイルをロードする時は、 次のように頭に"mc-"がついた関数を使います。

mc-autoload
mc-byte-compile-file
mc-byte-recompile-directory
mc-compile-file
mc-load-file
mc-load-library
mc-require
M-x describe-function で引数を調べればわかるように、 文字コードを指定することもできます。

キーボードレイアウト(IME)の変更

xyzzyからIMEやキーボードレイアウトを変更できます。

(list-kbd-layout)
を評価すると (つまり*scratch*バッファに記入して、最後の閉括弧の後でC-jを押す)
( (69075998 . "Thai Kedmanee")
 (-536738799 . "kWnn4 (kWnn)")
 (-536804334 . "kWnn4 (KS)")
 (-536673263 . "Microsoft IME 98")
)
といったリストが返ってきます。 この結果を参考にして、
(select-kbd-layout -536804334)
もしくは
(select-kbd-layout "kWnn4 (KS)")
を評価すると、使っているIME(キーボードレイアウト)が 変更されます。

このIMEの番号を得るもう一つの方法は、 IMEを変更した後で

(current-kbd-layout)
を評価することです。すると、現在のIME(キーボードレイアウト) の番号が返ってきます。

以上を組合せると、たとえば

;;;C-tで、ハングルIMEとトグルする。
(defun toggle-ks-kbd-layout ()
  (interactive)
  (if (string= (cdr (current-kbd-layout)) "kWnn98 R3.0 (KS)")
      (select-kbd-layout "Microsoft IME 98")
    (select-kbd-layout "kWnn98 R3.0 (KS)"))
  )
(global-set-key #\C-t 'toggle-ks-kbd-layout)
と.xyzzyファイルに書けば、 C-tで日本語のIME98と韓国語のkWnn(KS)とを 切り替えることができます。

ちなみに、 日本語IMEのオン・オフを切り替えるには

(toggle-ime) ;on/off切替
(toggle-ime t) ;onにする
(toggle-ime nil) ;offにする
を使えばよいです。
作成日:2001年 2月 9日
更新日:2003年 6月30日

chiyu (chiyu@sings.jp)
目次に戻る