2009-01-01から1年間の記事一覧
エスケープシーケンスで色をつけるのは端末アプリケーションだと定番だ。 Rubyで色つき文字を出す場合、わざわざエスケープシーケンスを書く必要はない。Term::ANSIColorというライブラリを使えばいい。インストールは「gem install term-ansicolor」で。 re…
俺は使っているRubyの処理系はほぼすべて保持している。というのは、Rubyのバージョンが上がるととたんに動かなくなるスクリプトが出てくるからである。 実際、 /usr/local/bin 以下にあるRuby処理系は30個くらいある。1.4.5や1.6.6といった化石バージョンす…
[update] シグナルで終了したときには、プロセスオブジェクトを表示してみた。任意のRubyスクリプトを実行するとき開始/終了時のタイムスタンプを出力する方法 - 今日もスミマセン。はたしかに便利なのだが、わざわざRubyスクリプトに限定する必要はない。 …
Migemoはローマ字から直接日本語を検索するすげえツールなのだが、開発停止されているようだ。というかもう完成されたソフトウェアなんだろうね。今に至るまで10年近くずーっと愛用している。 ただ、文字コードがEUC-JPのみってのがイケてない。今時UTF-8だ…
Emacsを使ってるみんな、recentfというパッケージを知っているかい? 「最近使ったファイル」を上から順に並べていってすぐに切り換えられるようにするヤツだ。最近使ったものを一番上の見易い位置に置いておくのは超整理法の手法で、すこぶる便利だ。知らな…
最近Rubyリファレンスマニュアル刷新計画(るりま)を更新してなかったので状況が変わっていた。今ではsvnリポジトリを使ってドキュメントが作成されている。ドキュメントのデータを除いてみたら拡張RDで書かれている。Ruby リファレンスマニュアルを Emacs …
Emacs Advent Calendar jp: 2009参加中!次はkiwanamiさん。auto-install.el は拙作 install-elisp.el の後継バージョンである。サイトからEmacsLispファイルをダウンロードし、所定の位置に配置し、バイトコンパイルする。最大の違いはダウンロードが非同期…
Emacsを使ってて怖いことのひとつは、ミニバッファに入力中にC-gを押してしまうことだ。すると、今までの入力がパーになってしまう。 俺はskkを使っていて、変換をキャンセルするときにC-gを押すのだが、押しすぎたりタイミングを間違えたらミニバッファ入力…
http://pha22.net/hotentry/はイカしたタイトルをつけてくれるサービスだ。ブログ書きのお供に。生成されたタイトルをさくっと知りたいときは、Unix使いならば出力を加工するよね。 テキストブラウザw3mをHTML→Plain Textコンバーターとして使う。そして、タ…
topコマンドはCPUやメモリを喰ってるプロセスをリストアップしてくれる。なるべくパソコンを軽くしたいので常に起動しているのだが、プロセスを殺すときにいちいちプロセスIDを打ち込まないといけないので面倒だ。そこでanythingインターフェース。M-x anyth…
Emacs で登録されている timer の一覧を表示 / マスタカの ChangeLog メモをanything.elで使えるようにしてみた。アクションはとりあえず、タイマーをキャンセルするのみ。 M-x anything-timersでタイマーを一覧できる。 anything-config.elに登録しているの…
zshは快適なシェルではあるが、anything脳の俺にとっては履歴検索で絞り込めないと不便でしょうがない。 zshでanythingのようなものを作る方法があるものの、やはり本物のanything.elを使いたい。 ということでzshのコマンドラインからanythingで履歴検索す…
久々のanything.el更新。 anything-enable-digit-shortcutsという変数を知っているかな?この変数をtにすると、Ctrl+数字(1〜9)で先頭9個の候補を選択して、デフォルトのアクションを実行することができる。なんだけど、Ctrl+数字というのはすこぶる押しづ…
crontab -r とやってしまった時の対処法 cronの設定を変えようと crontab -e と打とうとして、間違って crontab -r と打ってしまい、cronの設定が根こそぎぶっ飛んで参りました。 俺も経験したことがある。しかし、こんなスクリプトを書いたり、いちいちcron…
http://d.hatena.ne.jp/hchbaw/20091111/1257960247パッチを取り込み。「alcs-current-pysical-column が負の値を返す時」は alcs-current-pysical-column をキャッシュするようにしてみた。M-x install-elisp-from-emacswiki anything.el M-x install-elisp…
汎用プルダウンメニューインターフェースライブラリpulldown.el - Functional Emacserauto-complete.elのあのメニューが独立したライブラリとして登場。以下のコードを実行するとこうなる。(画像は引用) (require 'pulldown) (pulldown-menu '(foo bar hog…
ac-anything.elを最新のauto-completeで動くようにする - 適当めもパッチを取り込んだ。同時に現行バージョンでも動くようにしてみた。M-x install-elisp-from-emacswiki ac-anything.el
emacs-lisp-modeかlisp-interaction-mode上でC-M-xを押したらカーソル位置のトップレベルフォームを評価する。関数や変数を再定義するのに便利なコマンドだ。 anythingの情報源を定義したとき、次にするべきことは動作確認だ。だったらC-M-xを押した時点で自…
はてなキーワードのSKK辞書を作ってみる - http://rubikitch.com/に移転しました久々にはてなキーワードのSKK辞書を更新しようとしたが問題が起きてしまった。 とりあえず、元スクリプトが更新されていたので更新。で、その通りにやってみたのだが、skkdic-e…
deruiの日記id:deruiによるzshの履歴をインクリメンタルに正規表現検索するzshスクリプト。インクリメンタル検索だの絞り込み検索だのと聞いてすぐに飛び付くのがanything脳のサガというもの。 ナイスアイデア!!キーをおすたびに勝手に絞り込まれていくのがa…
editorinjection - 接続法第三式 w3m を使っていると, textarea などに対して sensible-editor として nano が呼び出される. nano 自体はあまり好みではないのだけど,この仕組みは非常に優れていると思う. そう。俺はgnuclientを指定しているが、w3mにEm…
Linuxでプログラムの音声を保存する場合、OSSならばvsoundというプログラムがある。しかし、ALSAには対応していない。 ALSAでスピーカー出力を音声ファイルに保存するには、 ~/.asoundrc で以下の設定を書く。pcm-fileプラグインについてはALSA project - th…
特定の時刻にコマンドを実行するには、cronやatがある。一定時間待つにはsleepがある。 特定の時刻まで待つコマンドがわからなったので、速攻でRubyで書いてみた。こんなのはぐぐるよりも書くほうが早いので。 #!/usr/bin/env ruby require 'time' time = Ti…
俺は昔からgnuserv/gnuclientを使ってきたが、Emacs23になったら、multi-ttyもあることだし乗り換えようと思っていた。しかし…カレントバッファが常にサーバのバッファで実行されるため、「現在の」カレントバッファを取得してくれない。 Emacs23だとmulti-t…
俺はEmacs23になってもいまだにgnuserv/gnuclientを使っている。しかし、なにかのひょうしでgnuservが落ちて「Gnuserv process exited; restart with `M-x gnuserv-start'」と出てきてしまい、落ちたままになっている。そうなると、gnuclientが動かなくなり…
yasnippet.elについて調べていたら、おもしろいライブラリをみつけたので紹介。choiceというライブラリは、コマンドラインオプションを解析するDSL、いわばoptparseのDSL版と考えることができる。 使用例はこんな感じ。 明白すぎてコードのコメントは不要だ…
Emacs Lispでは、気に入らない関数呼び出しを別な関数に置き換えることができる。たとえば、今のウィンドウに表示してほしいのに内部で switch-to-buffer-other-window を呼んでいる場合とか。 こんな場合は、letfやfletやlabelsを使えばよい。letにはlet*と…
Emacs23の目玉機能にmulti-ttyがある。 「emacs --daemon」でEmacsデーモンを起動しておくか、 (server-start) でサーバを立ち上げておくことで、起動中のEmacsにアクセスできるようになる。emacsclientコマンドを使う。 emacsclientコマンドは前からあった…
Emacs23へ移行したのだが、設定が非互換になってしまったので動かなかった。 Emacs23ではrcirc-server-alistを設定するとよい。サーバが127.0.0.1なのはtiarraを使っているため。 (setq rcirc-server-alist '((;;サーバ "127.0.0.1" ;;デフォルトで加入する…
Alex Schroeder: 2009-08-30 Emacs SubversionEmacsWikiのページがSubversionで管理されるようになった。 なので、ローカルに置いてgrepかければいろいろなものが引っ掛かるだろう。 UTF-8ロケールでないと動かないので、環境によっては LC_ALL=ja_JP.utf8 …