xyzzy推進委員会

現在総会員1名です(ぉぃぉぃ)

xyzzyってなによ

亀井哲弥さんが作られたフリーのWindows用テキストエディタです。亀井さんのページはこちら。エディタもここから入手できます。
このエディタの最大の特徴は、いろんなところがEmacsチックであること。つまり、Emacsの拡張の仕方がわかっていれば、ほぼやり放題なわけですな。カスタマイズ自由という点では、昔のVzを髣髴させます。とりあえず使ってみたい人のためにも、(初期設定での)操作のキホンだけ書いておきましょう。ホームポジションからほとんど手が離れないのって、なれると楽だよ〜。
ファイルを開く(探す)C-x C-f
ファイルを閉じる C-x k
エディタを終了するC-x C-c
右/左C-f もしくは →/C-b もしくは ←
上/下C-p もしくは ↑/C-n もしくは ↓
一画面上/一画面下M-v もしくは PageUp/C-v もしくは PageDown
バックスペースC-h もしくは BackSpace
削除C-d もしくは Delete
タブC-i もしくは TAB
下方向に検索/上方向に検索C-s/C-r
次を検索/前を検索F5/S-F5
あとはてきとーに学習していってください。ちなみに、M-なんとかとなっているキー表記は、Alt + そのキー もしくは ESC → そのキー と押せばできます。「Alt + F でファイルメニューが開かん」なんていう人は、もーちっと待ってください。
[▲Top]

え、使いたい?

そんじゃまあ、使えるようにするまでを。

▼インストール
  1. しかるべき場所からアーカイブをダウンロードしてくる。
  2. 解凍すると、中に"xyzzy"というディレクトリができるので、これをインストールしたい先にもっていく。
  3. 適宜ショートカットを切る。
  4. 最初の起動はLispをコンパイルするので、ちょっと時間がかかる。
以上。
[▲Top]

とりあえずちょっといじる

オプション設定は「ツール→共通設定」で入る。とりあえず、起動してさわりながら読んでみてよ。
フォント
とりあえず「ASCII以外のサイズはお任せ」ははずしたほうがいいかも。ASCIIと日本語のフォントをちゃんと指定したほうがベターな気がする。「サイズはピクセルで」にチェックをつけると、秀●とかでできる10.5ポイントとかのサイズも設定できるようになる。ちなみに、10.5ポイント=14ピクセルでした。色はお好きに。
表示
表示するしないのオプションはお好きに。「マウスカーソルを消す」ってのは、キー入力があったときにマウスカーソルを消すってこと。マウスを動かせばもちろんマウスカーソルは現れます。
バックアップ
番号つきバックアップファイルを「作らない」にしておけばバックアップファイルが大量生産されることはないはず。この辺の挙動はよく分からない。
自動セーブ
お好みでどうぞ。
いろいろ
さっき言ったように、Alt+Fでメニューを開きたい人は、「何でALTでメニューが開かない?」にちぇっくをつけよう。スクロールマージンとは、スクロールするときのウィンドウのふちとカーソル行との行数。数字を変えて、スクロールのときにカーソルがどこまで降りてくれるかを試してみたほうが分かりやすいかも。
さまざま
とりあえず、「エラーの表示はマイルドに」しておけ。読んでも意味のつかめないオプションは、理解できないうちは影響なし。なので無視。
ディレクトリ
MSVCのヘルプを引いたり、辞書を引く場合に設定が必要になる。今のところほっといてよし。
ファイラ
「2画面ファイラをモードレスに」はチェックしとけ。それ以外はお好きに。

[▲Top]

ちょっとカスタマイズ

とりあえず慣れてきたら、ツール→共通設定では変えられないようなところを変えたくなってくるのがだいたい世の常。そこで、カスタマイズ手段。Lispのコードを書いてxyzzyに読ませる。これだ。
とりあえず手っ取り早く試したいんであれば、xyzzyを起動して最初に現れる「*scratch*」という名前の画面で下の1行目を入力しよう。入力が終わったら、最後の")"より右側にカーソルを持ってきて C-j とたたく。こんな風に、Lispのコマンドを書いて C-j で実行させることを、「式を評価させる」と言うみたい。すると、下のモードライン(ファイル名やカーソル位置が表示されているところ)が消えたでしょ?続いて下の行を入力してみやう。さっきまでの表示に戻ったでしょ?
(setq mode-line-format nil)
(setq mode-line-format "-%*- %b (%M) [%k:%l] %P %f")
今度は、別の行に「mode-line-format」とだけ書いて評価させてみよう。そうすると、現在の書式が出てくるはず。
おもろくない?
[▲Top]

