summaryrefslogtreecommitdiff
path: root/emacs/custom/fcuny-navigation.el
diff options
context:
space:
mode:
Diffstat (limited to 'emacs/custom/fcuny-navigation.el')
-rw-r--r--emacs/custom/fcuny-navigation.el128
1 files changed, 128 insertions, 0 deletions
diff --git a/emacs/custom/fcuny-navigation.el b/emacs/custom/fcuny-navigation.el
new file mode 100644
index 0000000..49309a5
--- /dev/null
+++ b/emacs/custom/fcuny-navigation.el
@@ -0,0 +1,128 @@
+(require 'fcuny-vars)
+
+(use-package bookmark
+ :custom
+ (bookmark-default-file (expand-file-name "bookmarks" fcuny/path-emacs-var))
+ (bookmark-save-flag 1))
+
+(use-package ls-lisp
+ :ensure nil
+ :custom
+ (ls-lisp-use-insert-directory-program nil)
+ (ls-lisp-dirs-first t))
+
+(use-package dired
+ :defer t
+ :bind (("C-x C-d" . dired)
+ ("C-x C-j" . dired-jump))
+ :init
+ (setq-default dired-dwim-target t)
+ (setq-default dired-listing-switches "-alh")
+ (setq dired-recursive-deletes 'always)
+ (setq dired-recursive-copies 'always))
+
+(use-package dired-x
+ :ensure nil
+ :config
+ (progn
+ (setq dired-omit-verbose nil)
+ ;; hide backup, autosave, *.*~ files
+ ;; omit mode can be toggled using `C-x M-o' in dired buffer.
+ (add-hook 'dired-mode-hook #'dired-omit-mode)
+ (setq dired-omit-files
+ (concat dired-omit-files "\\|^.DS_Store$\\|^.localized$\\|^.projectile$\\|^.git$"))))
+
+(use-package ibuffer
+ :bind ("C-x C-b" . ibuffer)
+ :custom
+ (ibuffer-saved-filter-groups
+ (quote (("default"
+ ("org" (mode . org-mode))
+ ("go" (mode . go-mode))
+ ("python" (mode . python-mode))
+ ("config" (or
+ (name . "\\.conf$")
+ (name . "\\.json$")
+ (mode . yaml-mode)))
+ ("puppet" (or
+ (mode . "\\.erb$")
+ (mode . puppet-mode)))
+ ("scripts" (mode . sh-mode))
+ ("documentation" (or
+ (mode . markdown-mode)
+ (mode . rst-mode)))
+ ("dired" (mode . dired-mode))
+ ("Emacs" (or
+ (mode . emacs-lisp-mode)
+ (name . "^\\*scratch\\*$")
+ (name . "^\\.emacs")
+ (name . "^\\*Messages\\*$")))))))
+ :init
+ (add-hook 'ibuffer-mode-hook (lambda () (ibuffer-switch-to-saved-filter-groups "default"))))
+
+(use-package recentf
+ :init (recentf-mode 1)
+ :config
+ (add-to-list 'recentf-exclude "\\.emacs.d")
+ (add-to-list 'recentf-exclude ".+tmp......\\.org")
+ (setq recentf-max-saved-items 500
+ recentf-save-file (expand-file-name "var/recentf" user-emacs-directory)))
+
+(use-package rg
+ :ensure t
+ :custom
+ (rg-group-result t)
+ (rg-show-columns t)
+ (rg-align-position-numbers t)
+ (rg-align-line-number-field-length 3)
+ (rg-align-column-number-field-length 3)
+ (rg-align-line-column-separator "#")
+ (rg-align-position-content-separator "|"))
+
+(use-package counsel
+ :diminish counsel-mode
+ :ensure t
+ :after ivy
+ :init (counsel-mode 1)
+ :bind
+ (("M-x" . counsel-M-x)
+ ("C-x C-f" . counsel-find-file)
+ ("C-x C-r" . counsel-recentf)
+ ("C-c i " . counsel-imenu)
+ ("C-c f" . counsel-git)
+ ("C-c /" . counsel-rg)
+ ("C-x r l" . counsel-bookmark))
+ :custom
+ (counsel-find-file-ignore-regexp "\\.git\\|\\.DS_Store\\|\\.localized\\'")
+ (counsel-find-file-at-point t))
+
+(use-package ivy
+ :ensure t
+ :diminish ivy-mode
+ :init (ivy-mode 1)
+ :custom
+ (ivy-use-virtual-buffers t)
+ (ivy-count-format "(%d/%d) ")
+ (ivy-height 20)
+ (ivy-use-selectable-prompt t)
+ :bind (("C-x b" . ivy-switch-buffer)
+ ("C-s" . swiper)))
+
+(use-package ivy-rich
+ :ensure t
+ :after (ivy)
+ :config
+ (ivy-rich-mode 1)
+ :custom
+ (ivy-extra-directories '("../" "./"))
+ (ivy-virtual-abbreviate 'full)
+ (ivy-rich-switch-buffer-align-virtual-buffer t)
+ (ivy-rich-path-style 'abbrev))
+
+(use-package which-key
+ :diminish which-key-mode
+ :ensure t
+ :config
+ (which-key-mode))
+
+(provide 'fcuny-navigation)