summaryrefslogtreecommitdiff
path: root/init.el
diff options
context:
space:
mode:
authorKyle Meyer <kyle@kyleam.com>2020-10-12 21:48:59 -0400
committerKyle Meyer <kyle@kyleam.com>2020-12-12 02:07:58 -0500
commit149da2b62045fde28cc712d11d04f611b0163896 (patch)
treee2793870b700a6fcfd00abe4df210372cfff32dd /init.el
parent65fb8ac42e98e8ddbc974ef5426362205daa899f (diff)
downloademacs.d-149da2b62045fde28cc712d11d04f611b0163896.tar.gz
Switch to ivy
I've tried it for a few months and quite happy with it.
Diffstat (limited to 'init.el')
-rw-r--r--init.el177
1 files changed, 46 insertions, 131 deletions
diff --git a/init.el b/init.el
index 116b9ec..26e5d34 100644
--- a/init.el
+++ b/init.el
@@ -594,6 +594,28 @@
(after 'avy
(add-to-list 'avy-dispatch-alist (cons ?w #'km/avy-action-copy-line))))
+(use-package ivy
+ :diminish ivy-mode
+ :config
+ (setq ivy-count-format "(%d/%d) ")
+ (setq ivy-use-virtual-buffers t)
+ (setq ivy-virtual-abbreviate 'abbreviate)
+ (setq ivy-wrap t)
+
+ (define-key ivy-minibuffer-map (kbd "C-'") nil)
+ (define-key ivy-minibuffer-map (kbd "C-.") 'ivy-avy)
+
+ (ivy-mode 1))
+
+(use-package swiper
+ :bind (("M-s k" . swiper)))
+
+(use-package counsel
+ :chords (("jt" . counsel-buffer-or-recentf)
+ ("kx" . counsel-M-x))
+ :bind (("C-c l" . counsel-imenu)
+ ("M-y" . counsel-yank-pop)))
+
;;; Buffers and files
@@ -742,8 +764,8 @@
("t" . projectile-find-implementation-or-test-other-window))
:config
(setq projectile-find-dir-includes-top-level t
- projectile-completion-system 'helm
projectile-use-git-grep t)
+ (setq projectile-completion-system 'ivy)
(defun km/projectile-ignore-directory-p (name)
(or (file-remote-p name)
@@ -773,9 +795,15 @@
(def-projectile-commander-method ?c
"Run project compilation command."
(call-interactively 'projectile-compile-project))
+ (def-projectile-commander-method ?d
+ "Find directory in project."
+ (projectile-find-dir))
(def-projectile-commander-method ?D
"Find a project directory in other window."
(call-interactively 'projectile-find-dir-other-window))
+ (def-projectile-commander-method ?f
+ "Find project file in other window."
+ (call-interactively 'projectile-find-file))
(def-projectile-commander-method ?F
"Find project file in other window."
(call-interactively 'projectile-find-file-other-window))
@@ -788,6 +816,9 @@
(def-projectile-commander-method ?o
"Display a project buffer in other window."
(call-interactively 'projectile-display-buffer))
+ (def-projectile-commander-method ?j
+ "Find tag in project."
+ (projectile-find-tag))
(def-projectile-commander-method ?O
"Run multi-occur on project buffers."
(projectile-multi-occur))
@@ -798,37 +829,7 @@
"Run grep on project."
(call-interactively #'projectile-grep))
- (projectile-global-mode)
- (require 'helm-projectile))
-
-(use-package helm-projectile
- :config
- (bind-keys :map projectile-command-map
- ("b" . helm-projectile-switch-to-buffer)
- ("d" . helm-projectile-find-dir)
- ("f" . helm-projectile-find-file)
- ("F" . helm-projectile-find-file-in-known-projects)
- ("j" . helm-etags-select)
- ("p" . helm-projectile-switch-project)
- ("r" . helm-projectile-recentf))
- (def-projectile-commander-method ?b
- "Find project buffer."
- (call-interactively 'helm-projectile-switch-to-buffer))
- (def-projectile-commander-method ?d
- "Find directory in project."
- (helm-projectile-find-dir))
- (def-projectile-commander-method ?f
- "Open project file."
- (helm-projectile-find-file))
- (def-projectile-commander-method ?j
- "Find project tag."
- (helm-etags-select nil))
- (def-projectile-commander-method ?l
- "Run `helm-projectile-grep'."
- (helm-projectile-grep))
- (def-projectile-commander-method ?p
- "Switch project."
- (helm-projectile-switch-project)))
+ (projectile-global-mode))
(use-package km-projectile
:chords ("gp" . km/projectile-switch-project)
@@ -860,7 +861,17 @@
(km/projectile-view-file-other-window))
(def-projectile-commander-method ?w
"Save thing."
- (call-interactively #'km/projectile-save-thing))))
+ (call-interactively #'km/projectile-save-thing)))
+ :config
+ (after 'elisp-mode
+ (add-hook 'emacs-lisp-mode-hook
+ #'km/projectile-maybe-activate-xref-etags-mode))
+ (after 'scheme
+ (add-hook 'scheme-mode-hook
+ #'km/projectile-maybe-activate-xref-etags-mode))
+ (after 'python
+ (add-hook 'python-mode-hook
+ #'km/projectile-maybe-activate-xref-etags-mode)))
;;; Version control
@@ -1293,104 +1304,6 @@
(define-key km/org-prefix-map "." #'hydra-org-link-edit/body)))
-;;; Helm
-
-(use-package helm
- :config
- (setq helm-move-to-line-cycle-in-source t)
-
- (require 'km-helm)
- (require 'helm-mode))
-
-(use-package helm-config
- :config
- (global-set-key (kbd "C-x c") nil)
- (customize-set-value 'helm-command-prefix-key "C-c h"))
-
-(use-package helm-buffers
- :chords ("jt" . helm-mini))
-
-(use-package helm-files
- :chords ("jc" . helm-find-files)
- :config
- (setq helm-ff-newfile-prompt-p nil
- helm-ff-file-name-history-use-recentf t
- helm-ff-skip-boring-files t))
-
-(use-package helm-tags
- :config
- (advice-add 'helm-etags-all-tag-files
- :override
- (lambda ()
- (--when-let (helm-etags-get-tag-file)
- (list it)))
- '((name . "helm-etags-just-project-tags"))))
-
-(use-package km-helm
- :init
- (after 'helm-files
- (bind-keys :map helm-find-files-map
- ("C-c ." . km/helm-visit-in-dired)
- ("C-c b" . km/helm-find-file-below)
- ("C-c x" . km/helm-ff-org-open-file)
- ("C-c C-o" . km/helm-display-file)))
- (after 'helm-locate
- (bind-keys :map helm-generic-files-map
- ("C-c ." . km/helm-visit-in-dired)
- ("C-c b" . km/helm-find-file-below)
- ("C-c x" . km/helm-ff-org-open-file)
- ("C-c C-o" . km/helm-display-file)))
- (after 'helm-buffers
- (bind-keys :map helm-buffer-map
- ("C-c b" . km/helm-display-buffer-below)
- ("C-c C-o" . km/helm-display-buffer)))
- :config
- (after 'elisp-mode
- (add-hook 'emacs-lisp-mode-hook #'km/helm-maybe-override-xref))
- (after 'scheme
- (add-hook 'scheme-mode-hook #'km/helm-maybe-override-xref))
- (after 'python
- (add-hook 'python-mode-hook #'km/helm-maybe-override-xref)))
-
-(use-package helm-mode
- :diminish helm-mode
- :config
- (helm-mode 1)
-
- (add-to-list 'helm-mode-no-completion-in-region-in-modes 'message-mode))
-
-(use-package helm-command
- :chords ("kx" . helm-M-x))
-
-(use-package helm-swoop
- :init
- (setq helm-swoop-pre-input-function (lambda () ""))
-
- (define-key search-map "k" #'helm-swoop))
-
-(use-package helm-apropos
- :bind ("C-h a" . helm-apropos))
-
-(use-package helm-imenu
- :bind ("C-c l" . helm-imenu))
-
-(use-package helm-man
- :init (define-key km/external-map "m" #'helm-man-woman))
-
-(use-package helm-ring
- :bind (("M-y" . helm-show-kill-ring)
- ("C-x r i" . helm-register))
- :init
- (define-key km/editing-map "m" #'helm-mark-ring))
-
-(use-package helm-bookmark
- :bind ("C-x r b" . helm-bookmarks))
-
-(use-package helm-misc
- :config
- (define-key minibuffer-local-map (kbd "M-r") #'helm-minibuffer-history))
-
-
;;; Expansion
(use-package abbrev
@@ -1656,6 +1569,8 @@
x-select-enable-primary t))
(use-package man
+ :init
+ (define-key km/external-map "m" #'man)
:config
(setq Man-notify-method 'aggressive))