XYZZYとLispでウェブリブログのアクセス解析のサマリーを整形して貼り付ける(色々応用できると思うよ)

 ウェブリブログがリニューアルして、これまで「アクセス状況」として表示されてたページもリニューアルされてしまった。  ずーっとサボっていてなんだけど、日々のアクセス状況をその日のChangelogメモ(以下CLM)の最初に貼り付けるのがルーチンワークになっていたのである。 ※Changelogメモについてはこの辺で書いてます。 Changelogメモ(兼日誌)、5年目に突入(実質4…

続きを読む

xyzzyのキーボードマクロをもっと使い易くしたーい の巻 (その3)

(続きです)  前回のエントリーで、「第四版を書いた」と書いたが、いざエントリーをうpしようと思い、念のため動作確認してみると、これがまた出るわ出るわ不具合が。  ということで、何とかまともに動くように色々いじくってたら思ったより時間を食ってしまった。実に恥ずかしい話である。  まあ遅れたところで誰かに怒られるという訳でもないが。 ---  第三版がホワイトリスト方式とすれ…

続きを読む

xyzzyのキーボードマクロをもっと使い易くしたーい の巻 (その2)

(続きです)  ということで、第三版を書いてみた。  一見して分かる通り、大分嵩が増した。何故ならば、もうただの関数ではなく、マイナーモードになってしまったからだ。  ぶっちゃけオリジナルのマイナーモードなんて作るのは初めてであったが、見様見真似ながらもどうやらそれっぽく動くものができた。  ちゃんと動くようにするにはそれなりに苦労したが、出来上がるとそれまでの苦労と苦悩はす…

続きを読む

xyzzyのキーボードマクロをもっと使い易くしたーい の巻 (その1)

 久々にxyzzyのLispをいじくった。  キーボードマクロの使いづらさにブチ切れてのことである。  キーボードマクロというのは、キーボードの入力を記録して、好きなときにくり返せる便利機能である。  記録開始は C-( 、記録終了は C-) 、これはまあ良いのだが、マクロの実行が C-x e というのが使いづらい。いちいちコントロールキーを離さないといけないのが使いづらさに拍車をかけ…

続きを読む

設定ファイルを更新後に新たにxyzzyを立ち上げて様子を見るの巻

 xyzzyの設定ファイル(.xyzzyもしくはsiteinit.l)に新たに設定を書き込んだり書き直したりしたら、ダンプしなおして再起動して様子を見る、というのがまあ普通のパターンな訳だ。  しかし設定を誤ると、へたすれば起動できなくなってしまう場合がある。  なので設定ファイルを開いたまま新たにxyzzyを立ち上げるという事はよくある。  どうせならそういうのを一発で出来ないかと、…

続きを読む

emacsからipython(via mlterm)を立ち上げる

 xyzzyからipython3を立ち上げられたんならemacsからも出来るっしょ。  という短絡的な考えから、ゴリゴリとLispを書いてみた。無印ipython(要するに2系のものね)でも全く同様に出来るので3使いじゃなくてもご心配なく。"ipython3"と書いてあるのを"ipython"に読み替えていただきたい。 (defun ipython3 () (interactive…

続きを読む

xyzzyからipython(via ckw)を開く

 ipythonを使いはじめた。  最近では段々と機能も分かってきてますます便利に使わせていただいておる。ありがたやありがたや。  しかし、立ち上げたあといちいちカレントディレクトリを変更するのが面倒だ(補完してくれるとは言え)。  どうせならソースを変更したあとサクッとテストしたい。  そこでソースを開いたバッファのカレントディレクトリを流しこんで開けないか試してみた。 …

続きを読む

マーク位置が分かりやすくなるよう色をつけてみる @xyzzy

 割と最近まで、xyzzyでは画面の脇に行数表示をしていたが、表示をコンパクトにしたくなったのでやめてしまった。  行数表示もさることながら、マークのある行が反転表示されるのが便利だったのだが当然それは失われた。  まあどうせマーク位置は自分で設定できるのだが、うっかりC-wとか押してしまってごっそりキルされて焦ったりする。まだまだ修行が足りませんな。  つーことで、マーク位置を常…

続きを読む

リージョンをセレクションにする @xyzzy

 リージョンをコピー/カットしてクリップボードに格納するlispスクリプトを書いてみた訳であるが、一旦リージョンをセレクションに変換してやれば後は通常通りの操作(C-Insert/C-Delete)で行けるなあ、というところに考えが至ったのであった。  そこで書いてみた。 (defun region-changeover-selection () (interactive) …

続きを読む

リージョンをクリップボードにコピーできるようにしてみた @xyzzy

 Lispも大分解ってきて能動的に色々できるようになってきた。良いことだ。ただでさえ愛用しているxyzzyがさらに使いよくなる。ブログのネタも出来るしwww  xyzzyの所謂コピペ動作には二つあって、通常のアプリケーションと同様にクリップボードを使うものと、独自の「キルリング」という仕掛けを使うものがある。キルリングはxyzzy上でのみ有効で、「コピー/ペースト」に対して「キル(コピー)…

続きを読む

ファイル内の関数名を取得する @xyzzy Lisp (色々応用可)

 せっかくemacs/xyzzyを使っているので、どうせならLispで色々やらせたい。そういう気持ちはずーっと持ってたのだがLispに対する苦手意識が拭えず、ある程度以上複雑になると読むのも書くのも嫌、基本的にはネットで漁ったソースをコピペして改変する程度でよしとする、という状況が長く続いていた。  Cから入ってPythonがメインという立ち位置からLispのコードを見ると、Lispのコードは…

続きを読む

emacsでサブプロセスを立ち上げる

 ものすごく乱暴に言い切ってしまうと、emacsは面倒くさがりを生成するエディタである。  日常的にemacsを使っていると、emacsで何事も済ませてしまいたくなる。それだけの柔軟性とパワーがあるということであるな。  Windowsではemacsライクなエディタであるxyzzyを愛用している。これまた素晴らしいエディタだ。MeadowとかNTemacsとかの前に使い出したのでずーっと…

続きを読む

xyzzyで編集中のファイルを自動保存させる その5

(続きです) (when (and (not (pre-selection-p)(not (mark t))(refresh-screen 0)))  これが入っている位置は元の"(refresh-screen 0)"があったところ。  まるまる入れ替えた形になる。黒の閉じカッコは関数"auto-save-buffers()"の終端である。  さて、どうなるか…。  適当にバッ…

続きを読む

XYZZYで編集中のファイルを自動保存させる その3

 XYZZYで編集中のファイルを自動保存させる(その1/その2)という記事を先月末ごろに書いた訳だが、尻切れトンボのごとく問題を放置したままになっていた。  解決せずにほったらかしにしておくのは気持ち悪い…と思ってはいたものの、地震が起きたり風邪をひいたりしてるうちにひと月経ってしまった。 ・問題点(のおさらい) 自動保存が行われるとセレクションやリージョンの反転が解除されてしまう。 …

続きを読む

xyzzyで編集中のファイルを自動保存させる その2

(続きです)  さあ、どうだ…?  おお~、未保存マークが消えたあああ。…と思ったら…あれれれ?  モード行の表示は消えたけど、バッファバーの表示は消えてくれないではないか。  うーん。何ということだ。中途半端に出来ると余計に気になるじゃん。  今日の仕事はやめだっ!(ヲイ ---  バッファバーが再描画されないということは、(refresh-screen)とは…

続きを読む

xyzzyで編集中のファイルを自動保存させる その1

 仕事中、突然PCの電源が落ちた。  どうも、PCが繋がっている電源タップに同僚がプリンターを繋ぎ、電源を立ち上げたためらしい。  瞬間的にドロップしてリセットがかかったみたいだ。  ハードウェアにもストレスがかかるし、ファイルシステムが壊れる可能性もあるので何とかしたいがこの不景気でご多分にもれず業績は下がる一方。  UPSなぞ買ってくれそうにない。  自分で買って私物として…

続きを読む

ChangelogメモでPDCAサイクリングできるかな

 自分なりのChangelogメモの活用法について。  Changelogメモをやることによって得られる大きなメリットは、自分の行動を客観的に見ることができるようになるところではないかと思う。  客観的に俯瞰して自分の行動を眺められれば、似たような失敗を(ある程度は)防げるだろうし、成功に再現性を持たせられるようになるはずだ。もちろん意識して記述し、記述した事を思い出して、それを探し、読…

続きを読む