カーソル位置を強調No.05477
あつし さん 07/03/19 19:59
 
いつもお世話になっております。質問ばかりで済みません。

選択された行について、例えば、AをBに変換するようなマクロを作っている
のですが、どこが変わったか、分りにくいので、変換した場所を検索の時
みたいに強調したいのですが、マクロヘルプを見ても分かりません。
命令はあるのでしょうか?

  while (column < linelen2) {
    if (code == 'A') {
      overwrite "B";
      en_hilight;     # この場所を!
    }
    right;
  }


[ ]
RE:05477 カーソル位置を強調No.05478
白雲斎 さん 07/03/19 22:52
 
こんにちは“あつし”さん、白雲斎です。

>選択された行について、例えば、AをBに変換するようなマクロを作っている
>のですが、どこが変わったか、分りにくいので、変換した場所を検索の時
>みたいに強調したいのですが、マクロヘルプを見ても分かりません。
>命令はあるのでしょうか?

例えば、以下の文を書き換える場合、

ABCABCABCABC

AをBに書き換えた箇所だけを強調したいと言うことですよね。
これは、出来ないのではないでしょうか。
ファイルタイプの強調表示で特定文字列を強調することは出来ますが、その場合、
元からあるBも強調されてしまいます。

マクロからの強調表示操作は、「config文」「config "x"で指定できる名前」あ
たりかな。

[ ]
RE:05478 カーソル位置を強調No.05482
ENCODINGSHIFTJIS さん 07/03/20 16:18
 
>>のですが、どこが変わったか、分りにくいので、変換した場所を検索の時
>>みたいに強調したいのですが、マクロヘルプを見ても分かりません。

変更箇所を 文字単位に記憶していません、無理でしょう、
行単位には記憶しますが。

どうしてもなら
1. 変更箇所が行単位になるように、事前に刻み、確認後、行に戻す。
あるいは
2. 置換文字列にマークになるような文字も付けておく
あとでマークを全消去する。

[ ]
RE:05482 カーソル位置を強調No.05485
あつし さん 07/03/21 13:25
 
そうでしたか。

検索のとき、検索文字列を強調としておくと、その部分が強調され
て分りやすいなー、と思いマクロの中でも使えたら、と思ったの
ですが、そのようなAPI、というか関数は無いのですね。

今回は諦めます。

別になくても良いんで、有った方が良いけど・・・

[ ]
RE:05485 カーソル位置を強調No.05486
アルビレオ さん 07/03/21 20:45
 
ユーザーのアルビレオです。

>検索のとき、検索文字列を強調としておくと、その部分が強調され
>て分りやすいなー、と思いマクロの中でも使えたら、と思ったの
>ですが、そのようなAPI、というか関数は無いのですね。

APIがどうとかではなく、現状ではそれを実現する機能が秀丸エディタにはあり
ません。
もともと「キーワードの強調表示」という仕組みがあって、これはテキスト内の
「あるパターン」を持った文字列をすべて強調する機能です。
検索文字列の強調も「あるパターンを持った文字列の強調」といえるので、その
応用で実現しているようです。
それに対して「置換した文字列の強調」となると、文字列パターンではなくある
特定の「場所」を強調する必要があるので、今までの強調表示と大きく違う方法
を取る必要があるんです。

私は部外者なので将来どうなるかはわかりませんが、あつしさんがイメージして
いるような「ちょっとした機能追加」では実現できないんじゃないかと思います。
(また余計な口出ししちゃったかも)

[ ]
RE:05486 カーソル位置を強調No.05487
ENCODINGSHIFTJIS さん 07/03/22 09:55
 
2ファイルのテキストの比較プログラムには
文字列単位に 相違箇所を 強調表示するのがあります。
例:MS-Word 、Examdiffの有償版
フリーのものは行単位のしか、知りません。

[ ]
RE:05487 カーソル位置を強調No.05488
なむnomoto さん 07/03/25 00:57
 

           単なるユーザーの なむnomotoです

  私が重宝して使っているファイル比較ソフトは
  私の場合は、とても便利してます。以下は紹介頁のコピーです。
  .NET Framework 1.1 を別途DLして先にインストールしておく
  必要があります。 様々なオプションで見やすくできます。

 http://hp.vector.co.jp/authors/VA017396/software/Rekisa/index.html
 Rekisa
 32Bit版Windows(2000,XP)と.NET Framework 1.1が必要です。
 本ソフトは複数のテキストファイルを横一列に並べ、その違いをわかりやすく表示
するソフトです。
  基本情報
【 バージョン  】  0.32.018
【 開発環境  】  Windows XP Professional + Visual Studio .NET
【 必要なランタイム  】  .NET Framework 1.1
【 動作環境  】  Windows 2000/XP

 以下のような特徴があります。
 一度に3つ以上のファイルを比較できる
 左右のカーソルが連動するので、対応する部分を見つけやすい
 下線で文字単位の違いを表現
 SHIFT_JIS、EUC-JP、JIS等、様々な文字コードに対応し、自動判別して開く
 テキストを加工してから比較する、入力フィルタ機能を搭載
 豊富なコマンドラインオプションにより、他のソフトとの連携が容易。
   −−−−−−−−−−−−−−−−

[ ]
RE:05488 カーソル位置を強調No.05489
Iranoan さん 07/03/26 00:45
 
 皆さん、なむnomoto 今日は、Iranoan です。
>  Rekisa
 これも便利なソフトウェアですね。私は折り返し表示できる利点を選んで、
今は WinMerge
http://www.geocities.co.jp/SiliconValley-SanJose/8165/winmerge.html
を使っています。

 どちらも一応文字列単位で色が変わります。ただ初期設定は行単位で色を変
え、その中の実際に異なる文字列を更に別の色で表示する様になっています。

[ ]