2010-08-01から1ヶ月間の記事一覧

今開いている秀丸に対して grep したい #4

前回作った秀丸に対して横断 grep を行うマクロ、HmAltGrep は、もっさりした動作なので、とりあえずこれを高速化しようとしてみた。もっさり動作は Java VM 起動が原因だと思うので、Java VM の起動は一回のみにして常駐され、マクロ起動ごとに常駐している…

今開いている秀丸に対して grep したい #3

とりあえず実装したものを公開してみます。http://cid-75f0c2b530d893e7.office.live.com/self.aspx/.Public/HmAltGrep001.zip動作させるには: Java VM がインストールされている必要があります java.exe にパスが通っていて欲しいです(通ってない場合はマ…

今開いている秀丸に対して grep したい #2

今開いている秀丸に対して grep したい - satosystemsの日記の続き。割り切って外部の grep 実装部分を Java アプリとして実装してみたら、結構簡単に実装できてしまった。外部アプリの選定条件として: 標準入力が UTF-16LE で読めること UTF-16LF のファイ…

FastGrepReplace 2.50 リリース

秀丸用マクロ、FastGrepReplace を 2.50 にバージョンアップしました。G‚܂邨‚̃z[ƒ€ƒy[ƒW(ƒTƒCƒg[Šé‰æ)|FastGrepReplace 2.50 wgrep‚µ‚Ä‚Ü‚Æ‚ß‚Ä’uŠ·x質問や不具合報告があれば、気軽にコメントしてください。以下蛇足です。 今回のバージョンで苦…

C# は検査例外がないから

C# は検査例外がないから、作るときは楽チンだけど、作り終わってからが大変。.NET Framework 1.1 の CLR は、捕捉されない例外が発生したらスレッドが黙って死ぬんだけど、これは .NET Framework 2.0 からアプリが死ぬように改善(?)された。Java とは結構ポ…

Haskell の lines 関数の代替

Haskell と Scheme の共通点 - satosystemsの日記のコメントで教えてもらいました。 linesWithLineEnd :: String -> [(String, String)] linesWithLineEnd str = loop str [] where loop [] [] = [] loop [] prd = [(reverse prd, "")] loop cs@(c : cs') pr…

今開いている秀丸に対して grep したい

コーディングしていて「今開いている秀丸に対してのみ grep したい」というケースがあります。開いているソースコードのフォルダが分散していて、かつ根っこから grep するにはあまりにも量が多いような場合です。ただ、現時点(v8.01)の秀丸には、このよう…

Haskell と Scheme の共通点

Haskell の本を再度読み始めてみて、すっかり忘れていたいろいろを改めて認識した。同じ関数型言語だけあって Scheme と同じ考え方が多い。 リストの扱い Haskell も Scheme もリストが超重要なデータ構造なんだけど、どちらも以下のような特徴がある リンク…

芸能界のゴシップニュース

なんでお昼のワイドショーや週刊誌は芸能界のゴシップを流すのか、というのは視聴者・読者がそれを望んでいるからに他ならない。何でそんなものに興味があるのかまったく理解できなかったけど、長年の謎がようやく解けた。僕は IT 関連のニュースを見るのが…

明日から夏休み

明日から 5 連休の夏休み。飛行機は 5 時間弱かかるので、本を持っていく。Gauche の本にしようか Haskell の本にしようか。いや悩むまでもなく Haskell の本だな。Gauche の本は携帯には不向きだし。Haskell といえば、Haskell Platform というものを導入し…

std::vector の使い方

今まで vector はこんな感じに使っていた。 std::vector<std::string> list; list.push_back(std::string("hoge")); list.push_back(std::string("fuga")); これはこれでよいのかもしれないけど、push_back した時点でコピーコンストラクタが呼び出されるので、無駄にふた</std::string>…

MAX_PATH とか _MAX_PATH とか FILENAME_MAX とか

「ファイルのフルパスを保持しておきたい、けど動的に確保するのは面倒」みたいなときに MAX_PATH、_MAX_PATH、FILENAME_MAX マクロが使用されがちです。というか、僕の場合はそうしていました。ただ、おかしいなと常々思ってはいました。というのも、上記マ…

WinMerge の不具合

IT

WinMerge は素晴らしいツールだ。今まで 100% 信頼して使用していたけど、バグが見つかった。 環境 Windows 7 + 64bit 版 WinMerge 2.12.4.13+-jp-13 現象 ディレクトリ比較をした場合に、特定のファイルが比較対象にならない。 詳細 対象にならないのは特定…

PC を買い替えたいという悩みの贅沢さ

会社で使っている PC が作業に支障が出るので買い替えた。今までは CPU が Pentium M 2.0GHz だったんだけど、新しいのは Core™2 Duo P8800 2.66GHz というスペック。要するに 2 コア 2 スレッド、合計 4 スレッドになったのだ。今までの PC だと、裏で Tort…

IDE で参照の検索を便利にしたい

IT

IDE は Visual Studio と Eclipse を主に使用している。Eclipse は Java しか開発しないけど、Ctrl+Shift+G で参照元の検索が非常に便利。テキストエディタでは到底たどり着けない領域だろう。Visual Stuido は C# と C++ が主な開発言語だけど、キーバイン…

UTF-7 エンコードについて

現在 FastGrepReplace の修正作業を行っているんだけど(そんなことをしている場合じゃないのに)、UTF-7 について、思うところをちらほら。 UTF-7 とは UTF-7 というのは、もともと Unicode を 7bit スルーにして、主にインターネットやメールでメリットを…

FastGrepReplace は日本語限定だった

結構何年も前からちょくちょくメンテナンスしている秀丸用のマクロ、FastGrepReplace が、実は日本語限定だったことが判明した。FastGrepReplace は「grep 結果から一気に置換」という類のマクロで、もともと自分のために開発していたものを、ユーザさんの要…