miau's blog?

| 1 | 2 | 3 | Next»

2009年 3月 28日 (土曜日)

サクラエディタの数値増加マクロ(PerlScript)作った

- TextEditor on miau's blog?
数値増加マクロはすでにいくつか実装があるんですが(Macro/カテゴリ - SakuraEditorWiki の 文字列操作→連番 あたり)、自分好みのものがなかったので作りました。

increment.pls

残念ながら PerlScript ですので、ActivePerl は必須です。(でも日本語を含まないのでパッチを当てたりはしなくて OK です。)
[Read More!]
15:15:36 - miau - No comments - No Trackbacks - Permalink

2008年 7月 08日 (火曜日)

SciTE のユーザ設定ファイル

- TextEditor on miau's blog?
SciTE はちょっとしたスクリプトを書くのに便利なエディタなんですが、初期設定の癖が強いのが難点で。

SciTE - miau's blog?
SciTE その2 - miau's blog?

このあたりで SciTEGlobal.properties の設定方法について書いてたけど、バージョンアップのたびにこういう変更するのが結構面倒。なんとかならないかなー?と調べてたら、ユーザ設定ファイルが作れることがわかった。%USERPROFILE%\SciTEUser.properties というファイルを作っておけば、SciTEGlobal.properties よりも優先して使われるみたい。

ということで、実際に作った SciTEUser.properties。

/dotfiles/scite/miau-SciTEUser.properties - CodeRepos::Share - Trac

誰も SciTE なんて使ってないだろうなー、と思いつつも CodeRepos に置かせてもらった。

SciTE は EUC-JP とか通らないのが欠点なんだけど、同じ Scintilla ベースの NotePad++ に EUC-JP 版とか出てるみたいだから、いずれ対応されるんじゃないかとちょっぴり期待してたりとか。

NotePad++ EUC-JP 対応版
00:07:14 - miau - 2 comments - 1 Trackback - Permalink

2008年 5月 21日 (水曜日)

StaccatoEditor 技術まわりの課題

- TextEditor on miau's blog?
忘れないうちに書いておきます。なにか解決策とかご存じな方は教えてください。
ちなみに ActivePython 2.5.1.1+wxPython 2.8 って環境で開発してます。OS は WinXP だったり Vista だったり。
[Read More!]
03:00:30 - miau - No comments - No Trackbacks - Permalink

2008年 5月 19日 (月曜日)

StaccatoEditor - 変なエディタ試作してみた

- TextEditor on miau's blog?
ふと思い立ってテキストエディタを作り始めたんだけど、しばらく(少なくとも今月いっぱいは)手をつけられなくなりそうなので公開しちゃいます。仕様面でも技術面でも、何かアドバイスいただけると嬉しいです。

staccato_editor.zip(5.23 MB)

特徴等はこんな感じです。(主に readme.txt から抜粋)

■特徴

○Ctrl や Shift 以外のキーを modifier key として利用可能
・f+jkil で左下上右に移動
・s+jkil で選択領域の拡張/縮小
・t+jl でタブ切り替え

○複数のカーソルを持てる

といった特徴を持った、少なからず変態的なエディタです。

■動作環境

今のところ Windows でのみ動作します。
たまに Windows でもうまく動かない場合があるようです。
(もしかすると USB キーボードではうまく動作しないのかもしれません。)

