swiper 重新整理配置

(use-package swiper
  :ensure t
  :bind (("C-s" . swiper)
;;   ("C-r" . swiper)
     ("C-c C-r" . ivy-resume)
     ("M-x" . counsel-M-x)
     ("C-x C-f" . counsel-find-file))
  :config
  (progn
    (ivy-mode)
    (setq ivy-use-virtual-buffers t)
    (setq enable-recursive-minibuffers t)
    (setq ivy-display-style 'fancy)
    (define-key minibuffer-local-map (kbd "C-r") 'counsel-minibuffer-history)
    ))

bind 是用来绑定按键的, define-key 指的是,在 minibuffer-local-map 这个模式下,c-r 代表 counsel-minibuffer-history

avy,在搜索的时候,把屏幕上每个匹配的都分配不同的字符,输入相应的字符就可以跳转到对应的位置

;; avy; https://github.com/abo-abo/avy
(use-package avy
  :ensure t
  :bind (("M-s" . avy-goto-char)
     ("M-g f" . avy-goto-line)
     ("M-g w" . avy-goto-word-1)
     ("C-c C-j" . avy-resume)
     ))

注意: 在 c-s 这个正常的搜索模式下,也可以通过 C-c C-j 来标识相应的位置,然后直接跳转,但是跳转了之后,需要用 <esc> <esc> <esc> 来结束,普通的 c-g 很难结束。

如果想直接使用默认的配置,可以这样:

(use-package avy
:ensure t
:config
(avy-setup-default))

参考:

Using Emacs - 7- Navigation with Avy
https://cestlaz.github.io/posts/using-emacs-7-avy/

Emacs入坑之旅——按键(快捷键)绑定的多种方式
https://www.jianshu.com/p/07996a1af7b0

标签: Emacs

添加新评论