diff --git a/emacs/custom.el b/emacs/custom.el index 4717d68..b5fdcf3 100644 --- a/emacs/custom.el +++ b/emacs/custom.el @@ -10,7 +10,7 @@ '(indent-tabs-mode nil) '(mac-option-modifier '(:ordinary meta :function meta :mouse meta)) '(package-selected-packages - '(fzf prescient doom-modeline emms denote-explore denote multi-vterm ox-hugo plz flycheck-projectile ob-go devil realgud projectile dash async yasnippet ace-jump ace-jump-mode async-status cape corfu dired-git dired-git-info embark eshell-toggle eshell-vterm fic-mode flycheck git-lens git-link go-projectile go-scratch graphviz-dot-mode json-mode kotlin-mode lsp-mode magit mmm-mode multi-web-mode multifiles multiple-cursors multishell nerd-icons-completion nerd-icons-corfu nerd-icons-dired nerd-icons-ibuffer orderless org-ai org-context org-dashboard persistent-scratch php-mode plantuml-mode project-explorer projectile-ripgrep protobuf-mode quelpa-use-package rego-mode unicode-fonts vertico vterm-toggle wgrep which-key yaml-mode)) + '(winner-mode fzf prescient doom-modeline emms denote-explore denote multi-vterm ox-hugo plz flycheck-projectile ob-go devil realgud projectile dash async yasnippet ace-jump ace-jump-mode async-status cape corfu dired-git dired-git-info embark eshell-toggle eshell-vterm fic-mode flycheck git-lens git-link go-projectile go-scratch graphviz-dot-mode json-mode kotlin-mode lsp-mode magit mmm-mode multi-web-mode multifiles multiple-cursors multishell nerd-icons-completion nerd-icons-corfu nerd-icons-dired nerd-icons-ibuffer orderless org-ai org-context org-dashboard persistent-scratch php-mode plantuml-mode project-explorer projectile-ripgrep protobuf-mode quelpa-use-package rego-mode unicode-fonts vertico vterm-toggle wgrep which-key yaml-mode)) '(tab-width 4) '(tool-bar-mode nil) '(use-short-answers t)) diff --git a/emacs/init.el b/emacs/init.el index f3f16fe..6bb6f2d 100644 --- a/emacs/init.el +++ b/emacs/init.el @@ -63,7 +63,7 @@ '("BUILD\\'" . python-mode)) (global-set-key (kbd "C-c C-r") 'replace-regexp) (global-set-key (kbd "C-c C-R") 'replace-string) - (global-set-key (kbd "C-") 'multi-vterm-dedicated-toggle) + (global-set-key (kbd "C-=") 'multi-vterm-dedicated-toggle) (global-set-key (kbd "C-") 'speedbar)) (global-set-key (kbd "S-") #'lsp-find-definition) @@ -121,11 +121,11 @@ ;; === (use-package multishell :ensure t :defer t) (use-package vterm-toggle :ensure t - :bind (("C-x ! t v" . #'multi-vterm) - ("C-x ! t n" . #'multi-vterm-next) - ("C-x ! t p" . #'multi-vterm-prev))) + :bind (("C-x C-1 C-t C-v" . #'multi-vterm) + ("C-x C-1 C-t C-n" . #'multi-vterm-next) + ("C-x C-1 C-t C-p" . #'multi-vterm-prev))) (use-package eshell-toggle :ensure t - :bind (("C-x t e" . #'eshell-toggle))) + :bind (("C-x C-1 C-t C-e" . #'eshell-toggle))) (use-package eshell-vterm :ensure t :defer t :init (eshell-vterm-mode 1)) (use-package multi-vterm :ensure t) @@ -166,37 +166,40 @@ (setq denote-backlinks-show-context t) (denote-rename-buffer-mode 1) + ;; denote key bindings + (global-unset-key (kbd "C-x C-n")) (let ((map global-map)) - (define-key map (kbd "C-c n n") #'denote) - (define-key map (kbd "C-c n c") #'denote-region) ; "contents" mnemonic - (define-key map (kbd "C-c n N") #'denote-type) - (define-key map (kbd "C-c n d") #'denote-date) - (define-key map (kbd "C-c n z") #'denote-signature) ; "zettelkasten" mnemonic - (define-key map (kbd "C-c n s") #'denote-subdirectory) - (define-key map (kbd "C-c n t") #'denote-template) + (define-key map (kbd "C-x C-n C-n") #'denote) + (define-key map (kbd "C-x C-n C-c") #'denote-region) ; "contents" mnemonic + (define-key map (kbd "C-x C-n C-S-n") #'denote-type) + (define-key map (kbd "C-x C-n !") #'denote-date) + (define-key map (kbd "C-x C-n C-z") #'denote-signature) ; "zettelkasten" mnemonic + (define-key map (kbd "C-x C-n C-s") #'denote-subdirectory) + (define-key map (kbd "C-x C-n C-t") #'denote-template) ;; If you intend to use Denote with a variety of file types, it is ;; easier to bind the link-related commands to the `global-map', as ;; shown here. Otherwise follow the same pattern for `org-mode-map', ;; `markdown-mode-map', and/or `text-mode-map'. - (define-key map (kbd "C-c n i") #'denote-link) ; "insert" mnemonic - (define-key map (kbd "C-c n I") #'denote-add-links) - (define-key map (kbd "C-c n b") #'denote-backlinks) - (define-key map (kbd "C-c n l f") #'denote-find-link) - (define-key map (kbd "C-c n l b") #'denote-find-backlink) + (define-key map (kbd "C-x C-n C-i") #'denote-link) ; "insert" mnemonic + (define-key map (kbd "C-x C-n C-I") #'denote-add-links) + (define-key map (kbd "C-x C-n C-S-b") #'denote-backlinks) + (define-key map (kbd "C-x C-n C-l C-f") #'denote-find-link) + (define-key map (kbd "C-x C-n C-l C-b") #'denote-find-backlink) ;; Note that `denote-rename-file' can work from any context, not just ;; Dired bufffers. That is why we bind it here to the `global-map'. - (define-key map (kbd "C-c n r") #'denote-rename-file) - (define-key map (kbd "C-c n R") #'denote-rename-file-using-front-matter)) + (define-key map (kbd "C-x C-n C-r") #'denote-rename-file) + (define-key map (kbd "C-x C-n C-S-r") #'denote-rename-file-using-front-matter)) - (global-set-key (kbd "C-c n f") #'denote-open-or-create) + (global-set-key (kbd "C-x C-n C-f") #'denote-open-or-create) ;; Key bindings specifically for Dired. (let ((map dired-mode-map)) - (define-key map (kbd "C-c C-d C-i") #'denote-link-dired-marked-notes) - (define-key map (kbd "C-c C-d C-r") #'denote-dired-rename-files) - (define-key map (kbd "C-c C-d C-k") #'denote-dired-rename-marked-files-with-keywords) - (define-key map (kbd "C-c C-d C-R") #'denote-dired-rename-marked-files-using-front-matter)) + (define-key map (kbd "C-x C-n C-d") #'denote-dired-mode) + (define-key map (kbd "C-x C-n C-i") #'denote-link-dired-marked-notes) + (define-key map (kbd "C-x C-n C-r") #'denote-dired-rename-files) + (define-key map (kbd "C-x C-n C-k") #'denote-dired-rename-marked-files-with-keywords) + (define-key map (kbd "C-x C-n C-S-r") #'denote-dired-rename-marked-files-using-front-matter)) (with-eval-after-load 'org-capture (setq denote-org-capture-specifiers "%l\n%i\n%?") @@ -214,17 +217,17 @@ ;; === (use-package projectile :ensure t :defer t :bind (:map projectile-mode-map - ("C-c p" . projectile-command-map) - ("C-c p f" . #'projectile-find-file) - ("C-c p p" . #'projectile-switch-project) - ("C-c p /" . #'projectile-ripgrep) - ("C-c p b" . #'projectile-switch-to-buffer) - ("C-c p 4 b" . #'projectile-switch-to-buffer-other-window) - ("C-c p 5 b" . #'projectile-switch-to-buffer-other-frame) - ("C-c p d" . #'projectile-dired) - ("C-c p 4 d" . #'projectile-dired-other-window) - ("C-c p 4 d" . #'projectile-dired-other-frame) - ("C-c p x v" . #'multi-vterm-project)) + ("C-c C-p" . projectile-command-map) + ("C-c C-p C-f" . #'projectile-find-file) + ("C-c C-p C-p" . #'projectile-switch-project) + ("C-c C-p C-/" . #'projectile-ripgrep) + ("C-c C-p C-b" . #'projectile-switch-to-buffer) + ("C-c C-p C-4 C-b" . #'projectile-switch-to-buffer-other-window) + ("C-c C-p C-5 C-b" . #'projectile-switch-to-buffer-other-frame) + ("C-c C-p C-d" . #'projectile-dired) + ("C-c C-p C-4 C-d" . #'projectile-dired-other-window) + ("C-c C-p C-4 C-d" . #'projectile-dired-other-frame) + ("C-c C-p C-v" . #'multi-vterm-project)) :diminish projectile-mode :init (projectile-mode)) @@ -237,7 +240,7 @@ ;; version control ;; === (use-package magit :ensure t :defer t - :bind ("C-c g" . magit-status) + :bind ("C-c C-g" . magit-status) :commands (magit-status-here magit-get-current-branch) :custom (magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1)) @@ -434,3 +437,8 @@ ;; api testing ;; === (use-package plz :ensure t) + +;; window management +;; === +(use-package winner-mode :ensure t + :init (winner-mode 1))