Emacs

Emacs Lispでvariance

ref:http://www.kt.rim.or.jp/~kbk/zakkicho/15/zakkicho1506a.html#D20150608-4 Lispらしく書くならこんな感じ? (defun varp-1 (xs) (cl-labels ((varp-sub (xs s1 s2 len) (if (consp xs) (let ((x (car xs))) (varp-sub (cdr xs) (+ s1 (* x x)) (+ s2 x…

カラー表示

ふと思った疑問。Emacs カラー表示っていつぐらいからできるようになったんでしょ? キーワードの色つけ表示が入った頃? 最初に実装したエディターは? そいや、昔、Vine の Emacs には、color-mate なんてのが入っていたな、と思って color-mate 7.10 のパッ…

ff-find-other-file と elscreen の連携

ref:http://d.hatena.ne.jp/odz/20090105/1231162439 というわけで、M-x find-function RET ff-find-other-file RET とかやって、find-file.el を眺めてみると、ff-find-file と ff-switch-to-buffer をいじれば良さそう。 (defadvice ff-find-file (around …

壮大な車輪の再発明を見た

ref:http://labs.unoh.net/2009/01/ccelisp.html ウノウラボのネタは久しぶりだな。 とりあえず、M-x describe-function RET ff-find-other-file RET とやってみることをおすすめする。多分、それだけで全部足りる。

meese

とてもしょうもないネタ。 Emacs で M-x load-library RET meese RET として、/usr/share/emacs/(version)/etc/sex.6 を開く。 そもそも、sex.6 の内容がバカバカしくて面白かったりする。

locate-library

つーか、twittering-mode.elをどこに置いたのかすら忘れていてだめだめである。/usr/share/emacsのどこかに置いたかと思うのだけど全然見つからない。 てな事が書いてある。行きがけの駄賃でxml.elまで行ってしまおう。わたしの環境(Ubuntu 8.04)のEmacs 22.…

twittering-modeの改造

ref:http://d.hatena.ne.jp/hyoshiok/20080525#p2 ref:http://d.hatena.ne.jp/odz/20071021/1192957783 考えることはあまり変わらないなぁ。前も書いたな、こんなこと。

Mule for Win32

Meadowつーと、Windowsユーザの多くがおそらく最初にさわるEmacsenであり(xyzzyもあるか)、俺も始めてさわったEmacsenはMeadowだった。 ちょっとしたジェネレーションギャップか。私は Mule for Win32 で、syntax highlighting は font-lock ではなく hilit1…

Emacs Lisp のダメなところ

ref:http://d.hatena.ne.jp/kazu-yamamoto/20080208/1202435711 挙げられている点は、まさにその通りだよなぁ、と思う。特に正規表現のバックスラッシュ地獄とか。 ただ、多相型は EIEIO というライブラリがあるので、これを使えば何とかなるかもしれない。 …

c-set-offset

ref:http://d.hatena.ne.jp/nishiohirokazu/20080125/1201251458 actionscript-mode は良く分からないけど、cc-mode の派生なら当該位置で M-x c-set-offset として値を 0 とか + とかに設定してやれば調整できるのではないかと。

キーバインドの指定方法

