404 motivation not found | t_ishidaのブログ

CAT | テキストエディタ

自分になびかない女性を口説くのが好きなあなたへ

xyzzyはとっつきにくい。

まるで、「あんたはあたしと付き合うに値しない」と言われているようなものだ。

高飛車とも言われそうな女性を口説くのが好きなあなたは、きっとxyzzyのとりこになるだろう。 いくつもの難関を乗り越え、征服欲を満たしたいあなたにはきっとぴったりだ。

しかしながらxyzzyというエディタを口説き落としたと思っても、さらなる新しい発見がある。 そうした内に浮気を考える事もなく、その魅力に魅了されるはずである。

エディタを使っているのではなく、使わされているのである。

引用元: そんなあなたに勧めるxyzzyemacs | Blog.37to.net.

上手い事言うもんだねぇ~。xyzzyを使いつつ倦怠期な僕には、あの頃の情熱を思い起こさせてくれる名文。xyzzyな人も、xyzzyに興味のある人もお勧めのエントリ。
Windowsじゃなくても良いよなぁとは思いつつも、仕事でWindowsをしぶしぶ使っている理由がxyzzy。ネットワーク上のファイルの編集には端末からEmacsを使っていますがね。恋人はxyzzy、仕事上のパートナーがEmacsって感じです。さらに言うと、お母さんがxKeymacs。

Share and Enjoy:
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Tumblr
  • email
  • Facebook
  • FriendFeed

No tags

12月/07

3

行ぞろえマクロ

前置き

小物過ぎて別ファイルにして、

サーバーにアップするほどじゃないから、

今までずっと出してなかったけど、

今までアップしたものの中では、

一番実用的かも。

※全角が含まれるかどうかのチェックに、

 どこかで拾ったコードが含まれてます。

 なんか不味かったら教えてください。 

仕様

選択領域のcsv,tsvを行ぞろえします。

言い訳

中途半端な仕様だけど、その辺は皆さん好き勝手に書き換えてください。

使い方

選択して、このマクロ呼びます。

var ed = 1;
$print = function(){
if( !ed ) return function(s){ WScript.Echo(s);   };
else      return function(s){ Editor.InsText(s + "\n"); };
}();

$getString = function(){
if(!ed) return function(){ return new ActiveXObject("Scripting.FileSystemObject").OpenTextFile(WScript.Arguments[0]).ReadALL(); };
else    return function(){ return GetSelectedString(0);                                                                         };
}();

var s  = $getString();
$print("");
$print("");

// マークの判別が投げやりですまん
var lines =  s.split(/\n/);
var mark = '';
if( lines[0].match(/\t/) ) mark = "\t";
else                       mark = ",";
width = [];

// 広さを決める
for(var i = 0;i < lines.length;i++){
var columns = lines[i].split(mark);
for(var j = 0; j < columns.length; j++)
if( !width[j] || width[j] < getByteCount( columns[j] ) )
width[j] = getByteCount( columns[j] );
}

// 広さで埋める
for(var i = 0;i < lines.length;i++){
var columns = lines[i].split(mark);
var buf = '│';
for(var j = 0; j < columns.length; j++) {
columns[j] = columns[j].replace(/(\r|\n|\r\n)/,'');
buf += RPAD(columns[j], width[j]) + '|';
}
$print(buf);
}

function RPAD( src , len , fill_char){
var ret = src;
if( fill_char == null ) fill_char = " ";
while( 1 ) {
ret += fill_char;
var x = getByteCount(ret);
if( x > len &&  x % 2 == 0 ) break;
}
return ret ;
}

//全角ならtrueを返す
function isZenkaku(c) {
var str = escape(c);
if     (str.charAt(0) != "%") return false;
if     (str.charAt(1) == "8") return true;
else if(str.charAt(1) == "9") return true;
else if(str.charAt(1) == "E") return true;
else if(str.charAt(1) == "F") return true;
else                          return false;
}

/**
 * 全角であるかをチェックします。
 *
 * @param チェックする値
 * @return ture : 全角 / flase : 全角以外
 */
function checkIsZenkaku(value) {
for (var i = 0; i < value.length; ++i) {
var c = value.charCodeAt(i);
if (c < 256 || (c >= 0xff61 && c <= 0xff9f)) return false;
}
return true;
}

/**
 * 文字列のバイト数を取得する。
 * 全角を2バイト、半角を1バイトとしてカウントします。
 *
 * @param バイトを取得する値
 * @return 取得したバイト数
 */
function getByteCount(value) {
var count = 0;
for ( var i = 0; i < value.length; ++i ) {
var sub = value.substring(i, i + 1);
if( checkIsZenkaku(sub) ) count += 2;
else                      count += 1;
}
return count;
}
Share and Enjoy:
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Tumblr
  • email
  • Facebook
  • FriendFeed

No tags

11月/07

27

次の構想

せっかくODBCが使えるんだから、DBを使って情報の共有に役立てたい。

で、どうせならJScriptのコマンドラインアプリとして作成する。

で、各種エディタのマクロからコマンドラインで起動して、

同じように使えるラッパを作って見る。

例えば、用語集とか、バグ表とか、メモ共有とか、

タスク管理とかのプロジェクト用ポータルとかどうだろう?

多分、Webアプリで同じ事をやっている人は多いだろうが、

好きなエディタのマクロならばマウスに手を伸ばさなくても使えるので、

ポータル利用の閾値が下がるんじゃないだろうか?

Share and Enjoy:
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Tumblr
  • email
  • Facebook
  • FriendFeed

No tags

10月/07

31

マクロ更新

rss-mode【追加】

ダウンロード

使い方

準備

ソースの頭にある、LISTと言う配列に、

