emacs Mike Zamansky 07
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