- flimenu 20170417.1847(in MELPA)
- Flatten imenu automatically
概要
Emacsには標準機能でM-x imenuという簡易関数・変数定義ジャンプ機能が備わっています。
現在のファイルに限定されるものの、タグジャンプとは違いタグファイルなしでお手軽に定義に移動できます。
お手軽に定義へジャンプするパッケージといえばdumb-jump(レビュー) がありますが、外部プログラムに頼らない場合ならimenuも手軽でいいものです。
ところが、imenuは階層構造になっているため、候補選択まで時間がかかってしまう欠点があります。
そこで flimenu.el はimenuのインデックスを平滑化(FLatten)します。
相異点をわかりやすくするため、idomenuによりido化したimenuで比較してみます。
Fig1: 平滑化されていない
Fig2: 平滑化されている
なお、helmユーザならばM-x helm-imenuを使えば平滑化されたimenuが使えます。
idoでもimenus.el(レビュー)によって平滑化されています。
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。
(package-initialize) (setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") ("melpa" . "http://melpa.org/packages/") ("org" . "http://orgmode.org/elpa/")))
初めてflimenuを使う方は
以下のコマンドを実行します。
M-x package-install flimenu
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name flimenu
設定 160822043338.flimenu.1.el(以下のコードと同一)
(flimenu-global-mode 1)
実行方法
$ wget http://rubikitch.com/f/160822043338.flimenu.1.el $ emacs -Q -f package-initialize -l 160822043338.flimenu.1.el
本サイト内の関連パッケージ
- dumb-jump - jump to definition for multiple languages without configuration.
- helm - Helm is an Emacs incremental and narrowing framework
- imenu-list - Show imenu entries in a seperate buffer
- imenus - Imenu for multiple buffers and without subgroups
- idomenu - imenu tag selection a la ido
- imenu-anywhere - ido/ivy/helm imenu across same mode/project/etc buffers
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。