[4014] コピー時の改行コード 
2004/8/25 (水) 15:16:12 attin
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
サクラエディタでは、各行毎に改行コード(の種類)を管理しているとのこと(履歴を参照)ですが、
UNIXファイル(改行コード:LF)を編集中に、他のアプリ(例えばIEなど)からコピーした複数行の文字列を
ペーストすると、コピーされた文字列内の改行コードが CR+LF となり、とても扱い辛いです。
保存する際に改行コードを指定し直せば良いのですが、面倒ですし、つい忘れがちです。
他のエディタではこのようなことがないだけに余計不便に感じてしまうのですが、
逆に、同一ファイル内で LF, CR+LF 等を混在させることに必要性がどの程度あるのでしょうか?
どちらの方が需要が高いか、次第ですが、混在させることにあまり需要が無いのでしたら、
貼り付けコマンドに、「コピー元の改行コードのまま貼り付け」のようなオプションを設ければ
済む話しだと思うのですが、いかがでしょうか?


[4023] [要望]DExploreのヘルプのサポート 
2004/8/30 (月) 22:12:58 もか
INCM1.23a
最近、Visual Stduio 2003 .NETを触るようになったのですが、あれのヘルプも参照してキーワード検索ができるようになるとうれしいです。
どうも、コマンドラインでは指定できないようです。

# COM経由で、キーワード指定が出来るらしいですが、その時点でおなか一杯です。
# man hogehoge のほうが楽...


[4024] Re:[要望]DExploreのヘルプのサポート 
2004/9/1 (水) 00:21:56 (全略)
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
▼ もかさん
> # COM経由で、キーワード指定が出来るらしいですが、その時点でおなか一杯です。
> # man hogehoge のほうが楽...

あぁ、あれCOMで操作するのですか、いいことを知りました^-^

で、VBSのマクロの形で書いてみたのですけど
分からないことがあるのでお知恵を拝借できますか?

'----- dexplore.vbs
' 選択位置、カーソル位置の単語をMSDNのdexploreから検索
Dim helpuri

helpuri = "ms-help://MS.MSDNQTR.2003JAN.1041/"


Dim keyword
keyword = Editor.GetSelectedString(0)
If keyword = "" Then
        Editor.SelectWord
        keyword = Editor.GetSelectedString(0)
End If
If keyword <> "" Then

        Dim help
        Set help = CreateObject("DExplore.AppObj")

        help.SetCollection helpuri, "" 'none-filter
        help.Contents
        help.DisplayTopicFromF1Keyword keyword
        help.SyncIndex keyword, 1
        help.IndexResults

        MsgBox "とりあえずエラーをおこしておく"

End If

MSDNを起動してもすぐマクロが終わってしまってMSDNごと終わってしまいます
なんかいい方法ないすかね、、、
# 最後に MsgBox いれてマクロが終わるのを止めてます(ないけど、、>_<;;)


[4026] Re2:[要望]DExploreのヘルプのサポート 
2004/9/2 (木) 00:02:34 もか
INCM1.23a
サクラエディタから外部コマンド実行で、キーワードをコマンドラインで送り、
Wscriptとかで、コムコムするとかどうでしょうか。
少なくとも、MsgBoxが使える...


[4028] Re:[要望]DExploreのヘルプのサポート 
2004/9/5 (日) 17:52:53 roku
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0;)
ちょっとトリッキーですがマクロで作ってみました。

■使い方
ファイルは二つです。

・mshelp2_macro.js
 これをエディタに登録する。
 mshelp2_core.jsのパス設定を忘れずに。

・mshelp2_core.js
 通常のスクリプトとしてmshelp2_macro.jsから実行される。(sleep()を使いたかったので)
 コレクション名やフィルタ名は各自で変えてください。

http://www7a.biglobe.ne.jp/~siromoji/download/macro/mshelp2.zip


[4015] RE: コピー時の改行コード 
2004/8/26 (木) 03:56:39 すい
INCM1.23c
既にあるテキストデータの改行コードを変更したいなら、
> 保存する際に改行コードを指定し直せば
じゃなくて「置換」した方が楽です。
保存時じゃなく、何時でも好きな時に好きな場所だけを変更できますし。

改行コードの変換を良く使うようなら、↑この置換処理をマクロ化して
http://groups.yahoo.co.jp/group/sakura-editor/files/User/MACRO/
に置いてあるので、それを右クリックメニューとかに登録して利用すれば
かなり楽になります。
「改行コードを CRLF」,「改行コードを LF」,「改行コードを CR」
# 範囲選択した状態で実行すると、選択範囲中の改行コードが
# その改行コードに変わる。何も選択せずに実行すると、
# ファイル全体がその改行コードに変わる。(揃う)


