fix(emacs): Fix some keymaps

This commit is contained in:
js0ny 2025-02-09 15:00:20 +00:00
parent db94167c59
commit 1a1c8707ce
7 changed files with 89 additions and 87 deletions

View file

@ -22,7 +22,7 @@
;; accept. For example: ;; accept. For example:
;; ;;
(setq doom-font (font-spec :family "Iosevka Nerd Font Propo" :size 14 :weight 'semi-light) (setq doom-font (font-spec :family "Iosevka Nerd Font Propo" :size 14 :weight 'semi-light)
doom-variable-pitch-font (font-spec :family "JetBrainsMono Nerd Font" :size 13)) doom-variable-pitch-font (font-spec :family "JetBrainsMono Nerd Font" :size 13))
;; ;;
;; If you or Emacs can't find your font, use 'M-x describe-font' to look them ;; If you or Emacs can't find your font, use 'M-x describe-font' to look them
;; up, `M-x eval-region' to execute elisp code, and 'M-x doom/reload-font' to ;; up, `M-x eval-region' to execute elisp code, and 'M-x doom/reload-font' to
@ -40,10 +40,6 @@
(setq display-line-numbers-type 'relative) (setq display-line-numbers-type 'relative)
;; If you use `org' and don't want your org files in the default location below,
;; change `org-directory'. It must be set before org loads!
(setq org-directory "~/OrgFiles/")
(setq org-roam-directory "~/OrgFiles/roam/")
;; Whenever you reconfigure a package, make sure to wrap your config in an ;; Whenever you reconfigure a package, make sure to wrap your config in an
@ -78,35 +74,12 @@
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how ;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
;; they are implemented. ;; they are implemented.
(load! "keymaps.el")
(after! treemacs
(map! :map evil-treemacs-state-map
;; 导航
"n" #'treemacs-next-line
"e" #'treemacs-previous-line
"N" #'treemacs-next-neighbour
"E" #'treemacs-previous-neighbour
"H" #'treemacs-toggle-show-dotfiles
"I" #'treemacs-hide-gitignored-files-mode
"i" #'treemacs-RET-action
"a" #'treemacs-create-file
"A" #'treemacs-create-dir
"c" #'treemacs-copy-file
"d" #'treemacs-delete-file
"r" #'treemacs-rename-file
"q" #'treemacs-quit
"y" #'treemacs-copy-relative-path-at-point
"Y" #'treemacs-copy-absolute-path-at-point
"m" #'treemacs-mark-or-unmark-path-at-point
))
(after! wakatime-mode (after! wakatime-mode
(global-wakatime-mode) (global-wakatime-mode)
(setq wakatime-cli-path "~/.local/bin/wakatime")) (setq wakatime-cli-path "~/.local/bin/wakatime"))
(load! "evil.el")
(load! "treemacs.el")
(load! "org.el") (load! "org.el")

View file