ref:Emacsでキーバインドをカスタマイズするための覚書 - gan2 の Ruby 勉強日記 そういや、define-key なんかで使えるキーの指定方法っていろいろあるなぁ。 そのまま文字列で C-a は \C-a などと指定する。 (global-set-key "\C-x\C-m" 'anything) 実は Em…

eval-after-load と define-key

ref:emacs keybinding - ANOTHER PIECES あるある。keymap が作られる前だから、define-key できないというやつ。面倒だから .emacs で require しとけとなったり。 昔から、この手の Tips は hook で local-set-key を仕込むのが定番だと思うけど、define-k…

dabbrev-expand

WEB+DB Press の最新号を求めて書店にいったらなかったので、置いてあった vol.41 をぱらぱらと眺めていたら id:naoya さんの記事で、Emacs の dabbrev-expand がデフォルトではどのキーにもバインドされていないようなことが書いてあってアレ、と思った。 …

ruby-mode では require-final-newline が t になるという話

ref:http://www.jitu.org/~tko/cgi-bin/bakagaiku.rb?bakaid=20071221 ref:http://www.jitu.org/~tko/cgi-bin/bakagaiku.rb?bakaid=200712211 わはは。ruby-mode.el を見ると (make-local-variable 'require-final-newline) (setq require-final-newline t) …

submit にこけたとき

いつかの改造以降、submit にこけたときになにも出さないという状態だったりするので、あとで直す。

vi と Emacs

研究室で Emacs 派の某氏が vi に対して「モードなんて概念があるのは vi ぐらい」とか、「事ある毎に ESC を押さないといけない」なんてことを言っていた。 まぁ、なんというか Emacs だってしょっちゅう Ctrl を押しているし、2ストローク以上のキーバイン…

id をモードラインに反映

ref: simple-hatena-mode - ANOTHER PIECES ふむふむ。たしか、cc-mode は auto-newline なんかでモードラインがかわるはず。ということで、 M-x find-function RET c-toggle-auto-newline RETとかすると、c-update-modeline がそれっぽい。ので、さらに M-x…

twittering-mode

ref:twittering-mode 入れてみた。あー、生のパスワードを .emacs に直接書くのはちょっと、と思ったので、適当に改造。これで不用意に .emacs をさらしてパスワード漏れてアー、となる心配はしなくていい。 あと、複数ユーザの同時使用もできるようにとか、…

あー

ref:subtech - subpop - simple-hatena-modeの疑問 あー、すみません。多分、default-directory を care していないせいだと思います。 追記 こうかな。サブアカウント持っていないし、はてなグループにも参加していないので動作確認できないですけど。 とい…

パスワードプロンプト

submit 時にパスワードを入力できる patch。パスワードが必要なら minibuffer にプロンプトが出る。 まぁ、config.txt にパスワード書いておけば済む話ではあるんだけど生パスワードを plain text に書くのはアレだし。 Index: simple-hatena-mode.el ======…

print

ref:オブジェクトを文字列に書き出す - 日記を書く[・ _ゝ・]はやみずさん すでに shiro さんが、コメントされているけど、別に print でいいよな。 どうしても、文字列化したいなら with-output-to-string を使って以下の様にすれば良い。 (with-output-to-…

日付変更時間の設定

Index: simple-hatena-mode.el =================================================================== --- simple-hatena-mode.el (revision 454) +++ simple-hatena-mode.el (working copy) @@ -91,6 +91,12 @@ "はてなダイアリーライターのログインに、co…

自動的にタイムスタンプを挿入する

ref:ANOTHER PIECES - ぬぅ。 なるほど、その手があったか。 (defun simple-hatena-electric-asterisk (arg) "Insert an asterisk. If current point is positioned at beginning of line, timestamp is also inserted. " (interactive "*p") (if (zerop (cu…

simple-hatena-mode

ref:SimpleHatenaMode - CodeRepos::Share - Trac いままでは自作の Emacs-lisp + はてダラで書いてたんだけど長いものに巻かれておいたほうがいいかも、とか思ったので移行してみる。 とりあえず、Windows 用の設定。 (setq simple-hatena-bin (concat "per…

Emacs クイズ

ref:http://d.hatena.ne.jp/hayamiz/20071009/1191931961 おもしろいので、やってみる。 q1. ポイント q2. C-x 3 q3. C-h c C-x C-t もしくは、M-x describe-key RET C-x C-t 。何に割り当てられているかは知らない*1。 q4. 端末の設定によっては C-h で。あ…

delete-line

ref:http://d.hatena.ne.jp/higepon/20070912/1189586516 ref:http://shinh.skr.jp/m/?date=20070912#p07 別解2通り。 (defun delete-line (&optional arg) (interactive "P") (progn (kill-line arg) (pop kill-ring))) (defun delete-line () (interactive…

pnuts-mode

勢いで pnuts-mode とか作ってしまったわけです。 CC Mode ベース だから、Java 風なコーディングならかなりのところまでまともなインデントをすると思うんだけど、そもそも CC Mode は statement terminator に semicolon を使わない言語のことはあまり考え…

major-mode の作り方

なんか、はやみずさんさんが fortress-modeとか作っているのをみて、自分でもなんか作りたくなった。 で、An Emacs language mode creation tutorial とかみて、このドキュメントいいな、と思いつつも CC Mode ベースじゃなかと思って cc-mode.el とか cc-la…

バッファ大杉

ふと、electric-buffer-list で開いている buffer の数を数えてみたら Dired の buffer も含めて 66 個あった。screen の上で立ち上げっぱなしとはいえ、開き過ぎだろ。

Emacs 22.1 has been releaseed

うわ、いつのまに。もともとは 4/23 にリリースの予定だったわけだから1ヶ月ちょいの延期になったわけだな。しかし、Linux x86-64 Support の注目度が案外少ない。 で、NEWS を読んで気づいたんだけどなにげに M-x gdb したときにツールバーが GDB 用のイン…