dポイントプレゼントキャンペーン実施中!

xyzzyでのインクリメンタルサーチが有効にならない。

kamuycikapです。

<問題>
;;インクリメンタルサーチ
(require "isearch")

;; すべて選択
(global-set-key #\M-a 'selection-whole-buffer) ;\C-aの代わりに\M-a


上記の2つだけが設定有効になりません。
アウトラインやRubyモード等、他の指定は有効になっている様子なのですが、な
ぜか上記の2つだけが設定反映されません。

識者の方のアドバイスをお願い致します。


★環境
 Windows7

★xyzzyバージョン
 0.2.2.235

★インストールパス
 D:\Download\soft\Windows\xyzzy\

★XYZZYHOME
 D:\Download\soft\Windows\xyzzy\

.xyzzyを記載します。

--ここから

;;;インクリメンタルサーチ
(require "isearch")

;;Rubyモード設定
;(load-library "Gates");Gates が好きならファイルの先頭に
(load-library "ruby-mode")
(push '("\\.rb$" . ruby-mode) *auto-mode-alist*)
; インデント量を変える。nilの時はタブを挿入
(setq *ruby-indent-column* 2)

;;タブの気持ちで半角スペース
(defun insert-space-like-tab ()
(interactive)
(let ((tab (tab-columns (selected-buffer))))
(insert " " (- tab (mod (current-column) tab)))))
(global-set-key #\C-2 'insert-space-like-tab)

;;問い合わせ方置き換え(Emacs風)
(global-set-key #\M-% 'query-replace)

;;動的補完をEmacsと同じにしてしまおう
(require "dabbrev")
(global-set-key #\M-/ 'dabbrev-expand)

;;アンドゥもEmacsと同じにしてしまおう
(global-set-key #\C-/ 'undo)

;;Grepマッチ文字列の赤色太字表示
(setq *grep-highlight-match* '(:bold t :foreground 1))

;;引用符に>を利用する
(setq *quotation-prefix* ">")

;;アウトラインプロセッサ機能を有効に
(require "color")
(require "win-window")
(require "buf2html")
(require "treeview/setup")
(require "outline-tree/outline-tree")

;; すべて選択
(global-set-key #\M-a 'selection-whole-buffer) ;\C-aの代わりに\M-a

A 回答 (2件)

NO1です。

失礼しました。そういうこと、つまりC-sによってミニバッファに、本来「I-search:」と表示されるべきところ、「Search forward:」(通常検索)と表示されるということなのですね。

これは確かにおかしいですね。「isearch.l」は私も同じlispフォルダにあります。lispフォルダから「isearch.l」と「isearch.lc」を切り取って例えばデスクトップに移動しておき、xyzzyを起動するとロードエラーのメッセージがでますのでディレクトリも問題ないし、ファイルも認識しているのは間違いないと思います。

一つ考えられるのは、私のほうでテストした結果なのですが、「C-s」の直後に「Esc」を押しますと「I-search:」から「Search forward:」に変わります。ここから、ひょっとして何かキーバインドのカスタマイズが関係しているのではないかと、そんな可能性がふと浮かびました。それ以外はどうもよく分りません。申し訳ありません。

この回答への補足

y0OilIo1lmさん
回答ありがとうございます。

私の環境では、isearch.lを切り取りxyzzyを起動するとロードエラーすら出てきません。
しかしながら。M-x load-library として isearch とするとインクリメントサーチが有効になるのです。
※とても不思議な現象です。

そこで、.xyzzyに記載している(require "isearch")を(load-library "isearch")に変更してみたのですが、効果がありません。

作者の亀井さんにメールを送るべきかなと思っています。
※メーリングリストにも登校してみたのですが反応がありません...
 すでにメーリングリストは過疎化しているのかもしれません...

y0OilIo1lmさんのxyzzyフォルダを受け取ることが出来れば、私の環境と比較する事が出来るのですが....可能でしょうか??

補足日時:2010/01/09 09:53
    • good
    • 0
この回答へのお礼

お礼と報告です。
これは私だけの問題かもしれませんが、気が付いた結果を報告いたします。

現在、Vectorでダウンロードできるバージョンである

「0.2.2.2.234」

だと、問題が再現されず正常に動作することを確認しました。
もしかしたら、バージョンアップによるバグの可能性も否定できない状況です。
この内容について作者様にメールを送ることにしました。

回答ありがとうございました。

お礼日時:2010/01/09 13:27

インクリメンタルサーチについてのみ書かせて頂きます。



xyzzyが言うところのインクリメンタルサーチはemacsやviで言うところのそれとは若干ニュアンスが違うのではないでしょうか?

ご存知のように、emacsやviにおいてインクリメンタルサーチを行う場合、例えば“a”を入力すると、カーソル位置以降の“a”がすべてハイライト表示され、次に“b”と入力すると、カーソル位置以降の“ab"の全てがハイライト表示されますね。以降同様に順次ハイライト表示されますが、xyzzyの場合は異なる文字が入力された場合にハイライト位置が順次更新されていくだけのようです。つまりハイライト箇所は一箇所のみ。これは「入門xyzzy」というOhmsha刊行の本(平成17年3月25日第1版第1刷)で確認しています。

xyzzyは非常に良くできたテキストエディタだと思いますが、現在はWindowsマシンでもWindows版のvimを使っていまして、最近の情勢は良く知りませんが、恐らく上に書きましたような事情があるのだと思います。もしemacsやviのような感じのインクリメンタルサーチをお望みであれば作者の亀井さんに要望されるのもいいかも知れないですね。

この回答への補足

書き込みありがとうございます。
補足情報です。
インクリメンタルサーチの動作の事を指摘しているのではなく、あきらかに有効になっていないのです。
私も「入門xyzzy」を所持しており、P84に記載されている内容を確認しながら作業を行いました。
WindowsXPで利用していた頃は問題なく動作していたのですが、何故かインクリメンタルサーチ出来なくなってしまったのです。
※私の設定が悪いのか、インストールする位置が悪いのか・・・・原因が分からないのです。

インクリメンタルサーチである「isearch.l」はlispフォルダの中にちゃんと存在しています。

有効/無効を判断している材料はミニバッファに表示される文字列です。
インクリメンタルサーチであるisearch.lがロードされている状態でCtrl-sするとミニバッファには「I-search:」と表示されるはずなのです。
ところが、ミニバッファに表示されているのは「Search forward:」になっています。
これはインクリメンタルサーチを導入していないミニバッファ検索の状態です。

Windows7特有の問題なのかなとも想像してるのですが私の方に環境が無いのでなんとも言えません。
様々な方が利用しているソフトウェアですので、ソフトウェアの問題とも考えにくいのかなと思っています。

補足日時:2010/01/08 12:34
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!