Manual of xyzzy

xyzzyを普段から使っていますが、なかなかすべての機能を使いこなせるものではありません。とりあえず自分がよく使っているものをまとめてみました。もし良かったら何かの参考にしてください。特に断っていない時はデフォルトの設定です。

Last modified: "2005/09/06 10:54:45 +0900"

コンテンツ
このマニュアルを読むにあたって
インストール
簡単な設定
ファイル操作
バッファ操作
ウィンドウの操作
ファイラの使い方
カスタマイズ
その他の拡張
プログラム編
リンク new! (2004/04/10)
検索 (2004/03/17)
Manual of R-mode on xyzzy
図解付録ページ(画像たっぷりなので少し重いです。)
setting.html
xyzzy使いに50の質問への回答

このマニュアルを読むにあたって

もちろんリンクフリーです。ぜひリンクしてください。間違いの指摘、アドバイスなどございましたらどんどんお願いします。

xyzzyの使い方に慣れていない人はまず以下の記号の意味をしっかりと覚えてください。

記号の意味

良く使うものを例にあげておきます。

  1. C-x: Ctrlとxを同時に押す。
  2. M-x: altとxを同時に押す。もしくはESCを押した後にxを押す。
  3. ESC: ESCを押す。

つまりC-x C-sと書いてあれば、Ctrlとxを同時に押し、次にCtrlとsを同時に押すということです。

▲目次へ

インストール

何はともあれ、まずはインストールから。1、2、3は必須。4は出来ればやっておいたほうが、後で自分の使いやすいようにカスタマイズするときに便利です。4については一応下のほうで説明をしていますので、参照してください。付録のページでも図解付きで説明しています。

  1. 亀井さんの所からダウンロード。
  2. 解凍。
  3. 展開(例: c:\tools\xyzzy\)。
  4. 環境変数の設定。
  5. 実行(xyzzy.exeもしくはxyzzycli.exe)。

xyzzy.exeとxyzzycli.exeの違いはあまり気にしなくて大丈夫です。使い込んでいくとわかりますが、新しいウインドウで開くか、新しいタブで開くかのようです。

"C:\Program Files"のように間に空白を含んだフォルダや、"C:\オンラインソフト"のように日本語など2バイト文字を含むフォルダにインストールするのはぜひ避けましょう。まぁ、これは他の多数のOnline Softにも言えることだと思います。

▲目次へ

簡単な設定

特に高度な知識(Common Lisp)がない状態で出来る簡単なカスタマイズです。しかし、ここでしっかり好みに合わせた設定をしておくとかなり使い勝手が向上します。

表示関係

慣れてない人はまずこの操作を行った方がいいと思います。見栄えがWindowsのアプリケーションらしくなります。

フレームについては僕は良くわかりません。少なくとも、チェックを入れなくても困ってません。僕は…。

共通設定

xyzzyを簡単に自分好みにカスタマイズできます。

説明がわかりにくいところは自分で試してみると良いと思います。説明できないことの言い訳ですが、それでも自分でいじってみた方がなんとなく理解できます。変化がないなぁと思ったら、元に戻してデフォルトのままにしておけばどうでしょう?testボタンが用意されているところもあるので活用してみましょう。

さて、ここまでやればマウスを使いながら操作するぶんにはあまり困りません。ここから先はキーバインドやファイラの使い方、カスタマイズの方法です。

▲目次へ

ファイル操作

xyzzyではファイルの操作はすべてバッファといわれるものを通して行います。どういうことかというと、xyzzyによるファイル操作は、1. ファイルからバッファに書き出す、2. バッファをいじる、3. バッファの内容をファイルに書き込むという手順を踏んでいます。最初はイメージが湧かないと思うので、PC上に存在するものをファイル、xyzzyで読み込んでタブに表示されているものをバッファと思っていてください。バッファをいじってもファイルに保存(書き込み)しない限り何も変更されません。(ここの記述は正確さに自信がありませんが、イメージとしてはこんな感じで大丈夫だと思っています。)

ファイルの読み方

ファイルをxyzzyで読み込む方法です。普通のWindowsアプリケーションはファイルに関連付けを行っており、ファイルをダブルクリックしたときに勝手にそのファイルを編集するソフトウェアが実行されます。xyzzyではそのような関連付けはデフォルトで行われることはありません。注意してください。xyzzyでファイルを開くには以下のような方法があります。

  1. 開いているxyzzyにファイルをドラッグ&ドロップする。
  2. xyzzyが開いている状態で、C-c、C-fでファイラを使ってファイルを指定する。
  3. xyzzyが開いている状態で、C-x、C-fの後に開きたいファイル名を書いてリターンキーを押す。