RSSのURLを追加しときます。

使い方

「page 0」のような文字列を選択して、

マクロを実行します。

この例だとLISTの0番目に書いてある、URLから、

RSSを取ってきて表示します。

一回実行すると、次のページに進むためのコマンドと、

前のページに戻るためのコマンドが出るので、

後はそれを繰り返していけば割と楽にRSSが読めます。

それ以外特殊な操作は要りません。

問題点は、末尾に、コマンドのごみが残るところです。

実用上問題ないので、とりあえずリリース。

DB.js、onelinememo【更新】

予告どおりです。

DB.js

バグを修正

onelinememo

新機能:ファイルブラウザ機能

コマンド文字列に、file://【パス】と言う文字列を渡したら、

【パス】で指定されたファイルの文字列を、

その場で書き出す。

Share and Enjoy:
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Tumblr
  • email
  • Facebook
  • FriendFeed

No tags

今の現場を離れたらxyzzyに戻って使わなくなるくせに、

サクラエディタのマクロを暇を見つけては作っている。

しかもニーズが有るのかどうかも分からない類の、

謎なマクロなのに公開し続けている。

ただ、少なくとも、こうやって走り続けるのは楽しくて、

何がそうさせてくれるのか分からないが、

こうやって走らせてくれるのであれば、

走っておく事にする。

sql-mode 【近日更新予定】

レコードカウントが上手く取れなかったバグを修正

っていうか、ちょこっと弄ったら普通に動いた。

理由は、WScript.Shell.Popupが動いていない。

であった。

実は、DAOのレコードカウントは何も悪くなかった。

初歩的というか、愚かと言うか、

でも、ハマる時なんてそんなもん。

onelinememo【近日更新予定】

  • 一斉編集機能が、全く動かないバグを修正。実は、詳しく語るのも恥ずかしい理由で発生している、
  • ファイルブラウザ機能を追加
  • これは実現するか分からないけど、検索の複合条件指定可能にする予定。

rss-mode【近日公開予定】

サクラエディタの中で、RSSを読む機能。

Share and Enjoy:
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Tumblr
  • email
  • Facebook
  • FriendFeed

No tags

10月/07

29

マクロについて色々

ブログ上でのソース公開の方式から、

ダウンロード式に統一しました。

プロフィールページからダウンロードできます。

Share and Enjoy:
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Tumblr
  • email
  • Facebook
  • FriendFeed

No tags

10月/07

20

マクロまとめ

能書き

ずいぶんサクラエディタのマクロが溜まったので、

一旦まとめようと思います。

コピペするのも面倒くさいと思うので、

Webサーバーに置きました。

マクロ置き場(名前をつけて保存したりしてください)

2008/03/19追加

Webサーバー移行っていうか、Yahooブリーフケースに置いてます。

プロフィールの中にリンクがあるんで、必要な人はそちらから。

石田マクロの使い方

それとリアルの知り合いから、

「使い方はソースを見てください」

は酷すぎるとの突っ込みを頂いたので、

簡単に説明します。

環境設定

だいたい、各マクロのヘッダコメントの下辺りに、

環境設定用の変数があります。

そこを各自設定してください。

操作

基本は

・マクロに送る文字列を選択する

・マクロを実行する

だけです。

DB.jsはSQL文を直接マクロに渡せば、

select系なら一覧表示、

insert系、update系なら実行されます。

DB.js以外はコマンドが決まっていて、

コマンドをマクロに送ることで操作します。

コマンドの一覧は各マクロのヘッダコメントに書いてあるので、

それを見てください。

サクラエディタのマクロ登録

共通設定->マクロから行います

詳しくはヘルプとか見ると分かると思います。

キー割り当てしておくと便利です。

Share and Enjoy:
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Tumblr
  • email
  • Facebook
  • FriendFeed

No tags

10月/07

19

翻訳ツール

ネットが繋がってないと使えません。

プロキシとか考えてません。

ソース

※ダウンロードに統合、ややこしくなるんで、消しました。

 プロフィールからダウンロードできます。

Share and Enjoy:
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Tumblr
  • email
  • Facebook
  • FriendFeed

No tags

10月/07

19

一行メモツール

ネタが無いのでソースを書きます。

changelog的な一行メモを取り扱うための、

サクラエディタのマクロ。

要するに

yyyy/mm/dd[category] – メモメモメモ

一行だけのメモをファイルを

イチイチ開かなくてもマクロ呼び出すだけで、

予め指定してあるファイルに保存できる。

と言うだけのマクロです。

別にどんな文字列でも保存しちゃうんですが、

マクロに従ったフォーマットで保存すれば、

マクロを使って検索しやすくなります。

複数行をまとめた登録も出来ますが、

マクロを使った検索では、

複数行まとめて登録したからと言って、

メモのブロックとしては扱われません。

あくまで

yyyy/mm/dd[category]

のフォーマットは一行一つのメモの想定です。

ソース

※ダウンロードに統合、ややこしくなるんで消しました。

 プロフィールからダウンロードできます。

Share and Enjoy:
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Tumblr
  • email
  • Facebook
  • FriendFeed

No tags

10月/07

18

昨日のやつの続き

まだ試してないのだが、

hatena-diary-mode

http://www20.big.or.jp/~rin_ne/soft/xyzzy/hatena-diary-mode.htm

と言うのが有るらしい。

入力支援とは違うようだが、

昨日の関数のhatena-templateとperlのセットで

やろうとしていた事が出来るようだ。

Share and Enjoy:
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Tumblr
  • email
  • Facebook
  • FriendFeed

No tags

Older posts >>

Find it!

Theme Design by devolux.org

Tag Cloud