複数の機能を一つにまとめてしまう lisp
emacs の anything とは動作が多分(かなりかも;))違ます。
(require :anything/anything) (require :anything/sources) (require :anything/menu)
M-x anything
インクリメンタルに候補を絞り、カテゴリで実行したい動作が変わります。
| #\C-p | anything-previous-line | 次行 |
| #\C-n | anything-next-line | 前行 |
| #\C-v | anything-next-source | 次のソース |
| #\M-v | anything-previous-source | 前のソース |
| #\C-M-n | anything-next-page | 次のページ |
| #\C-M-p | anything-previous-page | 前のページ |
| #\C-h | anything-backward-char | 訂正 |
| #\C-l | anything-recenter | 真ん中に |
| #\C-g | anything-quit | 中止 |
| #\C-i | anything-action-tab | 属性指定 |
| #\RET | anything-action-return | 実行 |
| #\LFD | anything-action-return | 実行 |
| #\C-@ | anything-set-mark-action | file に mark をつけて開く |
| #\C-s | anything-isearch-forward | isearch |
| #\C-r | anything-isearch-backward | isearch |
| #\C-z | anything-upper-directory | up directory |
色
(setq *anything-select-color* '(:foreground 0 :background 14 :bold t)) (setq *anything-sources-name-color* '(:color 0 15 :bold :line))
横に表示
;; with-output-to-temp-buffer の説明を参考にして下さい (setq *anything-buffer-popup* t) (setq *anything-buffer-vert* t)
バッファタブを消す
(setq *anything-buffer* " *anything*")
フレーム はいらない
(setq *anything-use-frame* nil)
anything の開始時と終了時に実行する場合
*anything-open-hook* *anything-close-hook*
migemo がインストールされていれば絞りこみに migemo を使います。
(setq *anything-migemo-on* t)
migemo で絞り込む type 数
(setq *anything-migemo-length* 4)
sources を追加していくことで拡張できます。
:name string
表示するための名前 カテゴリ
:type attribute
属性を指定
:candidates function
リストを返す関数
:action function arg
引数を一つ取る関数
:init init
初期値
:move-action function
移動した時に呼ばれる関数
:visible-mode buffer-mode , list
表示したいモード(モードのリスト)
:type source type
ソースでしている属性を指定
:display string
表示するための名前
:action function
引数を一つ取る関数
:default variable
RET の場合実行される関数
通常の anything とは別に sources を作り呼び出せます。
name
name-anything という関数が生成されます。
body sources attribute ...
name-anything で使う source と attribute