Projectile and Magit


(use-package projectile
  :diminish projectile-mode
  :config (projectile-mode)
  ("C-c p" . projectile-command-map)
  (when (file-directory-p "~/Projects/Code")
    (setq projectile-project-search-path '("~/Projects/Code")))
  (setq projectile-switch-project-action #'projectile-dired))

Projectile on GitHub Projectile Manual Projectile Manual - Project Settings Emacs Manual: Directory-Local Variables

  • Run project C-c p u
  • Run tests: C-c p P
  • Edit dir-locals: C-c p E (reload with hack-dir-local-variables-non-file-buffer)


counsel-projectile on GitHub

(use-package counsel-projectile
 :after projectile
 (counsel-projectile-mode 1))
  • Advanced project switching: C-c p p
  • Quick searching with counsel-projectile-rg - C-c p s r
    • Results to buffer with C-c C-o


Magit on GitHub Magit Official Site Magit Manual

(use-package magit
  :commands (magit-status magit-get-current-branch)
  (magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1))

(use-package evil-magit
  :after magit)


Run magit-status in buffer from Git repo, press ? for command panel.

Refresh buffer with g r

  • Diffs
  • Commit log
  • Blame
  • Stashes
  • Branches
  • Rebase
  • Pull/push


Forge on GitHub Forge Manual

Important: Instructions to set up your GitHub token

(use-package forge)
Subscribe to the System Crafters Newsletter!
Stay up to date with the latest System Crafters news and updates! Read the Newsletter page for more information.
Name (optional)
Email Address