どんな風に操作する?

とりあえず、ヘルプ(?)→キー割り当て一覧(K)で出てくるglobal key settingの解説(できればいいな)。ちなみにtextモードです。モードによっては一部のグローバルキーを上書きして高機能化している場合があるので、それはそのときに考えてもらうってことで。
C-a:beginning-of-line
行の先頭へジャンプ。WindowsならHome。
C-b:backward-char
左カーソルと同じ。
C-c:specific-command-prefix
特定コマンドのprefix。2ストロークキー(C-x C-c)の1ストローク目として働くよ、ってこと
C-d:delete-char-or-selection
削除。セレクション(Windowsでいう範囲指定)があればそれを削除。
C-e:end-of-line
行末へジャンプ。WindowsでいうEnd。
C-f:forward-char
右カーソルと同じ。
C-g:quit
いわゆるESCに該当する。xyzzyではESCも意味を持つので、こういうキーバインドがある。
C-h:backward-delete-char-untabify-or-selection
普通のバックスペース。ただuntabifyなので、タブ幅が8としてタブを消そうとすると、タブが7つのスペースに変化するという挙動。もちろんセレクションがあればそれを消す。
C-i:self-insert-command
そのキーのまんまの機能をしろってこと。つまり、^Iってタブですね。
C-j:newline-and-indent
基本的に改行といっしょと見ていいんじゃないのかな?LISPの式をとかを評価するときにも使うみたいだけど。あ、それは*scratch*での話だね。
C-k:kill-line
カーソル位置から行末までを削除。カーソル位置が改行文字ならば、その改行を削除。
C-l:recenter
カーソルが画面の真中にくるように適宜スクロールしてねってこと。
C-m:newline
こっちは普通の改行。
C-n:next-virtual-line
下カーソルと同じ。ただし、virtualとなっているので、テキスト的にではなく、表示上の1行下の行にカーソルが移ることになる。
C-o:open-line
いわゆる1行挿入。
C-p:previous-virtual-line
上カーソルと同じ。注意点もC-nと同じ。
C-q:quote-char
いわゆるキー入力時のエスケープシーケンスみたいなもの。その次のキー入力はそのまま入力される。C-q C-@とかやると分かりやすいかも。
C-r:search-backward
上方向に検索。再検索はS-F5。
C-s:search-forward
下方向に検索。再検索はF5。
C-t:transpose-chars
カーソル位置の文字と、カーソル直前の文字とを入れ替える。何のためにあるのか知らないんだけど。でもどこかのLispコードでは使っているんだろう。
C-u:universal-argument
わかりません。
C-v:next-page
いわゆるPageDown。
C-w:kill-region
リージョンを削除。リージョンってのは、範囲選択に似ているんだけど、emacsちっくなエディタに特有なもの。しるしをつけた位置(マーク位置)と現在の位置(カーソル位置)の範囲を一般的にリージョンと呼ぶ。セレクション(Windowsでの範囲選択)より柔軟性は高いと思うよ。
C-x:ctl-x-prefix
プレフィックス。2ストロークキーの1ストローク目。
C-y:yank
C-wやM-wによって保管してあるテキストを、貼り付ける。
C-z:previous-page
いわゆるPageUp。
C-\:undo
見てのとおり取り消し。
C-_:redo
見てのとおりやり直し。ちなみにこのキーにバインドされているのは、日本語キーボードを使うときにS-C-\となるからある程度直感的に分かってくれれば、という予測。しかし、undoは¥しか効かないし、redoは\じゃないと効かないのが微妙。
コマンドキー・ファンクションキー
見てのとおりか、もしくはファンクションキーの表示ができるので解説せず。
C-Del, C-Ins, S-Ins
これ、いわゆるカット、コピー、ペーストです。クリップボード命な人はこちらで。
C-x C-a
[▲Top][★Home]