emacs

replace-match で args-out-of-range error が出たらどっかで regexp matcher の内部状態が上書きされてます。match-data を保存して set-match-data しましょう。

ireplace また更新

non-incremental-search を切っておかないと、空の文字列を置換文字列に指定できない。 (defun my-isearch-query-replace-regexp (prefix) (interactive "P") (if prefix (query-replace) (let ((search-whitespace-regexp nil) (my-ireplace-user-quit-sear…

Emacs 22 の replace-regexp で \, が使えない

Emacs 22 で追加された \, 機能が使えなくて困っていたら、自分が query-replace-regexp-read-args を override してたからだった。Emacs 21 のときに query-replace-regexp-read-args を上書きする code を .emacs に書いてたら、22 ではこの関数に \, を処…

completing-read

引数の TABLE (document によっては COLLECTION) は補完をする関数でもいいらしい。三つめの引数が t か nil かで返す型を変えないといけない。C-h f completing-read を見ると、TABLE の semantics は try-completion と all-completion を参照しやがれと書…

C-x C-k で edit-kbd-macro を呼び出して直前の keystroke を macro として編集できるのか。知らんかった。

rebind

C-s, C-r を default で regexp search に。さらに C-M-s を replace-string, C-M-r を query-replace に充てて、prefix arg があれば non-regexp になるようにした。Search で移動する癖がつかないのは default が regexp でないからではないかと推測しての…

map-query-replace-regexp で replace string を手軽に変えながら replace していけるのか。知らんかった。

なかなか C-s, C-r で移動する癖がつけられない。これを master すれば端から見たときの不思議の国度が急上昇するんだけどなあ…。

(add-hook 'local-write-file-hooks (lambda () (delete-trailing-whitespace)))まあ、当然あるとは思ってたけど、調べたのは初めて。というわけで、まあ、知らんかった。

C-M-w で次の kill を append-to-killring にできるのか。知らんかった。S 式を自動生成したいとき、M-x run-scheme でやればいちいち M-x replace-string nil RET () とかしなくて済むのか。気づかなかった。←アホすぎしかし R5RS macro は R5RS macro 自身…

(put 'match scheme-indent-function 1)とすると (match a ((pattern) ...) ...)ではなくて (match a ((pattern) ...) ...)と indent してもらえるのか。知らんかった。;; scheme.el の source 見たら瞬殺で見つかる

redo M-/ に redo を bind してるのがいつの間にか無効化される。いい加減うざくなったので、原因を調査…したら一瞬でわかった。初めて dabbrev-expand を呼んだときに dabbrev が遅延 load されて M-/ を rebind しくさるのだ。そんなわけで超対症療法的に …

(global-set-key "\C-M-^" 'isearch-backward-regexp) ^^check > error: invalid prefix (要約) なんでやねん! 指定させろや!! と苛立ちながら原因を探すこと 30 分。M の前に \ が抜けていることに気がついた。orz

C-c C-\ で region の行末に \ を付加できるのか。知らんかった。 ;; ていうか C-h m ですぐに見つけられるわけですが…

*1

C-s C-s したら前回の検索文字列を再検索できるのか。知らんかった。

undo/redo

Redo を M-/ に割り当てて使ってるんだけど、なーんかいきなり default に戻りよるときがある。再現条件がわからない。Source 読もうか? でもめんどくさいよな…

Source を読もう (読みたくないけど)

しかし dpkg-src が 18 MiB て…