;; ==========12.ivy==========;; -*- lexical-binding: t; -*-

(use-package ivy
  :ensure t
  ;;    :bind ;;用绑定的按键和命令启动ivy。
  ;;    ("C-x b" . ivy-switch-buffer)
  ;;  ("M-x" . counsel-M-x)
  ;;  ("C-x C-b" . counsel-ibuffer)
  ;;  ("C-s" . swiper)
  ;;  ("C-x C-f" . counsel-find-file)
  ;;    :hook
  ;;    (after-change-major-mode . ivy-mode)
  :defer t
  :config
  (setq ivy-use-virtual-buffers t
        ivy-magic-tilde nil
        ivy-count-format "(%d/%d) "
        ivy-re-builders-alist '((t . ivy--regex-plus))
        ivy-dynamic-exhibit-delay-ms 150
        ivy-di1splay-style 'fancy
        ivy-use-selectable-prompt t)
  ;; ivy done as "ido"
  (define-key ivy-minibuffer-map (kbd "RET") #'ivy-alt-done)
  ;; ivy move select 
  (define-key ivy-minibuffer-map (kbd "<up>") #'ivy-previous-line-or-history)
  (define-key ivy-minibuffer-map (kbd "<down>") #'ivy-next-line-or-history)
  (ivy-mode 1))

(message "Loading Ivy-mode...DONE")
(provide 'init-ivy)

;;; init-ivy.el ends here
