by shigemk2

当面は技術的なことしか書かない

anything と imenu で、ファイル内の関数一覧を表示する

imenu.el の使い方と応用 — ありえるえりあ

imenuは、ファイル内の関数を検索し、その関数へ移動する
Emacs標準の機能です。

たとえば、このようなファイルがあって、

void hello() {
  printf("Hello");
}

int main(int argc, char *argv[]) {
  hello();
  return 0;
}

M-x imenuを実行し、helloと打つとhello関数に移動し、
mainと打つとmain関数に移動する。

でもいちいちM-xと打つのは至極面倒である。

このimenu、anything.elと連携させることが可能である。

設定ファイルに、コメントが書かれている行の箇所を追加するだけ。

;; 追記:この方法は古い
;;(require 'anything-config)
;;(setq anything-sources
;;     (list ...
;;           anything-c-source-imenu ;; この部分を追加する
;;           ...))
(require 'anything-startup)
(define-key global-map (kbd "s-a") 'anything-imenu)

詳しい設定の方法は、
anything導入のeverything 〜3分で使えるanything.el〜 - (rubikitch loves (Emacs Ruby CUI Books))
から。

anythingを起動して、anything-imenuを起動すると、
ファイル内の関数の一覧を表示させることが出来る。

みんなも是非やってみよう。

追記: f5 a iで、anything-imenuを起動できる。