プログラミング言語のソース等で1つのテキストファイル中に
改行コードが複数種類混在している事はまず無いと思いますけど、
データファイルやなんか取り扱う時は複数種類の改行コードが
混在している事はそれほど珍しい事ではないので、作業者の
明確な「改行コードを変更したい」という意志が無い時にまで
勝手に改行コードが改竄されてしまうような機能がデフォルトに
なってしまったら却って厄介だと思います。
# 切り貼りやって場所を入れ替えただけのつもりだったのに、
# いつのまにかデータが改竄された状態になっていて、、、
# 元はどこがどの改行コードだったけ???(悩)
# なんて、量が多かったら最悪のケースかと。


私は出来ればこのマクロでやっている改行コードの変換機能と
同等の機能を標準機能として追加して欲しいな、と思います。
[変換(C)] あたりの機能で。


[4017] Re2: コピー時の改行コード 
2004/8/26 (木) 14:07:19 attin
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
> プログラミング言語のソース等で1つのテキストファイル中に
> 改行コードが複数種類混在している事はまず無いと思いますけど、


はい、1からプログラミングをする分には全く問題ありません。

> データファイルやなんか取り扱う時は複数種類の改行コードが
> 混在している事はそれほど珍しい事ではないので、


珍しくはないのですか...。
あ、プログラミングの時ではなく、データファイルを編集する時、
ということですね。
はい、たしかに、改行コードは区別できたほうがいいです。

> 作業者の
> 明確な「改行コードを変更したい」という意志が無い時にまで
> 勝手に改行コードが改竄されてしまうような機能がデフォルトに
> なってしまったら却って厄介だと思います。
> # 切り貼りやって場所を入れ替えただけのつもりだったのに、
> # いつのまにかデータが改竄された状態になっていて、、、
> # 元はどこがどの改行コードだったけ???(悩)
> # なんて、量が多かったら最悪のケースかと。


同一ファイルでの編集で、改行コードが置き換わってしまうのは良くないですし
そういったものは期待しません。
不便だと感じているのは、他アプリからのコピー・ペースト時です。
ブラウザやメールソフトから、サンプルコード(文章やデータ等も含む)を
抜粋してコピー・ペーストして使用したい時ってありますね。
そういった時、編集中のファイルが改行コード「LF」がベースなのに
貼り付けられた行は全て CR+LF になってしまうのです。
「今ベースは LF で編集してんだから、LF でいいじゃん」ってな感じなのです。

>> 保存する際に改行コードを指定し直せば
>じゃなくて「置換」した方が楽です。


貼り付けの度にプラスαでマクロを実行するのも、ねぇ。
何箇所(何回)ペーストするか分からないので、保存時に一回で十分です。


クリップボードに読み込まれたデータって、どのアプリでとり込まれたデータ
なのか判断できないのでしょうか?
もし判断できるなら、他アプリからの読み込み時だけベースの改行コードに
合わせれば良いと思うのですが・・・。
なら、上記のような不便もありませんよね?

デフォルトの動きが変わってしまうのも問題だと思うので、
そういった編集モードを設ける、とかでも良いですが・・・。

そもそも、私のようにWindows上でUNIX上のファイルを直接編集すること自体、
珍しいことなのでしょうか?


[4022] Re3: コピー時の改行コード 
2004/8/28 (土) 04:21:06 すい
INCM1.23c
>不便だと感じているのは、他アプリからのコピー・ペースト時です。
>ブラウザやメールソフトから、サンプルコード(文章やデータ等も含む)を
>抜粋してコピー・ペーストして使用したい時ってありますね。
>そういった時、編集中のファイルが改行コード「LF」がベースなのに
>貼り付けられた行は全て CR+LF になってしまうのです。
>「今ベースは LF で編集してんだから、LF でいいじゃん」ってな感じなのです。


う〜ん、私もそういう場面が非常によくありますが、改行コードを
そのまま素直に持って来てくれた方がうれしかったりしますが。
後で改行コードを揃えなくてはならないような場合でも。

なんというか、エディタってテキストのデータを(改行コードも含めて)
そのまま素直に取り扱うのが理想的なユーティリティだし、作業者が
意図的に変更しない限りは勝手にデータ改竄しないでくれ、
って言いたくなっちゃうんですけどね。