3番目の方法を使う場合は、フォルダにも注意してください。デフォルトではxyzzy.exeのあるフォルダが指定されています。消して書き換えて移動してください。また、途中まで入力してTabを押せば、ある程度補完してくれます。

ファイルの新規作成

ファイルを新しく作る方法です。上記の3番目とほぼ同じです。存在するファイル名を書けば、ファイルを開き、そこに存在しないファイル名を書けば新しいファイルを作ってくれます。ただし、保存せずにxyzzyを終了してしまうと何もなかったことになってしまいます。保存については次のセクションで書きます。

ファイルを作成する際に新しいフォルダを作成することはデフォルトでは出来ません。Webで調べればそういうカスタマイズの方法は紹介されています。やってみたい方は自分で調べてみてください。Common Lispと呼ばれる言語で書かれていますが、いくつも調べて試しているうちに人が書いたもので理解できるものが増えていくと思います。

ファイルの保存

大事な保存方法です。以下のような方法があります。Windowsのキーバインドに慣れてしまっている人にはなかなかなじめないかもしれません。そういう人のためのカスタマイズ法もありますが、それはここでは触れません。

ファイル内の移動

ファイル内のカーソルの移動です。大雑把なところだけ書いています。

次の文字へとか、前の文字へは省略します。僕は矢印キーで動くか、マウスを使ってしまいます。

文字列の検索

デフォルトでどうなっていたか忘れてしまいました。今現在の僕の環境では下のようになっています。設定方法はカスタマイズのところで必ず書きます。

終了する

何はともあれ終了の方法です。

ここまでくれば一通りの作業は出来るのではないでしょうか?ほとんどの作業はマウスで行うことも出来ますので、どんどん使ってみてください。まぁ、エディタを使うときはキーボードを使って操作したほうが楽だとは思いますが。

▲目次へ

バッファ操作

xyzzyはタブでバッファを選択できるのも特徴です。

バッファを移動

バッファ間もマウスを使わずに移動できます。

バッファを閉じる

移動が出来て閉じることが出来ないわけがありません。

たくさんのバッファを操作しているとウィンドウの分割などがやりたくなります。次はウィンドウの操作です。

▲目次へ

ウィンドウの操作

複数のバッファを扱っているときは便利です。使い慣れるといつも分割している気がします。ところで分割する割合を設定する方法を知っている人がいたら教えてください。

ウィンドウの分割

まずはウィンドウの分割です。縦でも横でも分割できます。

ウィンドウ間の移動

どのバッファをどのウィンドウに表示するかによって作業効率は大きく変わります。そのためにはウィンドウの移動は必須です。もちろん、マウスで移動することも可能です。

ウィンドウ幅の調整

これで後はウィンドウの幅さえ調節できれば十分だと思います。もちろん、マウスでも出来ます。

これでとりあえず、一般的なエディタっぽい動作についての説明は終わりましたかね?次はファイラです。僕は他のファイラを使っているのであまり使うことはありませんが、xyzzyが立ち上がっているときに関してはこちらを使う方が手っ取り早いです。

▲目次へ

ファイラの使い方

ファイラはファイルのコピー、移動、削除などの操作をキーボードで行うツールです。必要なDLLファイルをインストールしていれば、圧縮解凍も思いのままです。

起動・移動・ファイルの選択

  1. ファイラの起動: C-c C-f
  2. フォルダの移動: 矢印キーとリターンキー
  3. 左右のウィンドウの移動: Tab もしくは 矢印キー
  4. ファイルの選択: 矢印キーで赤い線を目的のファイルに重ねてスペースキー
  5. 目的の操作にあわせて、ファイラの下の方に書いてある文字を入力する。

例: コピーの場合

  1. 片側のウィンドウでコピー元のファイルを選択
  2. もう片方のウィンドウにコピー先のフォルダを表示
  3. 大文字の C を入力

