- bbyac 20170806.524(in MELPA)
- Type a little Bit, and Bang! You Are Completed.
概要
通常の M-/ (dabbrev-expand) や M-x hippie-expand では、
補完したい文字列の最初からタイプする必要があり、
elispの長いシンボルを補完するのには向いていません。
そこで、ido式あいまいマッチ(各文字間に「.*」をはさんだ正規表現に変換)
を使って補完するのが bbyac.el です。
候補が複数個ある場合は、ミニバッファでC-p/C-nとすることで選択できます。
いわば ido + M-x dabbrev-completion といった感じで、
打鍵数を最小限にして適切にシンボルを補完してくれます。
シンボル補完以外にも行補完(M-s RET、M-s l)や
パラグラフの補完(M-s p)があります。
本設定ではbbyac.el内蔵の候補選択ではなく、
ido-vertical-mode.el(レビュー) にインターフェースをすり替えています。
なぜならC-p/C-n以外にも文字をタイプして絞り込みができるからです。
dabbrevやhippie-expandにフラストレーションを感じている方は
絶対に試してみる価値があります。
Fig1: texの後にC-@を押すと…
Fig2: 長いシンボルが一発で補完!
Fig3: thの後にC-@を押すとidoで選択
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.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/")))
初めてbbyacを使う方は
以下のコマンドを実行します。
M-x package-install bbyac
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name bbyac
設定 150312092945.bbyac.el(以下のコードと同一)
;;; このときidoが使うwindowの高さは大きくした方がいい (setq ido-max-window-height 0.75) ;;; あいまいマッチは入れておこう (setq ido-enable-flex-matching t) ;;; 本格的にidoを使いたい人は有効にしよう ;; (ido-mode 1) (ido-vertical-mode 1) (setq ido-vertical-define-keys 'C-n-and-C-p-only) ;;; 改行が含まれていない場合はidoで候補選択 (setq bbyac-max-chars 99999) (defun bbyac--display-matches--use-ido (orig strlist) (cond ((null (cdr strlist)) (car strlist)) ((cl-notany #'bbyac--string-multiline-p strlist) (ido-completing-read "Bbyac: " strlist nil t)) (t (apply orig strlist)))) (advice-add 'bbyac--display-matches :around 'bbyac--display-matches--use-ido) (bbyac-global-mode 1) (define-key bbyac-mode-map (kbd "C-@") 'bbyac-expand-symbols) ;;; this-is-a-very-long-variable-for-example ;; tex ;; th
実行方法
$ wget http://rubikitch.com/f/150312092945.bbyac.el $ emacs -Q -f package-initialize -l 150312092945.bbyac.el
本サイト内の関連パッケージ
- browse-kill-ring - interactively insert items from kill-ring
- ido-vertical-mode - Makes ido-mode display vertically.
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。