秀丸でHTMLファイルを編集しているときに、このファイルをブラウザで開くためのマクロです。
IEで開く場合は次のようにします。
run "C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE "+filename;
Chromeならば次のようにします。
run "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe "+filename;
しかし最近、上手く動作しなくなりました(秀丸8.54)。「Program Files」の間のスペースが原因のようです。
そこで次のようにしたところ動きました。
この場合「規定のプログラムで開く」と同じ動作をしますのでHTMLファイルならば各自の環境に応じてIEやChromeが開きます。
SublimeText2の素晴らしい点の一つはキーボードショートカットです。
主によく使うのは次の通り。
- 行の複製(Ctrl+Shift+D)
- 行のコメント化(Ctrl+/)
- 行のカット(Ctrl+Shift+K)
- 行の上移動(Ctrl+Shift+Up)
- 行の下移動(Ctrl+Shift+Down)
でも、この程度ならば秀丸エディタでもできるんじゃないか、と思い、考えてみました。
マクロとキー割り当てでできます。 (さらに…)
「book」の「oo」のように文字の繰り返しを見付ける正規表現について調べました。
JavaScriptの場合
まず/.{2}/という表現を思い付きますが、これでは「同じ文字が2個並んだ文字列」になりません。単に「文字が2個並んだ文字列」です。1個目と2個目の文字が異なってもよいからです。
そこで次のようにします。
str="book";
ret=str.match(/(.)\1/g);
「oo」が返されます(正確にはret[0]として)。
JavaScriptの正規表現では「\1」を使うと括弧に挟まれた部分を取得できます。
/(.)/とすると任意の1文字が取得でき、\1に格納されます。
/(.)\1/とすると/\1\1/のように「同じ文字が2個並んだ文字列」を探すことになります。
秀丸の場合
検索文字列として「(.)\1」を指定します。
もちろん正規表現にチェックを入れます。
もし「同じ文字が2個以上並んだ文字列」を検索するならば「(.)\1+」とするとよいでしょう。
「ぱみゅぱみゅ」のように「同じ文字列が2回並んだ文字列」ならば「(.+)\1」だとうまくいきます。
秀丸でマクロを作っていて少し引っ掛かった部分があったのでメモしておきます。
秀丸でリストボックスを作るときはmenuやmenuarrayを使います。
例えば次のように書いたとします。
menuarray $words,10;
if(result==0)endmacro;
insert $words[result-1];
選択した文字列を挿入するというマクロですがこれだと正しく動きません。
リストが出た状態でEscキーなどを押してキャンセルする場合を想定して「if(result==0)endmacro;」の行があります。
キャンセルされた場合はresultに「0」がセットされるので、この場合はマクロを終了させます。
終了しない場合は次の行に処理が移るのですが、この段階ではresult=1(成功)となってしまうようです。
したがって、$wordsという配列変数では常に[0]が引かれるため、意図した通りになりません。
menuarray $words,10;
#temp=result;
if(#temp==0)endmacro;
insert $words[#temp-1];
このように一度、変数に取り込むとよいです。
インターネットエクスプローラのソースは、通常はメモ帳で表示されますが、SHIFT-JISにしか対応していないらしく、これ以外は文字化けすることがあります。
私は秀丸エディタをソースを見るためのエディタとして使っていたのですが、プログラムの保存場所を変えたところ、エラーになり、メモ帳で開くようになってしまいました。
ソースを見るためのエディタはレジストリエディタで変更することができます。
手順は次の通りです。※WindowsXP+IE6
- スタート-ファイル名を指定して実行をクリック。
- 名前に「regedit」と入力してOKをクリック。レジストリエディタが起動。
- 「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\View Source Editor\Editor Name」を選択。
- 「(既定)」を選択して、編集-修正をクリック。
- 「値のデータ」に使いたいエディタのパスを入力してOKをクリック。
私はブラウザのソースは秀丸エディタで表示するようにしています。
しかし、InternetExplorer8にバージョンアップしたところ、ソースが専用のビューアで表示されるようになりました。
今まではメニューのツール-インターネットオプション-プログラム-HTMLエディターでプログラムを選べたのですが、これが反映されません。
これが正しいか分かりませんが、変える方法を見付けたので書きます。
メニューのツール-開発者ツールを選択し、開発者ツールを起動します。
メニューのファイル-カスタマイズ-その他を選択します。
ここで自分の好きなエディタを指定します。