ファイラというのは慣れるまで少し時間がかかるかもしれませんが、便利です。わざわざ他のソフトをインストールしなくても、xyzzyがインストールされていれば使えるわけですし、一度はお試しください。次はxyzzyの一番の魅力であるカスタマイズに入ります。ここにあるすべてがほぼ他人のおかげです。しかし、どの情報を誰からいただいたかはもうまったく覚えておりません。気がついた人はぜひ教えてください。その都度、情報元を追加していきます。

▲目次へ

カスタマイズ

xyzzyのカスタマイズを極めたいときはぜひLISPを覚えましょう。僕は覚えていないので人が公開しているものをいただいています。

下準備

xyzzyのカスタマイズには下準備が必要です。逆に下準備さえしっかりしておけば、後は人がWeb上で公開している方法を簡単に使わせてもらえます。ものすごく便利になるものから、楽しいものまで揃っていますのでぜひお試しあれ。一応、環境変数や、.xyzzyについては 付録ページ(図解)にて、設定方法を詳しく説明しています。

環境変数の設定

僕のこのページを頼っている人にとってはあまり馴染みのない言葉だと思います。僕もあまり意味はわかりません。このように設定するといいよ~と書いてあったのでしてみました。どうもうまく設定しないと".xyzzy"がうまく認識されないようです。一応例を挙げてみました。(追記: 03/07/20)

Win2000 NT XP
マイコンピュータ右クリック→プロパティ→環境変数
hogeのユーザー環境変数→新規
変数名: XYZZYHOME、変数値: xyzzyのインストールしてある場所。
変数値の例: C:\tools\xyzzy\
Win98 ME
知りません。『XYZZYHOME="xyzzyのインストールしてある場所"』を何かに記述すると書いてあったけど、関心がなかったので覚えていません。

.xyzzy作成

上で設定したXYZZYHOMEに設定した場所に.xyzzyを作る。xyzzyの前に"."があるのに注意。

バッファに書き込むのは別にセミコロンである必要はないのですが、lisp以外のものはかけないので、lispのコメントを表す文字をひとつ書いただけです。多分、内容がないと保存できなかったと思うので…。次のsiteinit.lについても同様です。

siteinit.l作成

xyzzyを解凍したときにあるsite-lispという名前のフォルダの中にsiteinit.lを作る。

以上で下準備終了です。.xyzzyとsiteinit.lの違いはもう少し難しいところで覚えればいいと思います。とりあえずは.xyzzyに書くのはお手軽で、siteinit.lに書くのはxyzzyの起動は早くなるけど、二手間多いと覚えていてください。(ものによっては書き方も違うみたいですが、その差はわかりません。)

とりあえず僕自身のバックアップも兼ねて自分の.xyzzyとsiteinit.lをsetting.htmlにて公開します。人からいただいたものばかりですが、きっと公開する方がxyzzyに貢献していることになると信じています。もし、この記述は公開するなとか、間違っているとかあったらmailaddressまでメールで連絡ください。ではここからはカスタマイズの例です。

How to use

.xyzzyとsiteinit.lを使ったカスタマイズの方法です。これは便利だ!と思っているものを少しだけ紹介します。もっといろいろカスタマイズしたい人は最後の方にリンクをいくつか貼っておきますので自分で調べてみてください。

.xyzzyとsiteinit.lについては稲原さんのxyzzy日記置き場所を決めるに詳しい解説があります。

.xyzzy
.xyzzyには書いてあることはxyzzyが起動のたびに勝手に読み込んでくれます。そのため起動は少し遅くなりますが、カスタマイズは非常に容易です。書き方を失敗していてもxyzzyは立ち上がってくれます。
siteinit.l
siteinit.lにはただ書くだけではだめです。OSごとに違うのですがダンプファイルというのを一旦削除してxyzzyを再起動しないとカスタマイズは反映されません。万が一(変な書き方をしてしまうとxyzzyが立ち上がらない)に備えて、ダンプファイルは削除ではなくファイル名を変えておくだけのほうが安全だと思います(xyzzy.w2k.oldとか)。ダンプファイルの種類は以下のようになっています。
siteinit.lについてはバイトコンパイルもした方がいいらしいのですが、それは慣れてからでも構わないと思います。念のためやり方を書いておきますと"M-x"、"byte-compile-file"と入力して、siteinit.lを指定してください。
追記: siteinit.lをバイトコンパイルしている時は編集を反映するためにsiteinit.lをバイトコンパイルしなおさないといけません。

インクリメンタルサーチ

これはぜひやっておきましょう。一度変えたら元に戻す必要はないので僕はsiteinit.lに記述しています。

