マクロで変換モジュール実行No.05047
マボカル さん 06/02/09 00:58
 
マボカルと申します。秀丸エディタVer5から変換モジュールがサポート
されましたが、マクロ内でデフォルトで入っている変換モジュールでは
なく、追加で入れた変換モジュールを実行させることができるのでしょうか。

具体的にはソートの変換モジュールを使いたいと思っています
http://hide.maruo.co.jp/lib/hmconv/sort101.html

ちなみにファイルがユニコードなので、外部コマンドから
sort < con > con
でソートさせると文字化けした結果になってしまうのでNGです。

また韓国語版XP+英語版秀丸で、言語設定が韓国語のままで動かして
いるので、SJISのファイルを対象に外部コマンドでソートさせても
一部文字化けしますのでNGです。

ここまで書いてふと思ったのですが、外部コマンドの実行もマクロ文で
書くことができるのでしょうか?

ヘルプ見ても関連した項目が見つからなかったので、質問いたしました。

[ ]
RE:05047 マクロで変換モジュール実行No.05048
h-tom さん 06/02/09 01:22
 

h-tom です。

>マボカルと申します。秀丸エディタVer5から変換モジュールがサポート
>されましたが、マクロ内でデフォルトで入っている変換モジュールでは
>なく、追加で入れた変換モジュールを実行させることができるのでしょうか。

>具体的にはソートの変換モジュールを使いたいと思っています
>http://hide.maruo.co.jp/lib/hmconv/sort101.html
マクロヘルプ−その他編集系文−filter文
http://www.maruo.co.jp/turukame/3/x07245_.html#7245

>ここまで書いてふと思ったのですが、外部コマンドの実行もマクロ文で
>書くことができるのでしょうか?
run,runsync,runsync2文

[ ]
RE:05047 マクロで変換モジュール実行No.05049
ENCODINGSHIFTJIS さん 06/02/09 10:02
 
>ちなみにファイルがユニコードなので、外部コマンドから
>sort < con > con
>でソートさせると文字化けした結果になってしまうのでNGです。

MSのテキストI/Oは BOM付きUTF-16LE(unicodeと表示されている)
に対しては化けないと思います、sortも正常(ロケール動作は?)
BOM付きUTF-16LE なら「カーソル位置への読み込み」もできる。

UTF-8 は対応しないので、ファイル>エンコードの種類
で 内容を維持したまま適用 はわずらわしい と思いますが。

[ ]
RE:05048 マクロで変換モジュール実行No.05050
マボカル さん 06/02/09 15:39
 
h-tomさん

ありがとうございます。

>マクロヘルプ−その他編集系文−filter文
>http://www.maruo.co.jp/turukame/3/x07245_.html#7245
>
>>ここまで書いてふと思ったのですが、外部コマンドの実行もマクロ文で
>>書くことができるのでしょうか?
>run,runsync,runsync2文

思いっきりヘルプに書かれていましたね。了解しました。

[ ]
RE:05049 マクロで変換モジュール実行No.05051
マボカル さん 06/02/09 16:03
 
ENCODINGSHIFTJISさん

ありがとうございます。

>MSのテキストI/Oは BOM付きUTF-16LE(unicodeと表示されている)
>に対しては化けないと思います、sortも正常(ロケール動作は?)
>BOM付きUTF-16LE なら「カーソル位置への読み込み」もできる。
>
>UTF-8 は対応しないので、ファイル>エンコードの種類
>で 内容を維持したまま適用 はわずらわしい と思いますが。

はじめて見る用語があるのでネットで検索しながら理解しようとして
いますが、文字化けしないという条件を再現させることができません。

MSのテキストI/O とか BOM付きUTF-16LE とかよく概念がつかめて
いないので成功させることができるのに、設定が間違っているのかも
しれません。

「BOM付きUTF-16LE(unicodeと表示されている)」という点だけ見ると
私のファイルはUTF-16の日本語・韓国語混合の文書であり、「LE」と
いうのがよく分かりませんが、「BOM付き」というのは名前をつけて
保存にしてもう一度保存しようとした場合に出るウインドウで、一番
下にある「Add BOM」にチェックが入っていれば「BOM付き」という
条件になるのですよね。コード形式はUnicode(UFT-16)として保存しま
した。この状態で韓国語版XPにおいて外部プログラムで
sort < con > con
とすると結果が新規ファイルに作成されますが、その時点で文字化け
しています。新規ファイルのデフォルトのコードがSJISとなるので
文字化けするのかと思い、結果ファイルのエンコードをUTF-16にしても
文字化けは直りません。

「MSのテキストI/O」がよく分からないのでこの辺に問題があるので
しょうか。秀丸エディタの変換モジュールのソートはSJISの順に
並べ替えされるので、韓国語のとかは規則的に並び替えられないという
問題が起きるので、こういったファイルの場合だけ外部プログラムが
使えないかなと思ったわけです。

もう少し勉強してみます。



[ ]
RE:05048 マクロで変換モジュール実行No.05052
Iranoan さん 06/02/09 17:12
 
 マボカルさん、h-tom さん今日は、Iranoan です。
> >ここまで書いてふと思ったのですが、外部コマンドの実行もマクロ文で
> >書くことができるのでしょうか?
> run,runsync,runsync2文
 チャチャです(^^;。
 ヘルプに
> runsync文とrunsync2文はリダイレクトはできません。
とあり、
> sort < con > con
の場合は不適当です。

[ ]
RE:05051 マクロで変換モジュール実行No.05053
ENCODINGSHIFTJIS さん 06/02/09 17:37
 
では、エンコードを指定してファイル書き込みするしか。

.NET Framework2.0 と MSH(Monad)β3
では
MSH > GC U.TXT | SORT-OBJECT | OUT-FILE U16.TXT -ENC UNICODE
で出力エンコードを指定できます。

[ ]
RE:05052 マクロで変換モジュール実行No.05054
マボカル さん 06/02/09 19:35
 
Iranoanさん

フォローありがとうございます。

> マボカルさん、h-tom さん今日は、Iranoan です。
>> >ここまで書いてふと思ったのですが、外部コマンドの実行もマクロ文で
>> >書くことができるのでしょうか?
>> run,runsync,runsync2文
> チャチャです(^^;。
> ヘルプに
>> runsync文とrunsync2文はリダイレクトはできません。
>とあり、
>> sort < con > con
>の場合は不適当です。

了解しました。

[ ]
RE:05053 マクロで変換モジュール実行No.05055
マボカル さん 06/02/09 19:39
 
ENCODINGSHIFTJISさん

ありがとうございます。

>では、エンコードを指定してファイル書き込みするしか。
>
>.NET Framework2.0 と MSH(Monad)β3
>では
>MSH > GC U.TXT | SORT-OBJECT | OUT-FILE U16.TXT -ENC UNICODE
>で出力エンコードを指定できます。

ウインドウズ標準のコマンドじゃなくてインストールして行うという
ことでしょうか。とすれば、Perlなどで代用してもいいのでしょうか。
最近Perlも勉強中なのでできれば今使っているもので行うのが理解も
早いので・・。

.NET Framework2.0 と MSH(Monad)β3もネットでどういうものか
確認しておきます。ありがとうございました。

[ ]