Replace treemacs, add groups to tabs
This commit is contained in:
parent
a2f56f0dc5
commit
3fb73b6888
223
.emacs
223
.emacs
|
@ -108,10 +108,10 @@
|
||||||
|
|
||||||
(use-package verb)
|
(use-package verb)
|
||||||
|
|
||||||
(use-package org
|
(use-package dashboard
|
||||||
:after verb
|
:ensure t
|
||||||
:mode ("\\.org\\'" . org-mode)
|
:config
|
||||||
:config (define-key org-mode-map (kbd "C-c C-r") verb-command-map))
|
(dashboard-setup-startup-hook))
|
||||||
|
|
||||||
(use-package doom-themes
|
(use-package doom-themes
|
||||||
:ensure t
|
:ensure t
|
||||||
|
@ -126,22 +126,200 @@
|
||||||
(doom-themes-org-config))
|
(doom-themes-org-config))
|
||||||
|
|
||||||
(use-package all-the-icons)
|
(use-package all-the-icons)
|
||||||
(use-package neotree
|
|
||||||
:config
|
|
||||||
(global-set-key [f8] 'neotree-toggle))
|
|
||||||
|
|
||||||
(use-package dashboard
|
(use-package treemacs
|
||||||
:ensure t
|
:ensure t
|
||||||
|
:defer t
|
||||||
|
:init
|
||||||
|
(with-eval-after-load 'winum
|
||||||
|
(define-key winum-keymap (kbd "M-0") #'treemacs-select-window))
|
||||||
:config
|
:config
|
||||||
(dashboard-setup-startup-hook))
|
(progn
|
||||||
|
(setq treemacs-collapse-dirs (if treemacs-python-executable 3 0)
|
||||||
|
treemacs-deferred-git-apply-delay 0.5
|
||||||
|
treemacs-directory-name-transformer #'identity
|
||||||
|
treemacs-display-in-side-window t
|
||||||
|
treemacs-eldoc-display 'simple
|
||||||
|
treemacs-file-event-delay 2000
|
||||||
|
treemacs-file-extension-regex treemacs-last-period-regex-value
|
||||||
|
treemacs-file-follow-delay 0.2
|
||||||
|
treemacs-file-name-transformer #'identity
|
||||||
|
treemacs-follow-after-init t
|
||||||
|
treemacs-expand-after-init t
|
||||||
|
treemacs-find-workspace-method 'find-for-file-or-pick-first
|
||||||
|
treemacs-git-command-pipe ""
|
||||||
|
treemacs-goto-tag-strategy 'refetch-index
|
||||||
|
treemacs-header-scroll-indicators '(nil . "^^^^^^")
|
||||||
|
treemacs-hide-dot-git-directory t
|
||||||
|
treemacs-indentation 2
|
||||||
|
treemacs-indentation-string " "
|
||||||
|
treemacs-is-never-other-window nil
|
||||||
|
treemacs-max-git-entries 5000
|
||||||
|
treemacs-missing-project-action 'ask
|
||||||
|
treemacs-move-forward-on-expand nil
|
||||||
|
treemacs-no-png-images nil
|
||||||
|
treemacs-no-delete-other-windows t
|
||||||
|
treemacs-project-follow-cleanup nil
|
||||||
|
treemacs-persist-file (expand-file-name ".cache/treemacs-persist" user-emacs-directory)
|
||||||
|
treemacs-position 'left
|
||||||
|
treemacs-read-string-input 'from-child-frame
|
||||||
|
treemacs-recenter-distance 0.1
|
||||||
|
treemacs-recenter-after-file-follow nil
|
||||||
|
treemacs-recenter-after-tag-follow nil
|
||||||
|
treemacs-recenter-after-project-jump 'always
|
||||||
|
treemacs-recenter-after-project-expand 'on-distance
|
||||||
|
treemacs-litter-directories '("/node_modules" "/.venv" "/.cask")
|
||||||
|
treemacs-project-follow-into-home nil
|
||||||
|
treemacs-show-cursor nil
|
||||||
|
treemacs-show-hidden-files t
|
||||||
|
treemacs-silent-filewatch nil
|
||||||
|
treemacs-silent-refresh nil
|
||||||
|
treemacs-sorting 'alphabetic-asc
|
||||||
|
treemacs-select-when-already-in-treemacs 'move-back
|
||||||
|
treemacs-space-between-root-nodes t
|
||||||
|
treemacs-tag-follow-cleanup t
|
||||||
|
treemacs-tag-follow-delay 1.5
|
||||||
|
treemacs-text-scale nil
|
||||||
|
treemacs-user-mode-line-format nil
|
||||||
|
treemacs-user-header-line-format nil
|
||||||
|
treemacs-wide-toggle-width 70
|
||||||
|
treemacs-width 35
|
||||||
|
treemacs-width-increment 1
|
||||||
|
treemacs-width-is-initially-locked t
|
||||||
|
treemacs-workspace-switch-cleanup nil)
|
||||||
|
|
||||||
|
;; The default width and height of the icons is 22 pixels. If you are
|
||||||
|
;; using a Hi-DPI display, uncomment this to double the icon size.
|
||||||
|
;;(treemacs-resize-icons 44)
|
||||||
|
|
||||||
|
(treemacs-follow-mode t)
|
||||||
|
(treemacs-filewatch-mode t)
|
||||||
|
(treemacs-fringe-indicator-mode 'always)
|
||||||
|
(when treemacs-python-executable
|
||||||
|
(treemacs-git-commit-diff-mode t))
|
||||||
|
|
||||||
|
(pcase (cons (not (null (executable-find "git")))
|
||||||
|
(not (null treemacs-python-executable)))
|
||||||
|
(`(t . t)
|
||||||
|
(treemacs-git-mode 'deferred))
|
||||||
|
(`(t . _)
|
||||||
|
(treemacs-git-mode 'simple)))
|
||||||
|
|
||||||
|
(treemacs-hide-gitignored-files-mode nil))
|
||||||
|
:bind
|
||||||
|
(:map global-map
|
||||||
|
("M-0" . treemacs-select-window)
|
||||||
|
("C-x t 1" . treemacs-delete-other-windows)
|
||||||
|
("C-x t t" . treemacs)
|
||||||
|
("C-x t d" . treemacs-select-directory)
|
||||||
|
("C-x t B" . treemacs-bookmark)
|
||||||
|
("C-x t C-t" . treemacs-find-file)
|
||||||
|
("C-x t M-t" . treemacs-find-tag)))
|
||||||
|
|
||||||
|
(use-package treemacs-evil
|
||||||
|
:after (treemacs evil)
|
||||||
|
:ensure t)
|
||||||
|
|
||||||
|
(use-package treemacs-projectile
|
||||||
|
:after (treemacs projectile)
|
||||||
|
:ensure t)
|
||||||
|
|
||||||
|
(use-package treemacs-icons-dired
|
||||||
|
:hook (dired-mode . treemacs-icons-dired-enable-once)
|
||||||
|
:ensure t)
|
||||||
|
|
||||||
|
(use-package treemacs-magit
|
||||||
|
:after (treemacs magit)
|
||||||
|
:ensure t)
|
||||||
|
|
||||||
|
(use-package treemacs-persp ;;treemacs-perspective if you use perspective.el vs. persp-mode
|
||||||
|
:after (treemacs persp-mode) ;;or perspective vs. persp-mode
|
||||||
|
:ensure t
|
||||||
|
:config (treemacs-set-scope-type 'Perspectives))
|
||||||
|
|
||||||
|
(use-package treemacs-tab-bar ;;treemacs-tab-bar if you use tab-bar-mode
|
||||||
|
:after (treemacs)
|
||||||
|
:ensure t
|
||||||
|
:config (treemacs-set-scope-type 'Tabs))
|
||||||
|
|
||||||
|
|
||||||
(use-package centaur-tabs
|
(use-package centaur-tabs
|
||||||
:demand
|
:init
|
||||||
|
(setq centaur-tabs-enable-key-bindings t)
|
||||||
:config
|
:config
|
||||||
|
(setq centaur-tabs-style "bar"
|
||||||
|
centaur-tabs-height 32
|
||||||
|
centaur-tabs-set-icons t
|
||||||
|
centaur-tabs-show-new-tab-button t
|
||||||
|
centaur-tabs-set-modified-marker t
|
||||||
|
centaur-tabs-show-navigation-buttons t
|
||||||
|
centaur-tabs-set-bar 'under
|
||||||
|
centaur-tabs-show-count nil
|
||||||
|
;; centaur-tabs-label-fixed-length 15
|
||||||
|
;; centaur-tabs-gray-out-icons 'buffer
|
||||||
|
;; centaur-tabs-plain-icons t
|
||||||
|
x-underline-at-descent-line t
|
||||||
|
centaur-tabs-left-edge-margin nil)
|
||||||
|
(centaur-tabs-change-fonts (face-attribute 'default :font) 110)
|
||||||
|
(centaur-tabs-headline-match)
|
||||||
|
;; (centaur-tabs-enable-buffer-alphabetical-reordering)
|
||||||
|
;; (setq centaur-tabs-adjust-buffer-order t)
|
||||||
(centaur-tabs-mode t)
|
(centaur-tabs-mode t)
|
||||||
|
(setq uniquify-separator "/")
|
||||||
|
(setq uniquify-buffer-name-style 'forward)
|
||||||
|
(defun centaur-tabs-buffer-groups ()
|
||||||
|
"`centaur-tabs-buffer-groups' control buffers' group rules.
|
||||||
|
|
||||||
|
Group centaur-tabs with mode if buffer is derived from `eshell-mode' `emacs-lisp-mode' `dired-mode' `org-mode' `magit-mode'.
|
||||||
|
All buffer name start with * will group to \"Emacs\".
|
||||||
|
Other buffer group by `centaur-tabs-get-group-name' with project name."
|
||||||
|
(list
|
||||||
|
(cond
|
||||||
|
;; ((not (eq (file-remote-p (buffer-file-name)) nil))
|
||||||
|
;; "Remote")
|
||||||
|
((or (string-equal "*" (substring (buffer-name) 0 1))
|
||||||
|
(memq major-mode '(magit-process-mode
|
||||||
|
magit-status-mode
|
||||||
|
magit-diff-mode
|
||||||
|
magit-log-mode
|
||||||
|
magit-file-mode
|
||||||
|
magit-blob-mode
|
||||||
|
magit-blame-mode
|
||||||
|
)))
|
||||||
|
"Emacs")
|
||||||
|
((derived-mode-p 'prog-mode)
|
||||||
|
"Editing")
|
||||||
|
((derived-mode-p 'dired-mode)
|
||||||
|
"Dired")
|
||||||
|
((memq major-mode '(helpful-mode
|
||||||
|
help-mode))
|
||||||
|
"Help")
|
||||||
|
((memq major-mode '(org-mode
|
||||||
|
org-agenda-clockreport-mode
|
||||||
|
org-src-mode
|
||||||
|
org-agenda-mode
|
||||||
|
org-beamer-mode
|
||||||
|
org-indent-mode
|
||||||
|
org-bullets-mode
|
||||||
|
org-cdlatex-mode
|
||||||
|
org-agenda-log-mode
|
||||||
|
diary-mode))
|
||||||
|
"OrgMode")
|
||||||
|
(t
|
||||||
|
(centaur-tabs-get-group-name (current-buffer))))))
|
||||||
|
:hook
|
||||||
|
(dashboard-mode . centaur-tabs-local-mode)
|
||||||
|
(term-mode . centaur-tabs-local-mode)
|
||||||
|
(calendar-mode . centaur-tabs-local-mode)
|
||||||
|
(org-agenda-mode . centaur-tabs-local-mode)
|
||||||
:bind
|
:bind
|
||||||
("C-<prior>" . centaur-tabs-backward)
|
("C-<prior>" . centaur-tabs-backward)
|
||||||
("C-<next>" . centaur-tabs-forward))
|
("C-<next>" . centaur-tabs-forward)
|
||||||
|
("C-S-<prior>" . centaur-tabs-move-current-tab-to-left)
|
||||||
|
("C-S-<next>" . centaur-tabs-move-current-tab-to-right)
|
||||||
|
(:map evil-normal-state-map
|
||||||
|
("g t" . centaur-tabs-forward)
|
||||||
|
("g T" . centaur-tabs-backward)))
|
||||||
|
|
||||||
(use-package undo-tree
|
(use-package undo-tree
|
||||||
:config (global-undo-tree-mode 1)
|
:config (global-undo-tree-mode 1)
|
||||||
|
@ -214,8 +392,8 @@
|
||||||
(use-package desktop)
|
(use-package desktop)
|
||||||
(use-package magit)
|
(use-package magit)
|
||||||
(use-package magit-lfs
|
(use-package magit-lfs
|
||||||
:ensure t
|
:ensure t
|
||||||
:pin melpa)
|
:pin melpa)
|
||||||
(use-package forge
|
(use-package forge
|
||||||
:after magit)
|
:after magit)
|
||||||
(use-package ripgrep)
|
(use-package ripgrep)
|
||||||
|
@ -265,6 +443,22 @@
|
||||||
(electric-pair-mode 1)
|
(electric-pair-mode 1)
|
||||||
(setf electric-pair-skip-self nil)
|
(setf electric-pair-skip-self nil)
|
||||||
|
|
||||||
|
(require 'display-line-numbers)
|
||||||
|
|
||||||
|
(defcustom display-line-numbers-exempt-modes
|
||||||
|
'(vterm-mode eshell-mode shell-mode term-mode ansi-term-mode)
|
||||||
|
"Major modes on which to disable line numbers."
|
||||||
|
:group 'display-line-numbers
|
||||||
|
:type 'list
|
||||||
|
:version "green")
|
||||||
|
|
||||||
|
(defun display-line-numbers--turn-on ()
|
||||||
|
"Turn on line numbers except for certain major modes.
|
||||||
|
Exempt major modes are defined in `display-line-numbers-exempt-modes'."
|
||||||
|
(unless (or (minibufferp)
|
||||||
|
(member major-mode display-line-numbers-exempt-modes))
|
||||||
|
(display-line-numbers-mode)))
|
||||||
|
|
||||||
(global-set-key [f11] 'toggle-frame-fullscreen)
|
(global-set-key [f11] 'toggle-frame-fullscreen)
|
||||||
(global-set-key (kbd "C-s") 'ripgrep-regexp)
|
(global-set-key (kbd "C-s") 'ripgrep-regexp)
|
||||||
(global-set-key (kbd "C-,") 'move-to-previous-window)
|
(global-set-key (kbd "C-,") 'move-to-previous-window)
|
||||||
|
@ -273,8 +467,7 @@
|
||||||
(global-set-key (kbd "C-M-i") 'xref-pop-marker-stack)
|
(global-set-key (kbd "C-M-i") 'xref-pop-marker-stack)
|
||||||
|
|
||||||
(global-column-enforce-mode)
|
(global-column-enforce-mode)
|
||||||
(global-linum-mode)
|
(global-display-line-numbers-mode)
|
||||||
|
|
||||||
|
|
||||||
(scroll-bar-mode -1)
|
(scroll-bar-mode -1)
|
||||||
(tool-bar-mode -1)
|
(tool-bar-mode -1)
|
||||||
|
|
Loading…
Reference in New Issue