default directory

普段使うフォルダをxyzzyのデフォルトのフォルダに変えてしまいましょう。僕はこれは仕事をやっている時期によって変えるので.xyzzyに記述しています。

上のD:/documents/はあくまで例です。ご自分の環境に合わせて記述してください。

IMEをC-oで

xyzzyを使っているときにIMEのon/offをC-oでコントロールします。

ここまでは特に外部からのファイルは必要のないものだけを挙げてみました。他にはhoge.lファイルを使って行う拡張もあります。それらは下に書いてあるリンクをたどって自分で挑戦してみてください。

xyzzyではCtrlキーをよく使います。しかし、今のキーボードはほとんどCtrlキーが使いにくい場所にあります。僕はレジストリをいじってCtrlキーとCaps Lockキーを入れ替えました。レジストリをいじらなくてもソフトを使って入れ替えるものもあります。使ってみると良いかもしれません。

▲目次へ

その他の拡張

xyzzyの数多い機能の中でもっとも気に入っているもののひとつである辞書機能の説明です。

辞書の使い方

英語で書いてあるものを読む際に、xyzzyが手放せなくなりました。やはりキーボードを使っての操作は非常にお手軽です。

  1. "edict"、"gene95"を手に入れる。
  2. 解凍して出来た"edict"、"gene.txt"を適当なフォルダに移動する。
    例: /xyzzy/dic/
  3. /xyzzy/etc/から"gendec.exe"を用意したフォルダに持ってきて実行。
  4. "xyzzydic"、"xyzzye2j"、"xyzzyidi"、"xyzzyj2e"、"xyzzyird"の5つのファイルが出来る。
  5. ツール→共通設定→ディレクトリでファイルへのパスを通して終わり。
  6. 使い方1: 英和 C-c e 和英C-c j 読みC-c r
  7. 使い方2: 選択してツール→辞書

▲目次へ

プログラム編

僕は感染症伝播のモデル研究をしているのですが、そのシミュレーションのプログラムをCで書いていますし、ちょくちょくPerlなんかも使います。そのときのためのメモですね。

xyzzy上でコンパイル

最初からCygwin環境を入れるのが一番手っ取り早いとは思いますが、僕はたまたまコンパイラだけを落としてきて使っています。この手の記述はWebでも珍しいかも。

  1. gccなどのコンパイラをインストールしてPathを設定。
  2. ソースを作成、読み込み: C-x C-f (or C-c C-f) **.c
  3. コンパイル: C-x & gcc **.c -o **.exe
  4. 実行: C-x & **.exe

実行すると標準出力がxyzzyにパイプされ、xyzzyに表示される。(これは便利!)プログラミングをする人には経験があると思いますが、自分で作ったプログラムを後でダブルクリックした場合、一瞬だけコマンドプロンプトがでて、作業を行って消えてしまうことがあります。そういうときに出されたメッセージを確認できなかったりするのですが、xyzzyで行えばそういうことはありません。

xyzzy上でコマンドプロンプトを起動

CモードやC++モードの時の自動インデント。

  1. カーソルを関数の初めの"{"にあわせる。
  2. ctrl+alt+qを押す。

ちなみにWeb上にはファイルすべての自動インデントをやってくれるプログラムもあります。探してみてください。

変数の補完

  1. 最初の数文字を入力。
  2. C-x \
  3. リストから選択。

関数ジャンプ

  1. M-x list-function
  2. リストから選択。

▲目次へ

リンク

結局ここが一番肝かも。たくさん紹介するよりもものすごくまとめてあるサイトがあるのでそういうところを少しだけ。

亀井さんの所
そもそもこのページに来る前に必ず訪れているであろうところ。常にやる気が変わることで有名。
HIE no xyzzy
xyzzy noteは必見。
局所アンテナ with はてな
xyzzy関係のリンクがまとめて更新チェックされている。
RecentChanges - xyzzywiki
いまやここにすべての情報が集約しそうな勢い。
付録ページ
このページで説明がうまく出来ていないと思うところを補足するページです。
xyzzy日記
稲原さんが作られているページ。まずどこを見たらいいかわからない時はここを読むとばっちり。図解入りですごくわかりやすい。
siteinit.l & .xyzzy
Webで広く集めたカスタマイズをまとめてみた。そのまま、コピペできるものが多いはず。

▲目次へ