補完候補をページ単位でスクロールする

popup.elにページ単位で候補を切り替える関数が実装されたので
それを使って実装してみました. 補完候補が大量にあるときに、
ざっと眺めることができて便利です. 実際に書く際は補完候補を
検索していった方がいいと思いますが, どんなメソッドがある
とか見るときはいいんじゃないかなと思います.

コード

popup.elは最新版をインストールしてください.

(defun ac-page-next ()
  (interactive)
  (when (ac-menu-live-p)
    (when (popup-hidden-p ac-menu)
      (ac-show-menu))
    (popup-page-next ac-menu)
    (if (eq this-command 'ac-page-next)
        (setq ac-dwim-enable t))))

(defun ac-page-previous ()
  (interactive)
  (when (ac-menu-live-p)
    (when (popup-hidden-p ac-menu)
      (ac-show-menu))
    (popup-page-previous ac-menu)
    (if (eq this-command 'ac-page-previous)
        (setq ac-dwim-enable t))))

(define-key ac-complete-mode-map (kbd "C-v") 'ac-page-next)
(define-key ac-complete-mode-map (kbd "M-v") 'ac-page-previous)

便利です.