exe は py2exe で作成したのですが、gdiplus.dll や msvcp71.dll が足りないと言われることがあるかもしれません。その場合は、マイクロソフトが配布している
・vcredist_x86.exe(vc7ランタイムのインストーラ)
・dotnetfx.exe(.NetFramework1.1以降のランタイムインストーラ)
などをインストールしてください。
(情報源: py2exeモジュールについて

■注意点

現在はまだファイル保存機能を実装していない(アプリケーション終了の際、編集されたバッファがあっても特に警告等を出さずに終了してしまいます)のでご注意ください。
そういう意味では、今一番近い位置にいるエディタは チラシの裏 かもしれません。

あと、アクション(たとえばカーソル移動)のたびに画面全体を再描画しているため、表示がすごく遅いです。データの持ち方や描画方法が確定したら、処理を最適化する予定です。
[Read More!]
07:40:59 - miau - 4 comments - No Trackbacks - Permalink

2008年 3月 31日 (月曜日)

サクラエディタ WSH マクロの Ruby、PHP、Phython 対応

- TextEditor on miau's blog?
[412] マクロをRubyで書きたい - サクラエディタ マクロBBS

ここで「Ruby でマクロ書けないの?」という話が出てたので対応パッチ作ってみた。

SourceForge.net: Modify: 1929358 - WSH マクロの Ruby、PHP、Phython 対応

Ruby だけじゃなくて PHP や Python にも対応してます。バイナリへのパッチじゃなくてソースへのパッチなので、ひとまずコンパイル環境持ってる人向け。マクロBBS にも書いたけど、本家に取り込まれるかどうかは

[5281] WSH マクロの Ruby、PHP、Phython 対応 - SAKURA Development BBS (ANSI)

ここの反応次第だと思う。

以下今回の対応詳細です。長いので注意。
[Read More!]
02:19:19 - miau - 10 comments - No Trackbacks - Permalink

2008年 1月 25日 (金曜日)

サクラエディタで PHP ファイルを編集するための設定まとめ

- TextEditor on miau's blog?
サクラエディタで PHP を使うときに、ちゃんと設定ができてなくて効率が悪い人をよく見かけます。

PHPにおすすめのエディタ(個人的に) : アシアルブログ

あたりで紹介されているように、結構いろいろな機能があるのに。

上記のページについて「機能を知るにはいいけど、設定方法が載ってないのが残念だなー」と思ってたんですけど、Vista 機にサクラエディタをインストールする機会があったので、設定方法をまとめてみました。

(2008-03-27 追記)

元々のタイトルは「サクラエディタ+PHP 設定方法まとめ」だったんですが、サクラエディタと PHP を連携する(PHP のマクロ登録したりする)方法と紛らわしいので変更しました。
PHP のマクロ登録はまだ成功していないんですが、うまくいったらどこかでまた報告します。
[Read More!]
08:35:03 - miau - 6 comments - No Trackbacks - Permalink

2007年 5月 21日 (月曜日)

VC++6.0 サクラエディタ設定

- TextEditor on miau's blog?
ちょっと古い案件の保守作業中で最近 Visual C++ 6.0 使ってたり。
VS.net 2003 からサクラエディタ起動する設定は以前書いたけど、VC++6.0 の設定は微妙に違うっぽいのでメモ。

メニュー項目(M): サクラエディタ(&S)
コマンド(C): D:\sakura\sakura.exe
引数(A): "$(FilePath)" -X=$(CurCol) -Y=$(CurLine)
実行時のディレクトリ(I): "$(FileDir)"

みたいな感じで。
09:44:51 - miau - No comments - No Trackbacks - Permalink

2006年 12月 11日 (月曜日)

全角スペースの表示

- TextEditor on miau's blog?
普通のドキュメント書くぶんには全角スペースも半角スペースも大差ありませんが、プログラミングなんかを生業としてる人にとっては区別できないと困るわけで。国産のエディタには、大抵全角スペースを表示する機能があります。
でも Eclipse とか SciTE とか、海外のソフトではそういう機能がついてないのが普通です。

上に挙げたソフトはオープンソースなので、ソースコードをいじれば実現できるわけですが・・・ふと「フォントをいじって全角スペース表示できれば汎用的に対応できない?」と思ったので、試してみました。
[Read More!]
03:00:03 - miau - 3 comments - No Trackbacks - Permalink

2006年 11月 28日 (火曜日)

テキストエディタマニアとして

- TextEditor on miau's blog?
こういうのは結構好き。

テキストエディタをまた〜り語ろう ver.21


480 :名無しさん@お腹いっぱい。:2006/11/27(月) 08:39:54 ID:UXsv/QcH0
vimで、
ice coffee
hot coffee
ice tea
hot tea
ice milk
hot milk

coffee
tea
milk
にする最小の手順を書け
なおカーソルはice coffeeのiの位置にある(ヒント:7手)

7 ストロークってことでよければサクラエディタでもできそうだなー、ということでとりあえず試してみた。
[Read More!]
08:13:51 - miau - No comments - No Trackbacks - Permalink

2006年 11月 09日 (木曜日)

サクラエディタで改行コードを色分けとか

- TextEditor on miau's blog?
数ヶ月前から、

[4501] スタートアップマクロ - SAKURA Development BBS

この機能を利用して、ファイル保存前に改行コードの混在チェックを行っているんですが。
昨日作業中にふと「どうせなら保存前にも軽く確認したいな」→「改行コードごとに色分け表示すればいいんじゃね?」と思い立ったので適当にソースいじってみた。
[Read More!]
06:04:21 - miau - No comments - No Trackbacks - Permalink

2006年 9月 24日 (日曜日)

patch for PerlScript 5.8.x.xxx

- TextEditor on miau's blog?
patch for PerlScript 5.8.7.813 - miau's blog?

以前こんなパッチ作りましたが、最後に追記してあるように 5.8.7.815 とか 5.8.7.817 とかだとパッチ適用に失敗します。変更箇所は同じなんですけど、CRC チェックに引っかかるのが原因。
今日 WDiff 触ったので、ついでにこのパッチの CRC チェックを解除しようと思ったんですが・・・「CRCエラー発生時」を「中止する」から「無視する」に変更した場合って単純に処理がスキップされるんですね。「CRC が違っても無視してパッチ当てる」意味かとばかり。

じゃあ WDiff 以外の方法でパッチ作るしか・・・というところでふと思ったんですが、ファイル中のバイナリ値を置換するだけなら Perl でやればいいですよね。コマンドラインから

cd /d C:\Perl\bin
perl -Mopen=IO,win32 -pi".OLD" -e"s/\xFF\x74\x24\x18\xFF\x15\xE8\x90\x1C\x28\x59\x8B\xF0\xFF\x74\x24\x10\x8B\xCB\x8D\x46\x02\x50\xE8\x64\xFF\xFF\xFF\x8B\xF8\x85\xFF\x74\x14/\x57\x57\x57\x57\x6A\xFF\xFF\x74\x24\x2C\x57\x57\xFF\x15\x74\x90\x1C\x28\x8B\xF0\x57\x8B\xCB\x40\x50\xE8\x62\xFF\xFF\xFF\x8B\xF8\x90\x90/" PerlSE.dll

こんな感じで実行。旧ファイルが PerlSE.OLD にバックアップされるので、そこそこ安全なはず。
改行コードが勝手に変更されるのを防ぐのに use open IO => ':win32' っぽいことやってるけど、本当にこれでいいのかちょっと自信なし。間違ってたら教えて下さい。>詳しい方

ちなみに
・ActivePerl 5.8.7.817
・ActivePerl 5.8.8.819
・ActivePerl 5.8.8.820
では動作確認済み。気が向いた方は他のバージョンでの確認もお願いします。

検証用スクリプトはこんな感じ。

# ああああああああああああああああああ
# ああああああああああああああああああ
# ああああああああああああああああああ
MsgBox('PerlSETest - OK');

PerlSETest.pls とかいう名前で保存して、Explorer から実行してください。
メッセージボックスが出たらパッチがちゃんと当てられてる感じ。パッチ当ててない場合は、たぶん何も起きない。(変なエラーになる可能性もあるけど)


(2007/01/30 追記)5.8.8.820 でも動くっぽい。


(2007/09/29 追記)

もっと楽に実行できるバージョンも作ってあります。

patch for PerlScript 5.8.x.xxx(PerlScript版) - miau's blog?
01:23:47 - miau - 1 comment - No Trackbacks - Permalink

2006年 9月 23日 (土曜日)

萌ディタの文字コード自動認識

- TextEditor on miau's blog?
【萌える】 萌ディタ スレッド part2【エディタ】 を眺めてると、こんなレスが。

170 :名無しさん@お腹いっぱい。:2006/09/14(木) 14:42:22 ID:BqLw+oOq0
認識能力が貧弱なんじゃなくて
実は英語の生asciiコードみたいに、sjisかeucかく別が付かないとき不便
わかんないならとりあえずsjisなんだろうと思って開いて、間違っていたとき
にeucで開きなおせるとかの法がいいかな

utf32対応とか縦書きとかの贅沢機能以外は、ほぼ完成しているように見える
からデバッグとUIの改良かな必要なのは

家では萌ディタをメインのエディタとして使ってるけど、確かにその通り。
でも「どちらともみなせる場合自動的に Shift_JIS にする」くらいなら簡単に改造できるんじゃない?と思ったのでやってみた。
[Read More!]
11:56:02 - miau - No comments - No Trackbacks - Permalink

2006年 7月 20日 (木曜日)

AsciiView.pls

- TextEditor on miau's blog?
例によって PerlScript でサクラエディタ用マクロを作ってみた。

AsciiView.pls

選択文字列中で 7-bit ASCII 以外の部分を \x80 に置換するだけのマクロです。
その文字列が「バイト単位の parse しかしてくれないプログラムからどう見えるか」を調べるのに使います。

Shift_JIS で書かれたスクリプトや設定ファイルでよくわからない挙動が起きたときに便利ではないかと。
[Read More!]
09:10:01 - miau - No comments - No Trackbacks - Permalink

2006年 5月 21日 (日曜日)

萌ディタ Perl 用拡張子クラス

- TextEditor on miau's blog?
ということで、Perl 用の拡張子クラス作りましたよ。

perl.javascript.zip

色分けは、だいたいこんな感じに。

moeditor_perl拡大表示

以下、性能限界とか注意点とか。
[Read More!]
04:19:54 - miau - No comments - No Trackbacks - Permalink

2006年 5月 06日 (土曜日)

萌ディタの Lex 周り

- TextEditor on miau's blog?
前回に引き続き萌ディタの話。

それじゃいっちょ Perl の定義ファイルを作ってみましょうか、ということで C の定義ファイルを元に Perl の定義ファイルを軽く作ってみて。
じゃあ今度は client-side PerlScript のために <script language="PerlScript">〜</script> な部分を Perl として認識できるようにしてみましょうか、と思ったのはいいんだけど・・・各 Lex(字句解析器)の動作がいまいちわかりにくかったり。

そんなわけで、ちょっと遠回りして NFA の状態遷移図を描くためのマクロを作ってみました。
たぶん 色分け リファレンス を読んだことない人には意味不明なので、読み飛ばしてください。
[Read More!]
20:45:51 - miau - No comments - No Trackbacks - Permalink
| 1 | 2 | 3 | Next»