|
横からで恐縮ですが、まさに、soreさんと類似した要望を抱いて、β板の方で要望
を出したnaanfushiと申します。同様の要望を持つ方が居らして、うれしい限りで
す!? (^_^)。
●秀丸の現状と要望の却下
やはり、No.28889で秀丸担当さんが指摘されている内容は重々了解してはいるもの
の、どうしても日本語の多様な文書を扱っていると、「これは横書き」「これは縦書
き」さらに「これは縦書き2段で」という様に、同じ拡張子txtでも各種設定を切り
替える必要性が相当に頻出します。
こうした状況に対応すべく、その一つの手段として「「ファイルタイプ別の設定」
にワイルドカードを使えるように」という要望をβ板で提案したのですが、「いろい
ろ大変になりそうということもあるので…いまのところやめておこうと思います」と
却下という残念な結果でした(;_;)。
(実は、個人的には近い機能を実現するマクロを既に運用しておりました。仲間内に
はまあまあ評判も良く、セキュリティの固い所にいる人から「標準で秀丸に実装して
もえないの」という声があり、要望した次第です)
●現状で対応するためのマクロ
そこで、もしかして、soreさんのご要望に少しは応えられるかもしれないと考え、
そのマクロの原型を紹介できればと思い立った次第です(本質的な解決は秀丸担当さ
んのご指摘の通りです)。
なお、同種のマクロには数種類の動作仕様があり、それぞれ運用中ですが、板での
発言ということで安全性を最優先して、「ファイルタイプ別の設定」を手動で指定す
るタイプのマクロ(原型)を紹介させて頂きました。一応、下記のような動作仕様です。
もし、soreさんの意図に沿う動きに近いようでしたら、このマクロを書き換えて実
際に使ってみて頂ければと思います。とりあえず現状の秀丸で、ある程度、要望を実
現する端緒になるかもしれません。
【マクロの動作概容】
・「ファイル名」と「ファイルの先頭部」の2段階で、縦書きに設定した「ファイル
タイプ別の設定」を自動選択。
・例えば、ファイル名に「A新聞」という文字列を含むファイルは常に縦書きで開く。
(ex.「原稿A新聞9月123.txt」などを、「開く」やヒストリ、ブックマークやプロ
ジェクト等から開くと、いずれも自動で常に縦書きになる)
・ファイル名に関わらず、ファイルの先頭2行以内に、例えば「縦書」と記入された
ファイルは常に縦書きで開く。
(sample1.txtといったファイル名でも、文頭部に指定語(ex.「縦書」)を書き込ん
であると、自動的に縦書きになる。逆に、行頭部から「縦書」を削除すると、次に開
く際には、標準となるため、多くの場合、横書きで開くように戻る)
・上記の2ケース以外の場合は、拡張子txtに指定されたファイルタイプ別の設定で、
普通に開く。
・縦書きで開きたい「ファイル名」や先頭部の「特定の文字列」は自由に指定できる。
【導入手順】
1.『縦書き入力』で用いる「ファイルタイプ別の設定」を作り、名前(ex.「共
通・縦書き」)をつけて保存(或いは、その名前を確認)する。
2.下記のマクロを秀丸で編集し、(1)の「$FT = "共通・縦書き";」の「共通・縦書
き」を上記1.の名前に書き換える。
3.そのマクロを保存(ex.[auto_tate.mac])して、マクロファイル用のフォルダに
配置する。
4.このマクロを、自動実行マクロに次の手順で登録する。
[マクロ]→[マクロ登録]→[自動起動]で、[自動起動マクロを有効にする]をオンに
して、[ファイルを開いた直後]をオンにして当該ファイルを指定する(この例では[a
uto_tate.mac])
以上で導入完了。適宜、関連するファイルを開き、縦書き編集状態で開かれるかを
確認してみてください。
【マクロ本体】
//--- auto_tate.mac ---//
$FT = "共通・縦書き";// <==(1)縦書きを設定した「ファイルタイプ別の設定」の名前
$fn_part = "A新聞";// <==(2)縦書きにしたいファイル名の一部に含むべき文字列
(自由に指定可)
$ft_part = "縦書"; // <==(3)縦書きにしたいファイルの先頭部に含むべき文字列
(自由に指定可)
if(strstr(filename,$fn_part) >= 0){
configset $FT,0;
}else{
$top_2L = gettext(0,0,200,1);//先頭部とする範囲(現行2行)
if(strstr($top_2L,$ft_part) >= 0){
configset $FT,0;
}
}
endmacro;
//----- 以上、マクロ -----//
※ 当マクロはエラー処理も何も施してない基礎的な骨格原型のマクロです。この動
作がsareさんの意図するものに近い場合は、どんどん機能を拡張したり、レジストリ
を直接触る仕様に変更すれば、高機能で便利なマクロに成長させられるかもしれませ
ん。
sareさんのご参考になれば幸甚です。長文失礼。
|
|