1read 100read
2013年06月ソフトウェア274: 【マクロは】帰ってきたVxEditor【DMonkey】 (576) TOP カテ一覧 スレ一覧 2ch元 削除依頼
VMware総合スレ Part34 (562)
Chromium派生ブラウザ 「SRWare Iron」 Part12 (147)
FlashGet 総合スレッド (205)
【DVDヨン】doubleTwist (136)
VMware総合スレ Part34 (562)
★winamp★★放送中情報★ (439)

【マクロは】帰ってきたVxEditor【DMonkey】


1 :2007/08/16 〜 最終レス :2013/05/24
一年余りの充電期間を経て、まさかの復活を遂げたテキストエディタ
VxEditorの、主にマクロを開発したいスレです。
公式サイト? VxEditorの部屋
 ttp://dr-x.hp.infoseek.co.jp/
ダウンロードページ
 ttp://www.vector.co.jp/soft/win95/writing/se236058.html
参考スレッド‐テキストエディタをまったり語ろう ver.23
 ttp://pc11.2ch.net/test/read.cgi/software/1180879766/

2 :
VxEditorの主な特徴
 ・SDI型(一ファイル一画面)
 ・AWK型とPerl型の二種類の正規表現に対応
 ・JavaScript互換のスクリプト言語DMonkeyによる機能拡張
 ・Word/Excelファイルも縦断検索できるVxGrep
 ・USBメモリによる携行に対応
 ・鬼車を採用した正規表現エンジン
先人によるお役立ちサイト
 VxEditor & DMonkey布教ページ
  ttp://lukewarm.s41.xrea.com/DMonkey/dmsh/cliputil.html
 (*゚ー^) 補完タンのページ
  ttp://www.geocities.co.jp/SiliconValley-Oakland/4672/
 DMonkeyを採用し、マクロを互換できるかもしれないテキストエディタ
  JmEditor
  WHiNNY
 参考スレッド‐テキストエディタJmEditorスレ 2
 ttp://pc11.2ch.net/test/read.cgi/software/1151128986/

3 :
VxEditorで複数の検索置換を一括で行うDMonkeyマクロ-1
たとえば、選択範囲の中を検索して『hoge』があったら『予約』に、
『huga』があったら『表示』に置換を一回で行いたい場合のマクロ。
var e = new Editor; //エディタオブジェクトの作成
var text;
    text = e.SelText; //選択したテキストを取得
    text = text
            .replace(/hoge/g,"予約")
            .replace(/huga/g,"表示")
    ;
e.SelText = text;
本来はこれでいいはずですが、DMonkeyの正規表現エンジンは外国製の、
2バイトには対応していないものだそうで、このまま実行するとシフトJISの
一部の文字が化けてしまい、『予約』 は 『蘭・』、『表示』 は『侮ヲ』に
なってしまいます。 (所謂『ダメ文字』問題)。


4 :
VxEditorで複数の検索置換を一括で行うDMonkeyマクロ-2
そこで>1が『テキストエディタをまったり語ろう ver.23』スレッドで相談したところ、
147氏がWSHによるマクロを作ってくださいました。こちらの正規表現エンジンは
普通に2バイト文字が通るので、問題なく置換できるようになりました。
e = new Editor; //エディタオブジェクトの作成
text = e.SelText; //選択したテキストを取得
// Windows Script Host(WSH)のRegExpオブジェクトを作成する
reg = new ActiveXObject("VBScript.RegExp");
reg.IgnoreCase = false; //大文字と小文字を区別する
reg.Global = true; //文字列全体を検索する
reg.Pattern = "hoge"; text = reg.Replace(text, "予約");
reg.Pattern = "huga"; text = reg.Replace(text, "表示");
reg.Pattern = "hage"; text = reg.Replace(text, "はげ");
e.SelText = text;

5 :
VxEditorで複数の検索置換を一括で行うDMonkeyマクロ-3
さらに強欲な>1は検索文字列と置換文字列がもっとくっつけられないかと要求し、
親切な147氏は更に改良を加えてくださいました。
var words = new Array(
"hoge","予約",
"huga","表示",
"hage","はげ" //←最後の行の末尾には , をつけない
);
var e = new Editor; //エディタオブジェクトの作成
var text;
text = e.SelText.toUTF8(); //選択したテキストを取得してUTF-8に変換
for (i = 0; i < words.length; i += 2) {
  text = text.replace(words(i).toUTF8(),"g",words(i+1).toUTF8());
}
e.SelText = text.fromUTF8toSJIS(); //テキストをシフトJISに変換

6 :
それからこの一括置換マクロたち、VxEditor以外に
JmEditorやWHiNNYで試してみましたが、ちゃんと動きました。

7 :
終了時の位置やサイズを記憶してくれないけどなんで?

8 :
>>7
設定見ろよ…
表示→現在の設定の変更→ ウィンドウ→ 起動時のウィンドウサイズ

9 :
カーソルを最終行に移動させる起動オプション/jeをつけて
起動するとエラーがでます。
OSは2ksp4 VxEditor0.5.4.0
VxMain.exeのアドレス0041D820でアドレス80000002に対する読み込み違反がおきました。

10 :
>>8
チェックいれるとそうなる?
win2kの環境だとチェックいれてもならないから聞いてみたんだけど

11 :
>>7
表示→共通の設定→ 履歴→ ウインドウの大きさと位置を保存する

12 :
URLを右クリックしたときにURLをコピーする項目がほしいな。

13 :
あー分かる。

14 :
スレたておめっと。

15 :
あげておくか。

16 :
IEのソースをVxで表示するようにレジストリ弄ったら、標準の設定で開かれるんで、
レジストリの値に/sオプション付けたら
「〜VxEditor.exe /s"HTMLの設定"が見つかりません」とエラーが出たのですが、
解決方法はありますでしょうか?

17 :
HTMLを「HTMLの設定」って設定で使用してるのなら、レジストリの値は
〜VxEditorHtml.exe
でOK

18 :
>16
VxEditorのフォルダを覗くと、VxEditor.exeの日付とバイトサイズが同じで
名前が異なるVxEditorHtml.exeという実行ファイルがありますよね。
これを実行すると、ファイルがHTMLの設定で開かれるので、ブラウザの
ソースエディタにはこちらを指定すればよろしいかと存じます。
そういえばReadmeファイルにも何故かこのことは書いてませんね。

19 :
>>17-18
おお、こんなんがあったのですね。
上手くいきました。感謝感謝。

20 :
編集した行の行番号が太字にするには、何処を設定すればよいのでしょうか。
スクリプト書く必要があるなら、これから勉強します…
各ファイル種別ごとの設定の色設定あたりにもないし、共通の設定にも見つかりません。

21 :
見出しの行の文字を大きくするには、何処を設定すればよいのでしょうか。
スクリプト書く必要があるなら、これから勉強します…
各ファイル種別ごとの設定の色設定あたりにもないし、共通の設定にも見つかりません。

22 :
二重投稿したかと思ったら、俺が茶化されるだけかい(w

23 :
>>20
無理
作者にメールしる
>>21
引用符とか単行コメントとかに設定するしかない

24 :
>>23
thx
了解です。
これだけ出すのもなんなんで、もうちょっと使ってから不具合報告とかとまとめて送ってみます。

25 :
行頭から始まる数字に:をつけて時間を表そうと、
1 なら :00を追加して1:00 に、3.40 なら .を:にして3:40に、という具合に
一括置換すべく正規表現を使って、
^(\d+)\n → $1:00
\. → :
というパターンを用いたDMonkeyマクロを組んでみましたが、
>3-5のどのマクロでもうまく置換できませんでした。
Windows2000SP4+VxEditor0.5.4の組み合わせです。
正規表現の場合まだ何か必要な記述があるのでしょうか?

26 :
自力で解決できました。分かってるひとには当然すぎる結果かもしれませんが、
折角なので書いときます。
1
2
3
4
5
12.30
15.25
↑これを↓のようにしたくて、
1:00
2:00
3:00
4:00
5:00
12:30
15:25
>3 のマクロを使ったら、1・6・7行目しか置換できなかった。
原因は、正規表現のオプションにm(複数行対象)が入っていなかったことでした。
var e = new Editor;
var text;
  text = e.SelText;
  text = text
        .replace(/^(\d+)$/mg,"$1:00") //←mが必要
        .replace(/\./mg,":") //←mが必要
  ;
e.SelText = text;

27 :
>4 のマクロを使ったら、一行目のパターンがよくないというアラートが出て停まってしまう。
どうやら『0から9までの数字のどれか』を表す『\d』が使えないらしいということに気が付き、
パターンを『[0-9]』に変更するが、今度はそこいらじゅう:だらけになった。
\をつけても.をエスケープできてないことに気が付き、\\にしてやっと6・7行目が置換できた。
しかしまだ1〜5行目が置換できない。
原因は、>3 同様に複数行を対象にする『reg.Multiline = true;』がなかったことでした。
e = new Editor;
text = e.SelText;
  reg = new ActiveXObject("VBScript.RegExp");
  reg.IgnoreCase = true;
  reg.Multiline = true; //←この行を追加
  reg.Global = true;
reg.Pattern = "^([0-9]+)$"; text = reg.Replace(text, "$1:00"); //\dは使えない?
reg.Pattern = "\\."; text = reg.Replace(text, ":");  //エスケープは二重(\\)にする
e.SelText = text;

28 :
>5 のマクロを使ったら、なぜか選択文字列が全部消えたw
もしや配列に正規表現は使えないのか? と思いましたが、そんなことはなく
さっきまでの応用で、『\d→[0-9]』と『\→\\』と、mの追加で置換できるようになりました。
var words = new Array(
 "^([0-9]+)$","$1:00",
 "\\.",":"     //←最後の行の末尾には , をつけない
);
var e = new Editor;
var text;
  text = e.SelText.toUTF8();
  for (i = 0; i < words.length; i += 2) {
  text = text.replace(words(i).toUTF8(),"mg",words(i+1).toUTF8());
  }
e.SelText = text.fromUTF8toSJIS();
連投スマソ。

29 :
>27-28のマクロ、『[0-9]』にしなくてもエスケープを二重の『\\d』にすれば
『\d』も大丈夫でした。

30 :
ネットで見つけたEmEditor用のマクロを加工してみました。
(Var n in ent)とかevalとか、それを使う仕組みは分からないけど
とりあえず使うことはできるので。
var ent = new Object();
ent = {
"^(\\d+)$" : "$1:00",
"\\." : ":"      //←最後の行の末尾には , をつけない
};
var e = new Editor;
var text;
  text = e.SelText;
for (var n in ent){
  text = text.replace(eval("/" + n +"/mg"),ent[n]); //←imgの有無は必要に応じて
  }
  e.SelText = text;

31 :
折角教えてもらったのに、うっかりしてました。
テキストは一旦UTF-8にしないと一部の2バイト文字が化けるんでした。
var ent = new Object();
ent = {
"^(\\d+)$" : "$1:00",
"表\\." : ":"    //←最後の行の末尾には , をつけない
};
var e = new Editor;
var text;
  text = e.SelText.toUTF8();
for (var n in ent){
  text = text.replace(eval("/" + n.toUTF8() +"/img"),ent[n].toUTF8());
  }
  e.SelText = text.fromUTF8toSJIS();

32 :
FindSetとReplaceSet引数についてのメモ
テキストエディタをまったり語ろう ver.23
http://pc11.2ch.net/test/read.cgi/software/1180879766/165
>あとFindSet、ReplaceSetのoptionのビットってのは
>0ビット目 -> 2の0乗=1
>1ビット目 -> 2の1乗=2
>5ビット目 -> 2の5乗=32
>って事なので、有効にしたいビットの値を足し上げてoptionの値とする。
>鬼車で大文字小文字区別して検索するなら1+32で33を渡す。
>
>しかし FindSet->ReplaceSet->Replace でやろうとすると
>replace命令が選択範囲や1個だけの置換に対応してないんで
>すごく使いにくい。選択範囲内置換とかは離れ業使わないと無理。
>(別ウィンドウにコピーして全置換してから戻す、みたいな)
>
>選択範囲内置換機能かReplaceNextみたいなのを追加してほしいなあ。

33 :
VxEditor最新版、ついに公式サイトから発信。
ttp://dr-x.hp.infoseek.co.jp/
>2007/09/01 Ver 0.5.5
>
> ・MS-IMEの「カーソル位置の前後の内容を参照して変換を行う」、ATOKの「カ
> ーソル位置前後の文章を参照して変換する」に対応。
> ・URLやメールアドレスでマウス右クリックのときリンクをコピーなどのメニ
> ューがでるように変更。
> ・検索や置換ダイアログの補助入力用ポップアップメニューを少し追加。
> ・VxGrepでテキスト抽出する拡張子を追加。(Office2007やOpenOfficeなど)

34 :
正規表現1や2の検索で\n\nは検索できるんだが
\n\n\nが検索できないのはなぜかわかりません…orz

35 :
>>34
DocフォルダのFAQに書いてあるよ。

36 :
>>35
サンクス。…この制限は正直きつい

37 :
VxEditor用に英数字のみ半角にするマクロを書いてみました。
// 全角英数字を半角英数字に置換する
var words = new Array(
"0" , "0" ,
(略)
"9" , "9" ,
"A" , "A" ,
(略)
"Z" , "Z" ,
"a" , "a" ,
(略)
"z" , "z" //←最後の行の末尾には , をつけない
);
var e = new Editor; //エディタオブジェクトの作成
var reg = new ActiveXObject("VBScript.RegExp");
var text = e.SelText; //選択したテキストを取得
  for (i = 0; i < words.length; i += 2) {
    reg.IgnoreCase = true;
    reg.Multiline = true;
    reg.Global = true;
    reg.Pattern = words(i);
    text = reg.Replace(text, words(i+1));
  }
e.SelText = text;

38 :
>37を自分で書いといてアレですが、a-z・A-Z・0-9と分かりやすいグループになっているのに
一件一行づつ総当り戦というのはなんかいまひとつ芸がない感じがします。
JavaScriptのサンプルを公開しているサイトにもっとアタマの良さそうな書き方があったのですが、
これをVxEditorで使えるように書き直すことはできないでしょうか。

 /* 全角英数字を半角英数字に置換する */
 function z2h_word(src) {
  return src.replace(/([A-Za-z0-9_])/g,
   function ($0) {
    return String.fromCharCode($0.charCodeAt(0) - 65248);
   });
 }
 /* 半角英数字を全角英数字に置換する */
 function h2z_word(src) {
  return src.replace(/(\w)/g,
   function ($0) {
    return String.fromCharCode($0.charCodeAt(0) + 65248);
   });
 }
AOK's JavaScript Libraryより
ttp://homepage3.nifty.com/aokura/jscript/z2h_word.html

39 :
これ復活してたのか
地味に嬉しい

40 :
大いに喜んだら良い

41 :
URLコピー対応してくれたのか。作者ここ見てるのかな?感謝してるだ。

42 :
俺も感謝しれる

43 :
画面のサイズの記憶は拡張子ごとにしかできない?
保存したファイルを開くとサイズは記憶されてるみたいだけど
本体を直接立ち上げるとどうしても毎回デフォルトの大きさになる
メモ帳ですら記憶されるのに

44 :
>>43
メニューの表示の中を良く見てみな。

45 :
readmeとかに書いてあるhttp…とかのURLをクリックするとブラウザで表示されるようにしたいんだけど、どうやるの?

46 :
ダブルクリック

47 :
>>46
どうもありがとう

48 :
ふたつ以上の連続した改行をひとつにするマクロ。
oedit辺りだと、複数の改行にまたがって検索置換できるので、
検索:\n\n+
置換:\n
でひとつに統合できるし、VxEditorでもマクロならふたつ以上の改行もヒット
するようにできるのですが、なぜか直前の文字のくり返しである + が
有効にならないようなので、仕方なく数種類の『複数の改行をひとつにする』を
何回か繰り返して最終的にひとつにします。
\n\n\n\n\n ←これはOK
\n\n+     ←これはNG
美しくないですが、一応使えます。
var e = new Editor;
var text = e.SelText;
for (i = 1 ; i <=5 ; i++ ){   //初期状態では5回くりかえす
 text = text
   .replace(/\n\n\n\n/mg,"\n") //4つ連続する改行をひとつにする
   .replace(/\n\n\n/mg,"\n")  //3つ連続する改行をひとつにする
   .replace(/\n\n/mg,"\n")    //2つ連続する改行をひとつにする
   ;
  }
 e.SelText = text;


49 :
dmonkeyの正規表現は微妙なところあるね。
↓dm.exe用テスト
var test = "1\n2\n\n3\n\n\n4\n\n\n\n5\n\n\n\n\n---\n";
print(test);
print(test.replace(/(\n)+/mg,"\n"));
\nを()で括ってやると希望通りの結果になる。
()がないと1つずつ置換するらしい。
マクロは↓でおk
var e = new Editor;
e.SelText = e.SelText.replace(/(\n)+/mg,"\n");

50 :
<Thanks>
神は居た。
\nだけじゃなく、繰り返しの直前の文字が2バイト文字もダメかも?
『用件を聞こう...』
『用件を聞こう・・・』
『用件を聞こう、、、』
『用件を聞こう‥‥』
『用件を聞こう・・・』
『用件を聞こう...』
↑という語尾の点点を、三点リーダー2つの『用件を聞こう……』に統一したくて、
var e = new Editor;
 //e.SelText = e.SelText.replace(/(・・+|、、+|‥‥+|……+|\.\.+)/g,"……") ;
 e.SelText = e.SelText.replace(/(・・|、、|‥‥|………|\.\.|..)+/g,"……") ;
両方のパターンで実行してみたけど、1バイトのピリオド以外は繰り返しを認識くれませんでした。


51 :

で、WSHを使うこっちのマクロだとちゃんと置換されるので、
ダメ文字も含めて2バイト文字を扱うときはWSHのがいいのかしら。
 var e = new Editor;
 reg = new ActiveXObject("VBScript.RegExp");
 reg.IgnoreCase = true;
 reg.Multiline = true;
 reg.Global = true;
 reg.Pattern = "・・+|、、+|‥‥+|……+|\\.\\.+|..+";
 e.SelText = reg.Replace(e.SelText, "……");
フツーに日本語を扱いたいだけなのに……。

52 :
先生ー、avast!君が唐突にキレはじめました
イベントの種類: 警告
イベント ソース: avast!
説明:
Sign of "Win32:Agent-LOL [Trj]" has been found in "C:\Program Files\VxEditor\VxGrep.exe" file.

53 :
ぁウチのもだ。
Windows2000SP4+VxEditor0.5.5の組み合わせ。
VxGrep.exeだけ0.5.4をにしてみても、解凍した途端にアラートが出ます。
てことは最近バージョンアップしたavast!4.7側が問題を?

54 :
avastに文句行ってくる!!とりあえずパスポート準備するよ!!

55 :
Vx復活してんじゃん。最強。
これなしでは生きていけない。。。

56 :
VxEって差分比較出来ないのですか?

57 :
>>56
ググったカス
WinMerge(http://winmerge.org/)
Rekisa(http://hp.vector.co.jp/authors/VA017396/)
皆さんどちらを使ってますか?

58 :
>>57
WinMergeだな。

59 :
俺もWinMerge

60 :
とりあえずavast!は正気に返った、と。

61 :
ttp://vista.undo.jp/img/vi9077592267.jpg
?とか?が表示できないのってどうにかならないかな?

62 :
>>61
それ、使ってるフォントは同じ?

63 :
急に消えてしまって突然復活したのはなぜ?

64 :
就職→開発途絶える→辞職→開発再開

65 :
そういうことですか
なるほど

66 :
ウソダモンネーヾ(*´∀`)人(´∀`*)ノ ウッソウソー

67 :
>61おとっつぁん、それは言わない約束でしょ。
シフトJISにない文字は表示もできないし、プロポーショナルフォントも使えないの。
そういうのはEmEditorとか秀丸とかメモ帳を使ってね。

68 :
>>57
どっちも桁単位で差分比較できるソフトだが、
かくいう俺もRekisaは数10MBファイルを開くのが遅かったり
開けなかったりでなじめなかった

69 :
VXeditorでは新規作成したときの文字コードをシフトJIS以外に指定出来ないのですか?

70 :
VxEditorは直前に開いていたファイルと同じ文字コードで新規作成されるみたいですね。
使用条件がよく分からないけど、たとえばショートカットに起動オプションをつけて、
文字コードをEUC決め打ちで起動すると、開かれたファイルは当然EUCだし、
そこから新規作成を実行するとやはりEUCで作成されるけど、そういうのでoK?

71 :
>>70
ありがとうございました、その方法で問題ありませんでした。

72 :
他の人の役に立つのかわからんけどマクロ投下。
編集中の文書内の[! と !] の間に書いたdmsを実行します。
//import mylib.*; //よく使う関数は外部dmsに書き溜めておく
var e = new Editor;
var w = new Window;
var doc = e.text.toUTF8(); //本文取得
var sel = e.SelText.toUTF8(); //選択テキスト取得
var re = new RegExp(/\[!(.+)!\]/,"m");
if (!re.test(doc)) { return; }
//try { //例外処理は省略
eval("(function(){" + re.$1 + "})();");
if (e.Selected) { e.SelText = sel.fromUTF8toSJIS(); }
else { e.text = doc.fromUTF8toSJIS(); }
//} catch(err) { }
実行後、選択範囲がある場合は選択範囲を変数selの内容で、
なければ文書全体をdoc変数の内容で置き換えます。
dms使わないとめんどいけど、ツールとして登録する程の
ものでもないような処理をしたい時に使えるかも?
自分はdmsの実験用に使ってます。
例1.選択範囲の行頭に連番を振る (改行入れてもOK)
[!el=sel.split("\n"); for(i in el){el[i]=(i<10?"0":"")+i+". "+el[i];} sel=el.join("\n");!]
例2.ウィンドウ複製
[!e2=new Editor; e2.WindowNo=w.Open(); e2.text=e.text;!]

73 :
最近使い始めたばかりです。機能が多いのに挙動が速くて気に入りました。
決まったテキストファイルに次々覚え書きを残すために、
ショートカット等で起動
決まったテキストファイルを開く
改行を2回入れる
    (前回の覚え書きが行末で終わっているかもしれないのと、
     できれば前回記述から1行あけたい)
現在の日時を挿入
改行して行頭にカーソルがくる
といったことは可能でしょうか?
これまで使っていたエディタではキーマクロを保存し、
エディタ起動後ショートカットキーで覚え書きメモを現在日時を入れた状態で起動させていました。
その一手間を省きたいのですが。

74 :
Vectorが0.54のままなんだけど?

75 :
>>73
file = 'c:\foo\bar.txt'; //ファイル名
fmt = 'yyyy/mm/dd(aaaa) hh:nn:ss'; //日時の書式
if (Window.FileName.toLowerCase() != file.toLowerCase()) { return; }
Date.format = fmt;
Editor.Text += "\n\n"+Date.toString()+"\n";
↑の最初2行をいじってマクロ(拡張子dmsのファイル)として保存して、
メニューのツール->ツール設定->追加から実行ファイルとして指定。
自動実行タブの実行条件で"ひとつのエディタフォームの起動時"にチェック。
これで1行目で指定したテキストを開いた時に日時が勝手に挿入されるので、
あとは指定したファイルをVxEditorで開くショートカットを作ればOK。
txtファイルがVxEditorに関連付けられてるならテキストファイルへの
ショートカットを作成するだけ。
おまけで自動実行使わない場合のマクロ↓
file = ''c:\foo\bar.txt';
fmt = 'yyyy/mm/dd(aaaa) hh:nn:ss';
w = new Window;
e = new Editor;
if (w.FileName != "" || e.Modified) { w.WindowNo = w.Open(); e.WindowNo = w.WindowNo; }
w.FileLoad(file,0);
Date.format = fmt;
e.Text += "\n\n"+Date.toString()+"\n";

76 :
任意の行(例えば、3行目と10行目と22行目)を抜き出す事は可能ですか?

77 :
抜き出してどうすりゃいいのか知らんけど、とりあえずalert
var a = new Array(3,10,22);
var el = Editor.Text.split("\n");
var s = "";
for (i in a) { s+=(a[i]<=Editor.LineCount)?el[a[i]-1]+"\n":""; } //最終行超えてたら空文字
alert(s);

78 :
>>77
抜き出して、書き出したかったんです。
ありがとう。ありがとう。

79 :
>>75
バッチリ望み通りの動作です!
本当にありがとうございます。

80 :
HTMLタグを含む定型文で選択範囲の文字列を挟み込むというマクロを作りたいのですが
どのようにしたらいいでしょうか?
補完タンのページにあるコメント化を改造したらできるかなと思っていたのですが

81 :
DMonkeyでソートって出来ましたっけ?

82 :
現在開いているファイルを関連付けに従って実行するにはどうしたら良いのでしょうか?
vxのメニューバーにあるツールから
 実行ファイルを cmd
 コマンドラインパラメータを "$FILEPATH"や start "$FILEPATH"
に設定したんですがdos窓が開くだけなんです。
何か簡潔な実行方法は無いのでしょうか?

83 :
>>82
パラメータを「/c start "" "$FILEPATH"」にすればOK
実行ファイルを「rundll32」、パラメータを
「url.dll,FileProtocolHandler "$FILEPATH"」にしてもOK
前者だと一瞬コマンドプロンプトが開いちゃうので
後者のがお勧めかな


84 :
>>83
すごく変則的で予想も付きませんでした。
本当にありがとうございます。

85 :
「設定」→「テキスト」→「テキストの種類:perl」の設定にした時って
予約語の色設定は反映されないのでしょうか?
コメント読む限りですと「文字列とコメントタブは反映されない」とありますので
予約語は色設定が反映されると思ってたのですが、勘違いでしたでしょうか?
マクロ使っても特定文字に色付けってのは難しいですよね…?

86 :
>85
それはPerl用の予約語がカラッポだからじゃないですか?
試しに、dms用の設定をご覧下さい。
予約語のリストにたくさん書いてあると思うので、
それに習ってPerlのも埋めていただければ、いいのではないかと。
勿論200くらいあるPerlの予約語を一語ずつ入力しなくても、
一件一行形式のテキストファイルの拡張子を.kwdにすれば、
キーワードファイルとして一括読み込みできますから、
どっか別のエディタの設定ファイルからPerl用を拾い出して、
リストを加工すればいいんじゃないでしょうか。

87 :
>80
正規表現による検索置換を使ったマクロを作ってみた。
たとえば文書中の単語(タンゴ)からリンク(tango.html)を張りたいとする。
でも文章を入力中は単語が主でリンクは従なので、こんな風に書きたい。
 タンゴ tango.html
単語の境目を明示的に、かつ手間を少なくしたいので、タブで区切ってみる。
 (Tab)タンゴ(Tab)(Tab)tango.html(Tab)
これを選択して、以下のマクロを実行するとこうなる。
<a href=tango.html>タンゴ</a>
この方法だと区切りを間違えなければ、文書中に複数のリンクを一度に作れる
と思うのだが、どうか。

88 :
/*
(Tab)テスト(Tab)(Tab)test.html(tab) と書いてあれば、
<a href="test.html">テスト</a> に置換するマクロ。
*/
var words = new Array(
'\t([^<].*?)\t\t([a-z\.].*?)\t','<a href="$2">$1</a>'  //←最後の行の末尾には , をつけない
);
var e = new Editor;
var text = e.SelText;
for (i = 0; i < words.length; i += 2) {
text = text.replace(words(i),"gim",words(i+1)); //大文字小文字は区別しない
}
e.SelText = text;


89 :
>>86
85とは別人だが、私も予約語の色が反映されない。
予約語は当然山盛り登録済みで、
テキストの種類を標準にすると予約語の色は反映される。
テキストの種類をperlにすると色反映されない。
当面の仕事はphpのみだから放置しているが…

90 :
うーむ、言われてみてEmEditorのPerl用定義ファイルから抽出した予約語(200語くらいある)
をkwd形式にして食わせてみたら、確かに以下の10語くらいしか強調されませんでした。
continue
else
for
goto
if
return
while
delete
do
int
new
しかも別にPerlじゃなくても、ってのばっかだし。
バージョンは0.5.5で、Windows200SP4の組み合わせです。

91 :
保守

92 :


93 :
ツールの設定でファイルのあるディレクトリをコマンドプロンプトで開きたいんですが
cmd [$DIRPATH]
としてみたんですがうまくいきません。
どうすればいいんでしょうか?

94 :
このエディターが音声入力に対応しているかどうか試してみた。
これは音声入力で入力した文章だ。きちんと入力できている。最高だ。
これだったらメモ帳を使えと言われるかもしれないか。
タイプするよりは疲れない。

95 :
>>93
実行ファイルを「cmd」、パラメータに「/k cd /d "$DIRPATH"」でどうよ?

96 :
>>94
指が相当弱いのか、声帯が恐ろしく強いのか
そのどちらかだろ

97 :
>>95
できました!
ありがとうございます!

98 :
保守

99 :
viにおけるSHIFT-Jの動き(行結合)をシミュレートするマクロです。需要あるか?
// TAB幅展開後のテキスト長を得る
function getTabExpandedLength(text, tabwidth) {
var result = 0;
for (i = 0; i < text.length; i++) {
c = text.charAt(i);
if (c == "\t") {
spaces = tabwidth - (result % tabwidth);
result += spaces;
} else {
result += c.sizeOf();
}
}
return result;
}
Editor.BeginUpdate();
try {
var curRow = Editor.Row;
var curCol = Editor.Col;
if (curRow < Editor.LineCount) {
var curLineStr = Editor.GetLineString(curRow);
var nextLineStr = Editor.GetLineString(curRow + 1).trimLeft();
Editor.SetLineString(curRow, curLineStr + nextLineStr);
Editor.LineDelete(curRow + 1);
Editor.Row = curRow;
Editor.Col = getTabExpandedLength(curLineStr, Editor.TabSpaceCount);
}
} finally {
Editor.EndUpdate();
}

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
Mozilla Thunderbird Part21 (120)
気軽に「こんなソフトありませんか?」Part.156 (403)
2ちゃんねるスレッド全文検索・・・ThreadSearch (514)
腕を振るしかないんです! 9 (436)
FileZillaってどうよ? Part2 (201)
2chツリーブラウザ Solo Part1 (258)
--log9.info------------------
Dota 2 part 21 (1001)
The Elder Scrolls V: SKYRIM その286 (268)
【LoL】League of Legends 魔境脱出スレ rate18 (450)
ローズガンズデイズ Part1 (998)
Civilization5 (Civ5) Vol.100 (842)
【LoL】League of Legends【lol】 その476 (1001)
英雄伝説 零の軌跡/碧の軌跡 2ndChapter (127)
【HoI2】第二百四十二次 Hearts of Iron【Paradox】 (797)
【PC】FIFA13 Part5【EA】 (207)
The Elder Scrolls V : Skyrim 質問スレ 90 (940)
【PC版】FUEL part7 (159)
【PoE】 Path of Exile Part33 (606)
「A列車で行こう」シリーズ78両目 (933)
Minecraft 質問スレ chunk55 (436)
【LoL】League of Legends 初心者スレ Part34 (229)
【ETS2】 トラックゲー総合スレ Part15 (498)
--log55.com------------------
【森友】加計学園の文書改竄のほうが問題じゃないか
【ch桜】 日本よ、今… 闘論!倒論!討論!★1
【日本の国益を考える勉強会】 いわんかな★1
■ 生活保護世帯<社会抹殺法案>が成立!2
■アホノミクスという年金博打■
マジで日本国民は安倍の暴走を止めるべき3
安倍はまだ逮捕されないのか。
安倍はクソ2