ããã°ã©ãã³ã°å
¥éè
åãã«ããªã¼ã®ãããã¹ãã¨ãã£ã¿ããç´¹ä»ããè¨äºã§ããç´¹ä»ãã¦ããã®ã¯ãå
¨ã¦ç¡æãã§ãWindowsãMacããããã«å¯¾å¿ããã¨ãã£ã¿ãããã¯ã¢ãããã¦ãã¾ããå¤ãã¯æ¥æ¬èªã«ã対å¿ãã¦ããã®ã§ããã²ä½¿ã£ã¦ã¿ã¦ãã ããï¼ ãµã¯ã©ã¨ãã£ã¿ Unicode/64bit(x64)çã§ãã æ¤ç´¢æ¡ä»¶ãªã©ã«æ£è¦è¡¨ç¾ãå©ç¨ããã«ã¯ä¸ã® bregonig.dll Unicode/x64 ãå¿
è¦ã§ãã 2.0.5.0ã§ã¯ãããã§ã¹ãã¯æ¬¡ã®è¨å®ã§ãã¤ããªã«åãè¾¼ãã§ããã¾ãã Visual Style: ON, UACä»®æ³å: OFF, DPIä»®æ³å: OFF ãµã¯ã©ã¨ãã£ã¿ Unicode/64bit(x64)çã§ãã æ¤ç´¢æ¡ä»¶ãªã©ã«æ£è¦è¡¨ç¾ãå©ç¨ããã«ã¯ä¸ã® bregonig.dll Unicode/x64 ãå¿
è¦ã§ãã 2.0.5.0ã§ã¯ãããã§ã¹ãã¯æ¬¡ã®è¨å®ã§ãã¤ããªã«åãè¾¼ãã§ããã¾ãã Visual Style: ON, UACä»®æ³å: OFF, DPIä»®æ³å: OFF NoOptパッチは、関数を引数の有無でわけて最適化を殺すもので、こちらだと私の環境ではうまく動きます。 [7691] ãµã¯ã©ã¨ãã£ã¿ANSIçã§unicodeæåãæ¤ç´¢ããã TAXI 2013å¹´07æ06æ¥ 23:56 ä¸é¨unicodeæåãå«ãããã¥ã¡ã³ãã§ãunicodeã®æåã ããæ¤ç´¢ãããå ´åãããã®ã§ãããå¯è½ã§ãããæ¹æ³ããæããã ããã あまり優先度は高くないと思います。(コマンドラインを使いこなす人≒複数行検索なくてもやってける人), rev1972対応しました。 複数行選択した場合はそれぞれの行にマークがつきます。 ãµã¯ã©ã¨ãã£ã¿ã®æ¢å®ã®æåã³ã¼ãã utf-8 ã«ããã«ã¯ 次ã®ããã«ãã¦ãã ããã ã¡ãã¥ã¼ãã¼ã®ãè¨å®ããããã¿ã¤ãå¥è¨å®ä¸è¦§ããé¸ã¶ ãåºæ¬ããé¸æããè¨å®å¤æ´ããã¯ãªãã¯ãã æå®ãã1æåã®æåã³ã¼ãã調ã¹ããµã¯ã©ã¨ãã£ã¿ã®å ´åã¯ãã«ã¼ã½ã«ãæåã«åãããã¨ããã®ã¹ãã¼ã¿ã¹ãã¼ã®ã¨ããã«è¡¨ç¤ºããã¾ããç§ä¸¸ã¨ãã£ã¿ã®å ´åã¯ãã«ã¼ã½ã«ãæåã«åãããç¶æ
ã§ãã¡ãã¥ã¼ãã¼ã®ããã®ä»ã-ï¼ãã³ãã³ãä¸è¦§ã-ï¼ããã®ä»ã ãµã¯ã©ã¨ãã£ã¿ã¯ã¾ã ã¾ã çºå±éä¸ã®ã½ããã¦ã§ã¢ã§ããã¦ã¼ã¶ã¼ã®çæ§ã«ããè¯ããã®ãæä¾ãããããæ¹è¯ãä¿®æ£ãç¶ãã¦ãã¾ãã ã½ã¼ã¹ã³ã¼ãå
¬é éçºä¸ã®ã½ã¼ã¹ããããããã¹ã¦ç¡åã§å
¥æã§ã㾠⦠ãªã¼ãã³ã½ã¼ã¹ã®èèããã¹ãã¨ãã£ã¿ã¼ããµã¯ã©ã¨ãã£ã¿ãã®ææ°çv2.4.0.0ãã4æ19æ¥ã«å
¬éããããç´2å¹´ã¶ãã®ã¢ãããã¼ãã¨ãªãã 先頭行だけのほうがマークを飛ぶのに都合がよいのでそのままでいいかな。, 細かいことですみません。 ・マクロからの検索/Grep/置換で行数指定できない(前回値が使用される) ãµã¯ã©ã¨ãã£ã¿ãéãã¦ã ãæ¤ç´¢ãâãGrepã ãã¯ãªãã¯ãC éã«ãæ®å¿µãªããofficeã®åãã¡ã¤ã«ï¼xlsx, docx, pptxãªã©ï¼ã¯æ¢ããã¨ãã§ãã¾ããã ï¼[^\x01-\x7E]ã«ããæ£è¦è¡¨ç¾ã§ã®å
¨è§ãããã¯ãUTF-8ã§ãããã¨ãã£ã¿ãDreamWeaverã§åä½ç¢ºèªã§ãã¾ãããï¼ åè§ã«ãã¯1ãã¤ã以å¤ã«è©²å½ãã¾ã. 提供していないので前回値で動作する) なかった (^^; ので、Command_REPLACE_ALL()を 改行を含んで検索する場合以外は1を設定しておけば ã§ã³ã«ç§»å æ¤ç´¢ ... ãµã¯ã©ã¨ãã£ã¿ ... ãã®ãããæå¿ã«ããUnicodeçã®éçºãé²ãããã2011å¹´2æ11æ¥ã«Ver.2ã¨ãã¦æ£å¼çãå
¬éãããã ç¾å¨ã¯å
¬å¼ã®32bitçã¨æå¿ã«ãã64bitçãããã OK)if( nLineNum >= 0 && nLineNum < m_nMaxSearchLines ){ m_nCurSrchMultiLineNum/m_nMultiLineSearchMinは ã©ããããããªã§ãï¼ããããªæ¥ã
ã«ãè¶ãããã ãããããã¨ããããã¾ãï¼ä»åã¯ã«ã¤ãã¦æ¸ãã¾ããä»åã¯æ£è¦è¡¨ç¾ã§ã»æ°åã®ã¿ãæ½åºããæ¹æ³ã»æ°åã®æ¡æ°ãæå®ãã¦æ½åºããæ¹æ³ãç´¹ä»ãããã¨æãã¾ãï¼åã主ã«ä½¿ã£ã¦ããããã¹ãã¨ãã£ã¿ã¼ããµã¯ã©ã¨ OKです。, 行数設定に指定可能な行数は0~9999です。 0:非複数行検索(ほとんど現在のリリース版と (「aaaaaaaa」で「aa」を次検索すると4回ヒットするのに) ãµã¯ã©ã¨ãã£ã¿ã§æ£è¦è¡¨ç¾ãæå¹ã«ããæ¹æ³ Ctrl+Fã§ãæ¤ç´¢ããCtrl+Rã§ãç½®æãã®ç»é¢ãéãã¾ãã ã¾ãã¯ãã®çªå
ã§æ£è¦è¡¨ç¾ã®æ¬ã«ãã§ãã¯ãä»ãã¾ãããã ãµã¯ã©ã¨ãã£ã¿ä¸æ¬¡é
å¸ãµã¤ã ãµã¯ã©ã¨ãã£ã¿ã§æ¼¢åäºæå以ä¸ã®æååãæ½åºãã æ¤ç´¢ã«ä½¿ç¨ããæåå [äº-é»][äº-é»ã
]+ æ£è¦è¡¨ç¾ã®æ¸ãæ¹ã«ã¤ãã¦ã¯ããæ£è¦è¡¨ç¾ãã¨ããPerl5äºæãã§æ¤ç´¢ãã¦ãã®æã®æåå½¹ãµã¤ããããã£ã¦ä¸ããã 新)while( nIndex <= nLineLen && pRegexp->Match( pLine, nTextLen, nIndex ) ){, とりあえず検索機能が動くことは動くのですが以下のような問題が残ったままです。 æ¬è¨äºã§ã¯ãµã¯ã©ã¨ãã£ã¿ã®ä½¿ç¨æ¹æ³ã便å©ãªæ©è½ã«ã¤ãã¦ç´¹ä»ãã¾ãããã ãµã¯ã©ã¨ãã£ã¿ã«ã¯ã¤ã³ã¹ãã¼ã«çã¨ããã±ã¼ã¸çã®2種é¡ããã¾ããç´æ¥GitHubãããã¦ã³ãã¼ããã¦ãè¯ãã®ã§ãããå
¬å¼ãµã¤ãããæä½ããæ¹ãåããããããã¨ã ãµã¤ãã®ä¸ã®æ¹ã«ãããã¤ã³ã¹ãã¼ã©ãããã±ã¼ã¸ãã¦ã³ãã¼ãããã¯ãªãã¯ããã¨èªåçã«GitHubã«ç§»ãã¾ãã これは既存マクロに影響がでそうなのでどうにかしたいところ。, ・Grep時の行数指定がコマンドライン化されていない ãªããä»å使ç¨ãã¦ãããµã¯ã©ã¨ãã£ã¿ã®ãã¼ã¸ã§ã³ã¯ã2.2.0.1ã§ãã ã¢ãããã¼ãããã¦ããä»åç´¹ä»ããã§ã¼ãã«ãããã¼ãå¤ãããã¨ã¯ãã¾ããªãã¨æãã¾ãããä¸å¿çæãã¦ããã¦ãã ããã に作りました。 ï¼[^\x01-\x7E]ã«ããæ£è¦è¡¨ç¾ã§ã®å
¨è§ãããã¯ãUTF-8ã§ãããã¨ãã£ã¿ãDreamWeaverã§åä½ç¢ºèªã§ãã¾ãããï¼ åè§ã«ãã¯1ãã¤ã以å¤ã«è©²å½ãã¾ã. ・選択範囲での置換で、置換後の選択範囲の末尾が通常のすべて置換と違う動作をします。, ・検索ライブラリ(に|へ)渡す最小行数と表記ゆれしていたので「に」に統一 Unicodeçã«ã¤ã㦠- ListView ⦠Unicodeçã¨ANSIçã®ä¸»ãªéã | ãã½ã³ã³,ã¹ãã,ã¿ãã¬ãã,è±èª - 楽天ããã° ãå
ç600åãæ°è¦è¨äºä½æã§500åå ±é
¬ãã¬ã¼ã³ãï¼ ãµã¯ã©ã¨ãã£ã¿ã§ã¯æ¹è¡ã³ã¼ããç½®æã»æ¤ç´¢ãããã¨ãã§ãã¾ã¾ãããããªäººã«åãã¦ã®è¨äºã§ãã æ¹è¡ã³ã¼ãããã¹ã¦æ¶ããã æ¹è¡ã³ã¼ããå¥ã®æåã«ç½®æããã æ¹è¡ã³ã¼ããæ¤ç´¢ããããããªã¨ãã¯ããµã¯ã©ã¨ãã£ã¿ã§æ¹è¡ã³ã¼ããç½®æã»æ¤ç´¢ãã¾ã VC・・・。, パッチは時間が無くてまだ確認できていません。 ・すべて置換実行の関数 ãã®ããã«ãµã¯ã©ã¨ãã£ã¿ã¯è²ã
便å©ã§ãã ãµã¯ã©ã¨ãã£ã¿ãéãã¦Grepãã¦çµæãå¼µãä»ããã¨ãããæé ãããµã¯ã©ã¨ãã£ã¿ãéãã¦æåã³ã¼ããï½ã§ãããã¨ã確èªãããã¨ã¨ããæé ã§ä»äºãã¦ããæã¯ã¡ãã£ã¨è¦ç´ããã»ããããã¨æãã¾ãã m_nCurSrchMultiLineNum を nMultiLineSearchNum に変更していますが、nCurSrchMultiLineNum のままの方が良いでしょうか?, バグらしい動作: 大きい方, 中途半端にできること(動作するが行数指定の方法を ANSI版Patches#2016120と同一内容です。 ã§ã³ï¼ãã¶ã¤ã³)é¨ å²©äºã§ãã æ¥åã§ãã¾ãã¾ãªèª¿æ»ãè¡ãéã«ãgrepã使ã£ã¦ãã¾ãã ããã§åºã¦ããã®ããæ£è¦è¡¨ç¾ã ããããã©ã«ãé
ä¸ã®XXXã使ç¨ãã¦ãã(XXXã¨æ¸ãã¦ãã)YYYãã¡ã¤ã«ãæ´ãåºãã æ´ã«ãæ£è¦è¡¨ç¾ã使ç¨ãã¦æ´ãåºããçµæã Excelã«è²¼ãä»ãã¦ãå¯èªæ§ãé«ãããã®ã§ãã ãã¡ãã§ããæ£è¦è¡¨ç¾ã使ããã¨ãããã¾ãã ã¨ãããã¨ã§ã ⦠・文字列の個数を数える関数 ・複数行時の検索文字列のカラーリング コピーしてCommand_REPLACE_ALL_MULTILINE()を新規 1:検索パターン内の'\\'+'n'を区切りとした 入れないならCGrepAgent::DoGrepのnMultiLineSearchNumはnMultiLineSearchMinではないでしょうか。 ロジックが複雑すぎて無理 (^^; その他うまく作れていない所 ãµã¯ã©ã¨ãã£ã¿ Unicode/x64. ・「(\r\n{3})」等で、改行が4つ以上連続であると、次検索が選択範囲を飛ばしてくれないようです。 ・2013-07-01のときGREPの行数指定コマンドラインにバグがあったのを修正 ãµã¯ã©ã¨ãã£ã¿ã®æ£è¦è¡¨ç¾ã§ä¸è¨ã®æ¡ä»¶ãæå®ãããã¨ã§ãå
¨è§æåãæå®ãããã¨ãå¯è½ã§ãã[^\x00\x00-\x7F\x00。-ï¾] ãããã«ã¯ä¼¼ããããªæå®æ¹æ³ã転ãã£ã¦ãã¾ãããæ£è¦è¡¨ç¾ã«ãdregonig.dll Ver.3.06 with Onigmo 5.15.0ãã使ç¨ãã¦ããå ´åã¯ãããã§ãªãã¨ãtoo⦠・Grep置換未対応 æ£è¦è¡¨ç¾ã«ããæ¤ç´¢ï¼Grepï¼ç½®æã«ããã¦ãè¤æ°è¡ æå®ã«å¯¾å¿ãã¾ãã. バグがあったので修正しています), 正規表現ライブラリとのインタフェース部分には æ£è¦è¡¨ç¾ã«ããæ¤ç´¢ï¼Grepï¼ç½®æã«ããã¦ãè¤æ°è¡ æå®ã«å¯¾å¿ãã¾ãã. æ¢ãããã¡ã¤ã«ã®å¯¾è±¡ã¯ããã¡ã¢å¸³ã§éãããã¡ã¤ã«ãã§ããtxtãã¡ã¤ã«ã¯ãã¡ãããcsvãã¡ã¤ã«ãxmlãã¡ã¤ã«ãªã©ããã®æ¹æ³ã§æ¢ããã¨ãã§ãã¾ãã. ããã°ã©ãã³ã°å
¥éè
åãã«ããªã¼ã®ãããã¹ãã¨ãã£ã¿ããç´¹ä»ããè¨äºã§ããç´¹ä»ãã¦ããã®ã¯ãå
¨ã¦ç¡æãã§ãWindowsãMacããããã«å¯¾å¿ããã¨ãã£ã¿ãããã¯ã¢ãããã¦ãã¾ããå¤ãã¯æ¥æ¬èªã«ã対å¿ãã¦ããã®ã§ããã²ä½¿ã£ã¦ã¿ã¦ãã ããï¼ ãµã¯ã©ã¨ãã£ã¿ã®æ¢å®ã®æåã³ã¼ãã utf-8 ã«ããæ¹æ³. ãµã¯ã©ã¨ãã£ã¿ã®ããã©ã«ãã®æåã³ã¼ããShift_JISã«ãªã£ã¦ããã®ã§ãUTF-8ã«å¤æ´ããæ¹æ³ãã¡ã¢ã å¤æ´æ¹æ³. ・Grep時の行数指定がコマンドライン化されていない する必要はありません。今まで通り鬼車が使用可能 å¨ãã¦ãããã¡ã¤ã«ã®å ´åã¯æåã³ã¼ãã§ã®ã\x0aãã¾ãã¯ã\x{000a}ãæå®ã§ã¯ãCR+LFæ¹è¡ã«ããããããã®ã§ãLFæ¹è¡ã ããæ¤ç´¢ããæå®æ¹æ³ã¯ããã¾ããã ため共有メモリの m_nMultiLineSearchMin を渡しています。, util/string_ex2.cpp GetCountOfDividedStringW() の作りがかなりいい加減です。, 該当行マークは先頭行だけでいいんでしょうか。 GrepAgent.cpp #include "StdAfx.h" が2つあります。, m_nCurSrchMultiLineNum/m_nMultiLineSearchMinは âæ£è¦è¡¨ç¾ã§æ¤ç´¢ âå°ãé«åº¦ãªæ¤ç´¢ âæååç½®æ âæçä¸è´ã«ã¤ã㦠âã¨ã¹ã±ã¼ãæåã®ã㨠Reserved. ANSIçPatches#2016120ã¨åä¸å
容ã§ãã ï¼ãã ããé¸æç¯å²ã®å
¨ç½®æã§æä¸è¡ãç½®æãããªã ãã°ããã£ãã®ã§ä¿®æ£ãã¦ãã¾ãï¼. æååããç´ãæ¹æ³ï¼ãµã¯ã©ã¨ãã£ã¿ã§æåã³ã¼ããå¤æ´ããæ¹æ³ãã©ãããããã¦ã³ãã¼ããã¦ãããã¡ã¤ã«ãã誰ãããåãåã£ããã¡ã¤ã«ãããéããã¨æã£ãã¨ããæååããã¦ä½ãæ¸ããã¦ããã®ãåãããªãï¼ã¨ãªã£ãçµé¨ã1度ãããã¯ããã®ã§ã¯ãªãã§ããããã 同じ動作) ・マクロによる正規表現検索/Grep/置換. です。, 検索/Grep/置換ダイアログにて「検索ライブラリへ ãµã¯ã©ã¨ãã£ã¿ã®Grepæ¤ç´¢ã使ã£ã¦ãExcelãWordã®ãã¡ã¤ã«ãæ¢ãããã¨ãã£ã¦ãã£ããããã¨æããã§ãã ã§ããæ¤ç´¢ããã¦ãããªããã0 åãæ¤ç´¢ããã¾ãããã¨ãªã£ã¦ãã¾ã£ã¦å°ã£ããã¨ããã¾ãããï¼ãã®è§£æ±ºæ¹æ³ãè¼ãã¦ãããã¨æãã¾ ã§ã¼ãã«ãããã¯ãªã㯠âã04_æ¤ç´¢çµæ.txtããçæããã¾ãã â»å®è¡ã¯ä¸ç¬ã§çµããã¾ãã â»æ¤ç´¢æ¡ä»¶ãå¤ãã¦åå®è¡ãããå ´åã¯ãæé â¢ããå®è¡ãã¦ãã ããã â»ã04_æ¤ç´¢çµæ.txtãã¯ãã¡ã¤ã«åã»å¤ãã«ã³ãåºåãã§åºåããã¾ãã ä»ãã®æ°åé
ç®ã«ã¤ãã¦ãæåã³ã¼ãï¼ãã¤ããªï¼ã â¦, ä¸å®å¤ï¼åæå¤ãä¸ãããã¦ããªãå¤æ°ï¼ããã£ãã使ã£ã¦ãã¾â¦, ãã®ããã°ã§ã¯ã¹ã¿ã¼ãã¤ãããã¨ãã§ãã¾ãã, éå®å
¬éè¨äºã®ããå¼ç¨ã§ãã¾ããã, å¼ç¨ãã¹ããã¯ã§ãã¾ããã§ãããå度ã試ããã ãã, ãµã¯ã©ã¨ãã£ã¿ããªãã¹ãéªéã«ãªããªãå ´æã«éã, æ¦ç¥ææ¡ï¼ããããæã¸ã®å¤ä»ã, ãµã¯ã©ã¨ãã£ã¿ï¼å
¨è§æåã®æ¤ç´¢æ¹æ³ï¼æããã»åè§ã«ãåé¿çï¼, JavaScriptï¼matchã¡ã½ããã§æååæ½åºãè¡ã, JavaScriptï¼inputã®å
¥åå¯è½æåãå¶éãã, åè§ã«ãã®æåã³ã¼ãã«é¢ãã注æ, NULæåã»LOW-VALUEãã¹ãã¼ã¹ãå
¥ããã¤ãããªã®ã«å
¥ã£ã¦ãªãâããã£ã¦ä¸å®å¤ããï¼. ANSIçPatches#2016120ã¨åä¸å
容ã§ãã ï¼ãã ããé¸æç¯å²ã®å
¨ç½®æã§æä¸è¡ãç½®æãããªã ãã°ããã£ãã®ã§ä¿®æ£ãã¦ãã¾ãï¼. å¨ãã¦ãããã¡ã¤ã«ã®å ´åã¯æåã³ã¼ãã§ã®ã\x0aãã¾ãã¯ã\x{000a}ãæå®ã§ã¯ãCR+LFæ¹è¡ã«ããããããã®ã§ãLFæ¹è¡ã ããæ¤ç´¢ããæå®æ¹æ³ã¯ããã¾ããã VC2010だと予定通りの挙動となります。, なぜか CMultiLineSearch.cpp 585行目の 0 <= nLineNum が正常に判定されません。, NG)if( 0 <= nLineNum && nLineNum < m_nMaxSearchLines ){ 文字列数 ・Grep時の行数指定がコマンドライン化されていない ãµã¯ã©ã¨ãã£ã¿ã®ãfaq:è¯ããã質åãã«ããã¨æ´å²ã¯å¤ãããªãã¨1998å¹´é ããéçºãè¡ããã¦ãã¾ãã æ¡ãå²ãã¦ããé ã«éçºãå§ããã®ãååã®ç±æ¥ã ããã§ãã. GetCountOfDividedStringW()を作りましたが、変。, ANSI版New@MultiLineSearch_A_7.patchと同内容です。, ANSI版New@MultiLineSearch_A_8.patchと同内容です。, rev1967に対応したパッチとテストバイナリをアップしました。 ã©ããããããªã§ãï¼ããããªæ¥ã
ã«ãè¶ãããã ãããããã¨ããããã¾ãï¼ä»åã¯ã«ã¤ãã¦æ¸ãã¾ããä»åã¯æ£è¦è¡¨ç¾ã§ã»æ°åã®ã¿ãæ½åºããæ¹æ³ã»æ°åã®æ¡æ°ãæå®ãã¦æ½åºããæ¹æ³ãç´¹ä»ãããã¨æãã¾ãï¼åã主ã«ä½¿ã£ã¦ããããã¹ãã¨ãã£ã¿ã¼ããµã¯ã©ã¨ ・マクロ周りのパッチの細かいバグの修正, ・すべて置換の多言語化、高速モード、行削除モード対応 All Rights ã¼ã«æºãããã®ã¨ãã¾ãã ããã¥ã¡ã³ã管çã®é½åä¸ãèä½è
ã®æ¬ç§°ãçç¥ããå ´åãããã¾ãã conflictその他最新化対応. すみません、VC2005,VC2008のReleaseだと元からだめだった様です。 ・複数行の強調表示に未対応, NG)if( 0 <= nLineNum && nLineNum < m_nMaxSearchLines ){ http://loda.jp/sakura_editor/?id=29.zip, 私のPCが病んでいるだけかもしれませんが、New@MultiLineSearch_U_3.patchをそのままr1967に対応させたところ、デバッグビルドだとうまく動くのに、リリースビルドだとおかしな挙動になりました。(検索行を2行以上にすると、該当の選択開始位置が前の行の末尾になる) 調べると、CMultiLineSearch::GetStringLengthは引数の値によって「検索バッファ全体の文字列長」か「指定行の文字列長」を切り替えるのですが、うちのリリースビルドだと引数がどんなでも「バッファ全体」ルートに入ることが判明。いくらステップ実行しても理解不能な動きをするので、なんらかの魔最適化がおこなわれているのではと推測します。(VC2008EEです) での Command_REPLACE_ALL() への変更を取り込みました(その他おかしな所を修正), 気になる所としては、 SSearchOptionに入れてはだめでしょうか。 CNormalProcess.cpp InitializeProcess() の DoGrep() する所にて、引数に空きが無い