2010.09.22
■[emacs][コマン道] 制御文字をふつうの文字^Hなどに置き換える
知らない人に cat -v を教わりました。ありがとうございます。キーバインド覚えられないのでコマンド化。サンプルデータは (symbol-function 'setf) で。これの結果をブログに貼りつけたくて悩んだ。
(defun cat-v-region (begin end) " リージョンに対して cat -v を実行" (interactive "r") (shell-command-on-region begin end "cat -v" t))
■[elisp] 任意のディレクトリを開くanything-sourcesを複数動的に生成する2
(defun my-open-dir (dir-list) "Open directory." (interactive) (anything-other-buffer (my-create-open-dir-anything-sources dir-list) nil)) (defun my-create-open-dir-anything-sources (dir) (labels ((make-source (d) `((name . ,(concat "Open directory: " d)) (candidates . ,(directory-files d)) (display-to-real . (lambda (candidate) (concat ,d candidate))) (type . file)))) (loop for d in dir when (file-directory-p d) collect (make-source d)))) ;;(my-open-dir (list "/home/k1low/" "/var/www/html/")) ;ディレクトリの存在チェックがないですよ
あまり変わらないか。この例だとおおげさになってしまうけど、リストを走査する部分と本質的な仕事をする部分にわけた。Imakado さんスタイルともいう。慣れたもんです。
