If you keep Emacs open all the time you end up accumulating lots of buffers. That can make navigating a little bit awkward.
Here's my configuration:
;; projectile (use-package projectile :ensure t :config (projectile-global-mode) (setq projectile-completion-system 'ivy)) (use-package counsel-projectile :ensure t :config (counsel-projectile-on))
Projectile considers a sub-directory tree to be a project if it's a git or other source control repo, if it's created by tool like lein, maven, or sbt, or if you put an empty file named **.projectile** in the root directory of the project.
Projectile learns about projects when you open a file in that project and then stores that information in an Emacs bookmark file in your .emacs.d directory.
You can switch between projects using
C-c p and when in a project,
load another file using
C-c f. If you use the which-key package
as I do, just type
C-c - the projectile prefix and then which-key
will bring up help.
The video goes through some of my favorite features and you can find the full documentation can be found here.
The other package I show is dumb-jump. It's basically a zero (or almost zero) configuration tags replacement. Really nice.
Here's my current config:
(use-package dumb-jump :bind (("M-g o" . dumb-jump-go-other-window) ("M-g j" . dumb-jump-go) ("M-g x" . dumb-jump-go-prefer-external) ("M-g z" . dumb-jump-go-prefer-external-other-window)) :config (setq dumb-jump-selector 'ivy) ;; (setq dumb-jump-selector 'helm) :ensure) :config ;; (setq dumb-jump-selector 'ivy) ;; (setq dumb-jump-selector 'helm) :init (dumb-jump-mode) :ensure )
- Video series overview page: