フォーラムの返信を作成しました。
- 作成者投稿
- takuyaParticipant
マクロの使用例を書いていきます。
includeは適宜変更してください。
先のマクロを利用してGREPを行うマクロ
利用サンプル1#include “Lines.js”
//GREPを実行するマクロ
//Lines.grep.js
//Grep結果は新規タブに開きます。
var str =prompt(“Grep実行: 検索文字列を入力してください 例: ‘123456|abcd|test’; ‘^aaa’など”,””);
if(str){
Utena.Lines.grep(str);
}利用サンプル2
#include “Lines.js”
//該当が何件あるか検索する
//Lines.count.js
//正規表現を使い検索する
//結果は新規タブに開きます。
var str =prompt(“何件あるか数えます。: 検索文字列を入力してください。”,””);if(str){
Utena.Lines.count([str]);
}利用サンプル3
#include “Lines.js”
//Lines.jsを利用してuniqを実現する。
//文書の中からの各行から重複なく取り出します。
//結果は新規タブに開きます。
//
Utena.Lines.uniq();利用サンプル4
#include “Lines.js”
//Lines.jsを利用してuniqを実現する。
//Uniqを実行する
//Lines.XXX$と末尾に$をつけているメソッドは
//現在ファイルを書き換えます。
Utena.Lines.uniq$();利用サンプル5
#include “Lines.js”
//現在のファイルの中身から重複を取り除き
//取り除いた結果をソートするマクロ
//メソッドチェインが特徴
Utena.Lines.uniq$().sort$();利用サンプル6
//1313で始まる行を取り出し
//行頭にファイル名をつける
Utena.Lines.grep$(“^1313.+”, function (x,y) { return document.Name +”t”+ x } );takuyaParticipant回答ありがとうございます。調べてみます。
takuyaParticipantIndexingなどのソフトは特に利用していません。
既存のファイルを開いて「初回保存」が遅いんです。
だいたい10~30秒程度かかります。HDDの回転停止とかは特にしていないと思います。
ファイルを読み込んだあと書き込んでるわけですし。。。職場にUSBでEmEditorを持ち込んで、HDDのファイルを扱っていても同じ障害が出てきます。HDDにインストールした自宅のノートPCと同じ現象です。
両方ともWinXP Pro SP2です。
takuyaParticipantホームーページ作成をされているのであれば、
JavaScriptかPHPを学んでおけばいいのではないでしょうか。
仕事の幅も広がりますし。マクロを作ることも出来ます。takuyaParticipantsnow さん
hosts –> “hosts.txt”
はまさに同じ状況です。
私も個人的に、すべての場合は拡張子をSuffixしないほうが自然かなと思いました。takuyaParticipantNayaさん、ありがとうございます。
拡張子なしで保存できました。助かりました。
takuyaParticipantEmEditorと、WSHと組み合わせたら実現可能かもしれませんね。
ほかにもブラウザでファイル開いて、自動更新10秒とかにするという手も思いつきました。takuyaParticipant外部ツールで、CVSやSVNを起動すると取りあえず代替手段になるのではないでしょうか。
たしかに、CVSやVSS、SVNのレポジトリをエクスプローラープラグインみたいに使えると便利かもしれませ。
takuyaParticipant名前をつけて保存じゃだめかな??
名前をつけて保存するときに同名ファイルで保存してはどうでしょう。
同名のファイルがありますが上書きしますか?で上書きしてしまえば解決しませんかね。
名前をつけて保存だと、新規作成になるのでハードリンクが切れそうな気がするのですが。
takuyaParticipantYutaka様、ありがとうございます。
やってみました。その方法でカレント行の改行コードを取得できました。問題は解決しそうです。
一方で、設定の参照をして取得する方法も考えておりました。たとえばTextファイル設定で保存時の改行コードをCRLFと設定していたり、Perlファイルの保存時改行コードをLFで指定している場合、その設定情報を閲覧することが出来るでしょうか??
これらは、一度適当な行を書出してから取得するしかないのでしょうか?このような手法が思いつきました。
document.writeln();
yLine = document.selection.GetActivePointY(eeLogical);
text = document.GetLine( yLine, eeGetLineWithNewLines )
document.Undo();また、以下のコードを試してみました。
var index = document.Config.FileSave.ReturnMethod;
後者の場合ですがmダイアログで設定されているIndex番号が取得できました。しかし設定が「変換無し」だとIndex番号から実際の改行コードを拾い出すのは無理なようです。
EmEditorは改行コードの混在を扱えるので、ファイルを読み込んだあとに、改行コードの混在のダイアログも出る思うのですが。改行が統一されていた場合や、Ctrl+Nで新規タブを開いた場合など、デフォルトの改行コードがあると思うのですが、それを参照することは、出来ないのでしょうか。
—
takuyatakuyaParticipant新規に無題を沢山作ル事が出来るマクロを書いてみました。
#NewFile.jsee
var _doc = Editor.ActiveDocument;
_doc.write(“dummy”);
Editor.NewFile();
_doc.Activate();
_doc.Undo();マクロを実行すればなんども無題を作成できると思います。
このマクロをトレイアイコンメニューに登録してはいかがでしょうか。takuyaParticipantスクロールバーを操作中はShift押していなくても良かったのですか^^
勉強になりました。
間違った回答を書いてしまいごめんなさい。
takuyaParticipant江村様がEmEditor的に解決策を提示下さったあとなので蛇足かもしれませんが、Shiftを押しながらスクロールバーをスクロールさせて目的行をクリックしたらいかがでしょうか。EXCELなどで数千行を選択するときによく使います。
選択開始行をSHIFTを押しながら選択し、Shiftを押したままマウスカーソルをスクロールバーにもっていき、Shiftを押したままスクロールバーを目的行までスクロールさせ、Shiftを押したまま、目的行をクリック。
コレでも行けると思います。
takuyaParticipant執筆始めました。どんな感じにするかは、江村様と相談中です。いまのところドラフト案をまとめて、草稿を書き始めたくらいです。請うご期待
takuyaParticipant私の環境では、PHPタグを色々組み合わせて使っていると再現します。PHP内でPHPタグを書いている場合など。
PHPのタグがおかしいのではないでしょうか
php埋め込みタグには歴史的経緯から3種類ほどありますASP風のタグ
PHPの昔のタグ
PHPのタグどの組合わせでも動作しますが。。。PHP5.3からは
が標準推奨でそれ以外のタグはサポート対象外になるので、いちどにタグを統一してはどうでしょうか。統一すれば再現しませんでした。
takuyaParticipant書籍を書きます。頑張ります。よろしくお願いします。
takuyaParticipant間違ってないと思いますよ。私が掲示板でコミュニケーションをよくとってるパッと思い浮かんだ名前がお二人でしたから。
書籍はテキストエディタ全般からマクロまでを扱うことになりそうです。
takuyaParticipant印税も欲しいですが、ソフトのユーザー増に協力できるのであれば、ぜひ。
私より、マクロ書くのが得意な方もいらっしゃいますし。色々な側面からEmEditorを紹介する本が出来たらよいですね。
どうですかね。snow さん、ayeさん。takuyaParticipantもちろん協力します。執筆しましょう!!
書籍化されるとやはり宣伝効果が違うと思います。
RubyMagazine のようなWEB形式でも良いと思います。
takuyaParticipant簡単な回答で申し訳ないです。
CSSを編集するのではなく、見たまま記事を編集する。つまり、WYSIWYG が良いのなら、ContentEditable Attributeを使った方が良いです。また、それが出来るJavaScriptライブラリもいっぱいあります。
MTはXHTMLで記述されているのでXMLとして正しくないとIEは表示しません。編集中はXML宣言とDocType宣言を外してください。(ただしバッドノウハウです)
takuyaParticipant今日使っていて見つけた箇所を書きます。
動作環境は、WinXp Sp2 + USBメモリ動作です。———
折り返し後のインデント維持処理を行っていると
行番号のクリックで行選択処理がうまくいかない。
———replace( /’/g , “”);
の’以降がすべて強調表示されてしまう (コレは仕方ないですよね。)
———USBメモリで動作させた場合。
外部ツールのパス設定が相対パスになってしまう。アイコンは取得できるので、参照できている。
EXEのパス指定が相対パスだと「正しいパスを指定してください」となって永遠に先に進めない。正しいパスのチェックは要らないのではないでしょうか。あと、去年、Ver6で依頼した事なのですが、
「アウトプットバーを閉じる」キーボードショートカット(ctrl+w)を割り振っていただいたと思います。今回のバージョンでもショートカットを割り振って貰えると助かります。アウトプットバーは確認するとスグ消すので、ショートカットがある方が便利です。無くなるのは悲しいです。takuyaParticipantUSBメモリ動作時のタスクトレイアイコン、毎日使用していますが、タスクトレイで非表示になってしまいます。「常に表示」設定にするのですが、再起動するたび非表示に戻ってしまいます。
箱形選択のこと
具体的に言うと、折り返しのインデントON、指定文字数で折り返し、フリーカーソルOFFの場合に折り返しのインデント行を含んで箱形選択し、画面の空白領域をクリックするすると、点滅するカーソルの位置が、変な場所に現れる。たぶん点滅カーソルの位置に折り返しのインデントが反映されていない。
AutoCompleプラグインですが、エディタ内のフォント設定とうまく一致しないため、エディタに8PTなど小さいフォント利用していると、プラグインの文字が上下被ってしまうことがあります。
takuyaParticipantWYSIWYGとは見た目めがそのまんま、反映されるGUIのことを意味します。WordやEXCELなどもWYSIWYGですね。ソースいじる場合はWYSIWYGとは言わないと思います。Wikipediaに書いてあったよ。
>文章を自動でHTMLソースに変換して、画像を挿入したり表を挿入したりして作られたHTMLソースをコピペ、もしくはFTP転送。
HTMLのテンプレート処理かな。そういうのはPerlやPHPが得意ですね。サーバー側にブログをインストールした方が楽かもね。ブログに投稿するなら、マクロで行うことも可能です。
たとえば去年実験してた副産物で、こんなマクロがあります
http://jp.emeditor.com/modules/mydownloads/singlefile.php?cid=21&lid=190メールでブログに投稿するならマクロからCDOMessageオブジェクトを使うことで可能です。
FTPに関して言えば、外部ツールで何か起動してくださいな。
takuyaParticipantURL$> を URL$>{TAB} に置換して、文字列をEXCEL貼り付ける。EXCELに連番処理と書式処理を任せるのが楽だと思います。
EXCELの限界行数66536行よりデータ量が多いならマクロでも良いですが。。。
MTのタグなら、MTの繰り返しタグ使うのが正攻法だと思います。
takuyaParticipantAyeさんに同意いただけると嬉しい限りです。
http://svn.coderepos.org/share/lang/eemacro/
はわかりにくいので思い切って
http://svn.coderepos.org/share/lang/emeditor/
とするのも良いかもしれないと思います。ソフトの知名度UPに貢献できるかも。LANGディレクトリ階層を考慮すると
http://svn.coderepos.org/share/lang/wsh
の下あたりが適当なのかな。でも/lang/vimとかあるし。/lang/emeditorも捨てがたいかなぁ・・・今後CodeReposが発展して秀丸やSakuraエディタ、EXCELなどが増えれば、/macro/フォルダに移動する方向で良いのではないかと。最終判断はCodeRepos主催者さんに決めていただくとしても、こちら側である程度、案を絞った方が良いかと思います。
- 作成者投稿