秀丸マクロヘルプの分かりにくい点2つNo.07308
yamashita さん 14/01/08 14:26
 
お世話になっております。

以下、秀丸のマクロヘルプについて2点です。

(1)
秀丸マクロヘルプに以下のようなページがあります。

>  up,down,right,leftコマンドは単独でも使えますが、
> パラメータを指定するとその分まとめて移動するようにな
> ります。パラメータには数値を指定してください。
>
> (中略)
>
>  ちなみにこの4つのカーソル移動コマンドだけは
> 終了コードとして、
>
> 少しでもカーソル移動した場合はtrue
> カーソル移動しなかった場合はfalse
> を返します。

この記述のうち、「終了コードとして」というところが
分かりにくいです。
秀丸マクロを書くようになって長いですが、
何度も「この「終了コード」って、なんだっけ・・・」
と記憶を辿ったり、
既作成のマクロを見直したりしました。

以下のようではどうでしょうか。

修正案、上記の途中から

>  ちなみにこの4つのカーソル移動コマンドだけは実行結果を
> 知るための変数が用意してあります。
>
> 少しでもカーソル移動した場合は result が true
> カーソル移動しなかった場合は result が false
> になります。
>
> 例
> up 100;
> if (result == true) {
>  message "成功";
> } else {
>  message "失敗";
> }

(2)
秀丸マクロヘルプの中に

> prevpos   前のカーソル位置

という記述がありますが、これは「前のカーソル位置に移動」
ということでしょうか?
以下のようなマクロ、マクロ1を書いて実行したんですが、
prevpos が何をしているのかよくわかりませんでした。

<マクロ1>ここから
while (1) {
 left;
 if (result == false) { break; }
}
prevpos;
<マクロ1>ここまで


(2)の prevpos の件は、(1)の件を調べていて気がついただけです。
すんません。

以上です。

[ ]
RE:07308 秀丸マクロヘルプの分かりにくいNo.07309
秀丸担当 さん 14/01/08 15:16
 

ご指摘のとおり、終了コードはresultのことですが、確かに「終了コード」と書
いただけではなんのことか分かりづらいと思います。
resultであることをわかりやすくなるように修正させていただきます。


prevposは、「前のカーソル位置」という名前のコマンドを実行するということ
を意味しています。
キー割り当てする場合は「カーソル移動系」の分類の中に「前のカーソル位置」
というコマンドがあります。

コマンドについての説明は、マクロヘルプのほうではなく、秀丸エディタヘルプ
に書かれています。
秀丸エディタヘルプの「カーソル移動系コマンド」→「高度なカーソル移動コマ
ンド」のところに「前のカーソル位置」についての説明があり、これと同じこと
をする文がprevposということになります。

マクロでは一般的には #x=x; #y=y; で覚えたり戻ったりすることが多いのでマ
クロではあまり使われることは無いと思います。


「前のカーソル位置」コマンドの説明をここにも書いておきます。
以下のコマンドなどを実行したときのカーソル位置を覚え、「前のカーソル位
置」を実行したとき、覚えていた位置に戻ります。

・ファイルの先頭へ移動
・ファイルの最後へ移動
・上の編集箇所
・下の編集箇所
・タグジャンプ
・バックタグジャンプ
・指定行への移動
・最後に編集した所
・検索開始位置へ戻る
・マクロmoveto
・マクロmovetolineno, moveto2
・置換ダイアログで置換
・検索ダイアログで検索
・強調一覧で移動
・マーク一覧で移動
・他の秀丸エディタと内容比較の開始
・他の秀丸エディタと内容比較で違う場所に移動したとき
・「カーソル位置の自動復元」した位置
・「前のカーソル位置」を実行したときの位置
・アウトライン解析のツリー表示で、フォーカスが移る前の位置

[ ]
RE:07309 秀丸マクロヘルプの分かりにくいNo.07310
yamashita さん 14/01/08 18:00
 
どうもです。

result の件、よろしくお願いします。

prevpos の件、なるほど、そうか。

>  コマンドについての説明は、マクロヘルプのほうではなく、
>  秀丸エディタヘルプに書かれています。

これって、わかってるつもりなんですが、つい
秀丸エディタヘルプの方に注意が行かなくて、
簡単なことで時間を使ってしまうことがたまにあります。

秀丸エディタの方にジャンプするようにはできないんでしたっけ。

例えば

prevpos の項を開くと、
現状の説明の下に、


参考:秀丸エディタ 「前のカーソル位置」


みたいになってて、そこをクリックすると、該当ページが開く、とか。

あちこちにこれ入れ始めると、結構手間掛かるですねw
でもまぁ、分かりにくいところだけでも、入れて欲しいようにも
思います。

[ ]
RE:07309 秀丸マクロヘルプの分かりにくいNo.07316
h-tom さん 14/01/09 00:01
 

h-tom です。

>ご指摘のとおり、終了コードはresultのことですが、確かに「終了コード」と書
>いただけではなんのことか分かりづらいと思います。
>resultであることをわかりやすくなるように修正させていただきます。
ヘルプをみると、resultの事を、「終了コード」だったり「結果コード」になってま
す。
検索で、resultが見つかるように、「結果コード」に統一した方がいいのでは?

[ ]
RE:07310 秀丸マクロヘルプの分かりにくいNo.07317
秀丸担当 さん 14/01/09 09:43
 

HTMLヘルプというヘルプファイルの仕組み上、別のヘルプファイルにジャンプす
るのはちょっと工夫がいることになっています。

現状で秀丸エディタヘルプからマクロヘルプを開いたり、HmJreのヘルプを開く
ことができますが、これはヘルプファイル内にActiveXを埋め込んで、さらに秀
丸エディタ本体でプログラムとして処理して開いていて、かなりややこしいこと
をしています。
昔のWinHelpはセキュリティ上の都合か何かでVistaからサポートされなくなりま
したが、HTMLでActiveXなどプログラムを介して何かすることもセキュリティ上
厳しくなっていくと思われ、Windows8では何やら警告が出ることもあるようです。

ということで秀丸エディタヘルプにジャンプするのはあまり現実的ではなくて、
そこまでするのであれば、ヘルプファイルを2つに分けていたのをやめて1つの
ヘルプファイルに統合して作りなおすほうが得策という気がします。(それはそ
れで大変かもしれないですが)

[ ]
RE:07316 秀丸マクロヘルプの分かりにくいNo.07318
秀丸担当 さん 14/01/09 09:43
 

>検索で、resultが見つかるように、「結果コード」に統一した方がいいのでは?

確かにその通りでした。
「結果コード」に統一するように修正させていただきます。

[ ]
RE:07317 秀丸マクロヘルプの分かりにくいNo.07322
yamashita さん 14/01/09 14:41
 
> 1つのヘルプファイルに統合して作りなおす

大変そうです。
自分がやるとしたら、やりたくないですw


もしジャンプさせたくなるような状況があったら

参考:秀丸エディタヘルプ「○○○○の項目」

とでもベタ書きする方が上策と思いました。

[ ]