@ -4,7 +4,7 @@
;; Your init file should contain only one such instance. ;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right. ;; If there is more than one, they won't work right.
'(custom-safe-themes '(custom-safe-themes
'("3c08da65265d80a7c8fc99fe51df3697d0fa6786a58a477a1b22887b4f116f62" "df6dfd55673f40364b1970440f0b0cb8ba7149282cf415b81aaad2d98b0f0290" "0325a6b5eea7e5febae709dab35ec8648908af12cf2d2b569bedc8da0a3a81c1" "d6b934330450d9de1112cbb7617eaf929244d192c4ffb1b9e6b63ad574784aad" "56044c5a9cc45b6ec45c0eb28df100d3f0a576f18eef33ff8ff5d32bac2d9700" "2b501400e19b1dd09d8b3708cefcb5227fda580754051a24e8abf3aff0601f87" default))) '("e4a702e262c3e3501dfe25091621fe12cd63c7845221687e36a79e17cf3a67e0" "456697e914823ee45365b843c89fbc79191fdbaff471b29aad9dcbe0ee1d5641" "3c08da65265d80a7c8fc99fe51df3697d0fa6786a58a477a1b22887b4f116f62" "df6dfd55673f40364b1970440f0b0cb8ba7149282cf415b81aaad2d98b0f0290" "0325a6b5eea7e5febae709dab35ec8648908af12cf2d2b569bedc8da0a3a81c1" "d6b934330450d9de1112cbb7617eaf929244d192c4ffb1b9e6b63ad574784aad" "56044c5a9cc45b6ec45c0eb28df100d3f0a576f18eef33ff8ff5d32bac2d9700" "2b501400e19b1dd09d8b3708cefcb5227fda580754051a24e8abf3aff0601f87" default)))
(custom-set-faces (custom-set-faces
;; custom-set-faces was added by Custom. ;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful. ;; If you edit it by hand, you could mess it up, so be careful.
@ -12,3 +12,4 @@
;; If there is more than one, they won't work right. ;; If there is more than one, they won't work right.
'(org-verbatim ((t (:foreground "orange"))))) '(org-verbatim ((t (:foreground "orange")))))
(put 'customize-face 'disabled nil) (put 'customize-face 'disabled nil)
(put 'customize-variable 'disabled nil)

15
tools/doom/evil.el Normal file
View file

@ -0,0 +1,15 @@
(map!
:nvm "l" 'evil-insert
:nvm "L" 'evil-insert-line
:nvm "k" 'evil-ex-search-next
:nvm "K" 'evil-ex-search-previous
:nvom "j" 'evil-forward-word-end
:nvom "J" 'evil-forward-WORD-end
:nvom "n" 'evil-next-line
:nvom "e" 'evil-previous-line
:nvom "i" 'evil-forward-char
:nv "H" 'evil-prev-buffer
:nv "I" 'evil-next-buffer
:nvom "N" '(lambda () (interactive) (evil-next-line 5)) ; 5n
:nvom "E" '(lambda () (interactive) (evil-previous-line 5)) ; 5e
)

View file

@ -56,10 +56,10 @@
(evil +everywhere); come to the dark side, we have cookies (evil +everywhere); come to the dark side, we have cookies
file-templates ; auto-snippets for empty files file-templates ; auto-snippets for empty files
fold ; (nigh) universal code folding fold ; (nigh) universal code folding
;;(format +onsave) ; automated prettiness (format +onsave) ; automated prettiness
;;god ; run Emacs commands without modifier keys ;;god ; run Emacs commands without modifier keys
;;lispy ; vim for lisp, for people who don't like vim ;;lispy ; vim for lisp, for people who don't like vim
;;multiple-cursors ; editing in many places at once multiple-cursors ; editing in many places at once
;;objed ; text object editing for the innocent ;;objed ; text object editing for the innocent
;;parinfer ; turn lisp into python, sort of ;;parinfer ; turn lisp into python, sort of
;;rotate-text ; cycle region at point between text candidates ;;rotate-text ; cycle region at point between text candidates

View file

@ -1,30 +0,0 @@
(map! :nv "l" 'evil-insert
:nv "L" 'evil-insert-line
:nv "k" 'evil-ex-search-next
:nv "K" 'evil-ex-search-previous
:nv "n" 'evil-next-line
:nv "e" 'evil-previous-line
:nv "i" 'evil-forward-char
)
(evil-define-key '(normal visual operator) 'global
;; To see the keybindings, use <C-h> k then type the key
"n" 'evil-next-line
"e" 'evil-previous-line
"i" 'evil-forward-char
"l" 'evil-insert
"L" 'evil-insert-0-line
"k" 'evil-search-next
"K" 'evil-search-previous
"j" 'evil-forward-word-end
"J" 'evil-forward-WORD-end
"N" '(lambda () (interactive) (evil-next-line 5)) ; 5n
"E" '(lambda () (interactive) (evil-previous-line 5)) ; 5e
"H" 'switch-to-prev-buffer
"I" 'switch-to-next-buffer
)
;; (evil-define-key evil-org-mode-map (kbd "I") 'evil-prev-buffer)
;;
(evil-define-key '(normal visual operator) evil-org-mode-map (kbd "I") 'evil-next-buffer)

View file

@ -1,37 +1,57 @@
;; If you use `org' and don't want your org files in the default location below,
;; change `org-directory'. It must be set before org loads!
(setq org-directory "~/OrgFiles/")
(setq org-roam-directory "~/OrgFiles/roam/")
;; For CJK users
;; Insert zero width space around the emphasis symbols, this might be useful for
;; languages that does not rely on space
(after! org (after! org
;; For CJK users
;; Insert zero width space around the emphasis symbols, this might be useful for
;; languages that does not rely on space
(defun my/insert-emphasis-with-zws (char) (defun my/insert-emphasis-with-zws (char)
(interactive "c") (interactive "c")
(insert ?\u200B char) (insert ?\u200B char)
(save-excursion (insert char ?\u200B))) (save-excursion (insert char ?\u200B)))
;; Directory
(setq org-archive-location "~/OrgFiles/archive/%s_archive::")
(setq org-default-notes-file "~/OrgFiles/tasks/inbox.org")
;; Initial Visibility
(setq org-startup-folded "show2levels")
;; Keymaps
(map! :map org-mode-map (map! :map org-mode-map
"C-c b" (lambda () (interactive) (my/insert-emphasis-with-zws ?*)) "C-c b" (lambda () (interactive) (my/insert-emphasis-with-zws ?*))
"C-c i" (lambda () (interactive) (my/insert-emphasis-with-zws ?/)) "C-c i" (lambda () (interactive) (my/insert-emphasis-with-zws ?/))
"C-c u" (lambda () (interactive) (my/insert-emphasis-with-zws ?_))) "C-c u" (lambda () (interactive) (my/insert-emphasis-with-zws ?_))
:nvom "N" 'org-next-visible-heading
:nvom "E" 'org-previous-visible-heading)
(setq org-capture-templates
'(("t" "Task" entry (file+headline "~/OrgFiles/tasks/inbox.org" "Tasks")
"* TODO %?\n %U\n %a\n %i"
:empty-lines 1)))
)
(after! evil-org
(map! :map evil-org-mode-map (map! :map evil-org-mode-map
:nv "I" #'evil-next-buffer) :n "L" 'evil-org-insert-line
:n "I" 'evil-next-buffer
)
(setq org-archive-location "~/OrgFiles/archive/%s_archive::") )
(setq org-default-notes-file "~/OrgFiles/tasks/inbox.org")
(setq org-capture-templates
'(("t" "Task" entry (file+headline "~/OrgFiles/tasks/inbox.org" "Tasks")
"* TODO %?\n %U\n %a\n %i"
:empty-lines 1)))
)
(after! org-agenda (after! org-agenda
(map! :map evil-org-agenda-mode-map
:nv "n" #'org-agenda-next-line
:nv "e" #'org-agenda-previous-line
"gn" 'org-agenda-next-item
"ge" 'org-agenda-previous-item
:nv "i" #'evil-forward-char)
(setq org-agenda-files (directory-files-recursively "~/OrgFiles/tasks/" "\\.org$")) (setq org-agenda-files (directory-files-recursively "~/OrgFiles/tasks/" "\\.org$"))
) )
(map! :after org-agenda
:map evil-org-agenda-mode-map
:m "n" #'org-agenda-next-line
:m "e" #'org-agenda-previous-line
:m "gn" #'org-agenda-next-item
:m "ge" #'org-agenda-previous-item
:m "N" #'org-agenda-priority-up
:m "E" #'org-agenda-priority-down
:m "i" #'evil-forward-char)

23
tools/doom/treemacs.el Normal file
View file

@ -0,0 +1,23 @@
(after! treemacs
(map! :map evil-treemacs-state-map
"n" #'treemacs-next-line
"e" #'treemacs-previous-line
"N" #'treemacs-next-neighbour
"E" #'treemacs-previous-neighbour
"H" #'treemacs-toggle-show-dotfiles
"I" #'treemacs-hide-gitignored-files-mode
"i" #'treemacs-RET-action
"a" #'treemacs-create-file
"A" #'treemacs-create-dir
"c" #'treemacs-copy-file
"d" #'treemacs-delete-file
"r" #'treemacs-rename-file
"q" #'treemacs-quit
"y" #'treemacs-copy-relative-path-at-point
"Y" #'treemacs-copy-absolute-path-at-point
"m" #'treemacs-mark-or-unmark-path-at-point
)
)
(map! :leader
:desc "Toggle Treemacs" "f t" #'+treemacs/toggle)