特に複数種類の改行コードが混在し、それらの違いを意識しなければ
ならない今の世の中では、それら
「どのユーティリティでどういう改行コードを使っているか」
とかいう、事は重要な情報だと思いますし。
改行コードもそのまま持って来てくれれば
「このユーティリティでは改行コードに CR を使っているんだな」
とか、そのユーティリティに対して、ある種の解析(?)というか
より深く、きちんと理解しながら使う事も出来ますので。
ここを下手に自動的に変換とかされてしまって、その、
“他のユーティリティ”が改行コードに何使っているのかを普段
意識しなくなって知なかったりしたら、逆にサクラエディタ側から
その“他のユーティリティ”へテキストをコピーした時とか、
「改行コードが違っていたために動作しない」という事にも
なり兼ねませんし。その場合、そのトラブルの原因が
「そのユーティリティでは改行コードは CR じゃないと駄目なんだ」
とかいった事に気付くまで相当時間がかかるでしょうし。

私には他のユーティリティから持って来たテキストの改行コードが
勝手にエディタ側の改行コードに変えられてしまうような
エディタって、逆にエディタとしては手抜きのヘタレとしか
思えないんですよね。
「改行コードの取り扱いが苦手なんだろ。実は複数種類の改行コードを
 同時に取り扱えない、とかが理由なんだろ。使えね〜」って。


>クリップボードに読み込まれたデータって、どのアプリでとり込まれたデータ
>なのか判断できないのでしょうか?


基本的に「テキストだよ」というデータタイプ名しかないので
何のアプリでクリップボードに格納したデータなのかは判別しようが
ありません。クリップボード格納時に、その格納するユーティリティが
意図的に特別な目印を付けない限りは。


[4025] Re4: コピー時の改行コード 
2004/9/1 (水) 01:22:59 attin
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)
> 私には他のユーティリティから持って来たテキストの改行コードが
> 勝手にエディタ側の改行コードに変えられてしまうような
> エディタって、逆にエディタとしては手抜きのヘタレとしか
> 思えないんですよね。


はい、この意見には納得です。

> >クリップボードに読み込まれたデータって、どのアプリでとり込まれたデータ
> >なのか判断できないのでしょうか?

>
> 基本的に「テキストだよ」というデータタイプ名しかないので
> 何のアプリでクリップボードに格納したデータなのかは判別しようが
> ありません。クリップボード格納時に、その格納するユーティリティが
> 意図的に特別な目印を付けない限りは。


なるほど、情報が無いなら仕方がないですね。
じゃあ、「このエディタはこういうものなんだ」と割り切るしかないのかな。
う〜ん、でも、このエディタだけだからなぁ。


[4018] Re2: コピー時の改行コード 
2004/8/26 (木) 14:08:14 attin
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
> プログラミング言語のソース等で1つのテキストファイル中に
> 改行コードが複数種類混在している事はまず無いと思いますけど、


はい、1からプログラミングをする分には全く問題ありません。

> データファイルやなんか取り扱う時は複数種類の改行コードが
> 混在している事はそれほど珍しい事ではないので、


珍しくはないのですか...。
あ、プログラミングの時ではなく、データファイルを編集する時、
ということですね。
はい、たしかに、改行コードは区別できたほうがいいです。

> 作業者の
> 明確な「改行コードを変更したい」という意志が無い時にまで
> 勝手に改行コードが改竄されてしまうような機能がデフォルトに
> なってしまったら却って厄介だと思います。
> # 切り貼りやって場所を入れ替えただけのつもりだったのに、
> # いつのまにかデータが改竄された状態になっていて、、、
> # 元はどこがどの改行コードだったけ???(悩)
> # なんて、量が多かったら最悪のケースかと。


同一ファイルでの編集で、改行コードが置き換わってしまうのは良くないですし
そういったものは期待しません。
不便だと感じているのは、他アプリからのコピー・ペースト時です。
ブラウザやメールソフトから、サンプルコード(文章やデータ等も含む)を
抜粋してコピー・ペーストして使用したい時ってありますね。
そういった時、編集中のファイルが改行コード「LF」がベースなのに
貼り付けられた行は全て CR+LF になってしまうのです。
「今ベースは LF で編集してんだから、LF でいいじゃん」ってな感じなのです。

>> 保存する際に改行コードを指定し直せば
>じゃなくて「置換」した方が楽です。


貼り付けの度にプラスαでマクロを実行するのも、ねぇ。
何箇所(何回)ペーストするか分からないので、保存時に一回で十分です。


クリップボードに読み込まれたデータって、どのアプリでとり込まれたデータ
なのか判断できないのでしょうか?
もし判断できるなら、他アプリからの読み込み時だけベースの改行コードに
合わせれば良いと思うのですが・・・。
なら、上記のような不便もありませんよね?

デフォルトの動きが変わってしまうのも問題だと思うので、
そういった編集モードを設ける、とかでも良いですが・・・。

そもそも、私のようにWindows上でUNIX上のファイルを直接編集すること自体、
珍しいことなのでしょうか?


INCM/CMT
Cyclamen v3.81