2011/04/06

hatena-insert はてな記法を入力補助



今に始まったことじゃないが、どうも物忘れがひどい。


はてな記法もそのうちのひとつ。すさまじい勢いで忘れている。というか憶える気がないのか。


頭が悪いのはツールで補う。いつものことだ。


決まったキーを押すたびに候補を順繰りに挿入してくれるやつを書いた。


2011.4.6 *hatena-insert-alist* の名前が間違ってたので直した。



;;;
;;; hatena-insert
;;;
(defvar *hatena-insert-alist* '(("<br>" . "改行")
(">||\n||<" . "スーパー pre")
(">|lisp|\n||<" . "スーパー pre lisp")
("[:title=]" . "リンク")
("(())" . "脚注")
(">>\n<<" . "引用")
;("-" . "リスト")
;("+" . "リスト 番号つき")
("**" . "小見出し")))

(defvar *hatena-insert-last-num* 0)

(defun hatena-insert ()
(interactive)
(let ((lst *hatena-insert-alist*))
(setq *hatena-insert-last-num*
(if (eq *last-command* 'hatena-insert)
(progn
(delete-char (1+ (length (car (nth *hatena-insert-last-num* lst)))))
(mod (incf *hatena-insert-last-num*) (length *hatena-insert-alist*)))
0))
(let ((e (nth *hatena-insert-last-num* lst)))
(save-excursion (insert (car e) "\n"))
(message "~D/~D ~A" (1+ *hatena-insert-last-num*) (length *hatena-insert-alist*)
(cdr e)))))

(global-set-key #\M-3 'hatena-insert)


せっかく候補を出してくれても、意味すら忘れているアホな自分のために、下のステータスバーに候補番号と記法名を表示するようにした。


候補の追加とかは *hatena-insert-alist* に。


キーバインドは、なんでか M-3 に割り付けてしまった。なんでか。





Related Posts Plugin for WordPress, Blogger...

0 コメント :

コメントを投稿