2008年1月21日月曜日

Emacsで引用記号付き貼り付け

昔は、引用記号付き貼り付けが、エディタの必須機能の一つという時代がありました。
今では各アプリが自前の入力エディタを備えているので、必要とされなくなりましたが・・・orz

ま、それでもないよりは、あったほうがいいじゃん。ということで、Emacsで引用記号付き貼り付けの方法なぞを。

まずは、デフォルトでのやり方。
string-rectangle というコマンドが標準であります。 C-x r t に割り当てられているので、引用したい行を範囲選択し、C-x r t とすると、ミニバッファに引用記号を聞いてくるので、指定すればOK。
実にお手軽。

もうひとつは、~/.emacs に以下を追加して、

;;;====================================
;;;; 引用記号付き貼り付け
;;;====================================
;;; 切り取った文字列を指定した引用記号で貼り付ける。
(defun commentize (str)
"引用記号付き貼り付け。
切り取った文字列を指定した引用記号で貼り付ける。"
(interactive "s引用記号: ")
(save-restriction
(yank)
(narrow-to-region (mark) (point))
(goto-char (mark))
(while (re-search-forward "^[ \t]*" nil t)
(replace-match str)))
(end-of-line)
(newline 2))
Kill(切り取り)して、M-x commentize とすれば、引用記号を聞いてくるので、指定すれば引用記号付きで貼り付けてくれます。

私はこれを、

(global-set-key "\C-\M-y" (lambda () (interactive) (commentize "> ")))
として C-M-y に割り当てています。あらかじめ引用記号を指定してあるので、いちいち毎回引用記号を指定しなくてすむので楽ちんです。

2008年1月19日土曜日

SKKサーバーを入れてみた

Emacsで、初回に辞書を読み込む時の時間に苛立ちを憶え、SKKサーバを入れてみることにしました。
複数の辞書を使用しているので、uim-skkDDSKKで両方で使用したいというのもありますし、メモリの節約にもなると思ったからです。

とりあえず、ubuntuのリポジトリに複数の辞書を扱えるskkserverは、skksearchしかなかったので、skksearchを入れました。
sudo apt-get install skksearch tinycdb skkdic-cdb

ちなみにうちの環境では、skksearch を入れたら、らnetkit-inetdからopenbsd-inetdに変わりました。
skksearchはcdb形式の辞書を扱いますので、手持ちの辞書をcdb形式に変換します。
cd /usr/share/skk/
sudo skk2cdb SKK-JISYO.L SKK-JISYO.L.cdb
また手持ちの2ch辞書、顔文字辞書、カタカナ英語変換辞書、をそれぞれ同じようにcdb形式に変換しました。

次に /etc/skksearch.conf を開いて、
cdb:/usr/share/skk/SKK-JISYO.cdb
cdb:/usr/share/skk/SKK-JISYO.2ch.cdb
cdb:/usr/share/skk/SKK-JISYO.KAO.cdb
cdb:/usr/share/skk/katakana-eigo.jisyo.L.cdb
な感じで使用する辞書を登録。
事前準備が出来たので、inetdを起動する。
sudo /etc/init.d/openbsd-inetd start
念の為、~/.skk に、
(setq skk-aux-large-jisyo nil)
と書いておいて、Emacsを起動。おもむろにユーザ辞書にない単語を入力してみて、変換。
瞬時に変換候補が出た。以前のように初回辞書読み込みが発生することもなく、あっという間。
う〜ん、素晴しい。こんなことならもっと早くやれば良かった。

uim-skk の方は、uim-pref-gtk で、辞書ファイルの変わりにSKKサーバを使用にチェックを入れるだけ。

これで複数の辞書を、EmacsのSKKとuim-skkとで共通に利用できて、Emacsでも初回辞書読み込みに待たされることもなくなった

2008年1月8日火曜日

EmacsでTwitter

Twitterの日本語版が春にでも始まるらしいので、いい機会だから試してみた。

Twitter は海の向こうではSNSを抜いて大人気だとか。感覚的にこう、なんだろう。つぶやきの文化みたいな?

みんながぶつぶつ言葉の泡を吐くんだけど、それらが互いに干渉しあって、時に大きな泡となって盛り上がったり、時には消し飛んで消沈したり。
Twitterが受け入れられているのは、ブログのように気張って書く必要もなく、誰かに意識してメッセージを届けようとする必要もなく、ゆる〜く、ぶつぶつ呟けるからみたいなところがあるのかなと思う。

もう一つTwitterを試してみようと思ったのは、EmacsでTwitterが出来るtwitering-modeというのがあったから。

ここからtwittering-mode.elを落してきて、~/.lispあたりに放り込んで、~/.emacs

(load "~/.twitter.el")
と書いて、~/.twitter.elに、

(require 'twittering-mode)
(setq twittering-username "アカウント名")
(setq twittering-password "パスワード")
と書いた。
~/.twitter.elと、別ファイルにしたのは、IDとパスワードを~/.emacsに書きたくなかったから。~/.twitter.elはもちろん
chmod 600 ~/.twitter.el
しておくこと。

使い方は、M-x twittering-mode起動
C-c C-s書き込み
デフォルトでは90秒で自動的に更新される。


前後しちゃうけど、Twitterの使い方は、

を参考に。

そしてTwitterは一人でぶつぶつ呟いてもおもしろくもなんともない。どんどん友達を誘おう。
Twitterではかなり気軽に知らない人を誘ってもいいみたい。
友達の見つけ方は以下から探してみるといいかも。

2008年1月6日日曜日

pidginでYahoo!チャットを使えるようにする

gaimから名前が変って設定ファイルの場所も変ったみたい。
~/.purple/accounts.xml を開いて、yahooアカウントの
<setting name='room_list_locale' type='string'>ja</setting>
の下あたりに、
<setting name='room_list' type='string'>http://insider.msg.yahoo.co.jp/ycontent/</setting>
を追記。

これで、ツールの部屋一覧で日本の部屋一覧が表示されます。