describe-bindingsを便利にする

describe-bindingsの拡張が増えたので適当に分けてみた。後で、気づいたけどsilogの所に既にdescribe-bindings-modeと言うのがあった。結局自前で良く似たようなのを作ってしまったorz。折角作ったので一応書いて見ることに

具体的にやった事は

  • immのようにqでヘルプから抜ける
  • describe-key見たいにキーを押して、押したキーの説明の所に移動する。
  • マイナーモード扱いに。

前からやってたのは

  • M-F1でdescribe-bindingsを表示する
  • C-gでモード抜ける
  • F4でタグジャンプ
  • lisp-modeで色分け
  • バッファを書込み禁止に。
  • 表示した直後のimeをoffに。検索とかIMEがない方が早いから。
  • C-sじゃないキーに簡易なインクリメンタルサーチ

discribeの中から押したキーを見つけるのはこんな幹事に。

(defun lookup-describe-key(key)
  "押したキーを見つける。"
  (interactive "klookup key: ")
  (let ((command (format nil "^~A " (key-to-string key)))
		(cp (point)))
	(when command
	  (goto-char (point-min))
	  (if (scan-buffer command :regexp t)
		  (message "find key")
		(progn (goto-char cp)
		  (message "dont find key")))
	  )))

殆どはsilogの所の機能を地味にしたいようなのをやっているので、趣味の問題じゃなければ、silogのヤツを入れた方が便利かも。