添加 dirvish 配置和其他调整

- 新增 init-dired.el 基础配置
- 调整 corfu 初始化方式
- 修改 dashboard 显示设置和快捷键
- 更新键位绑定
- 调整 org-journal 格式
- 修复 scratch buffer 模式设置
- 更新主题颜色
This commit is contained in:
trogloxene
2026-04-03 19:01:03 +08:00
parent 64e421da2b
commit 311aefe6f9
8 changed files with 77 additions and 10 deletions

View File

@@ -20,6 +20,7 @@
(require 'init-org)
(require 'init-completion)
(require 'init-window)
(require 'init-dired)
(require 'init-kbd)
(require 'init-ui)
(require 'init-dashboard)

View File

@@ -29,11 +29,13 @@
gud-mode
vterm-mode)
t))
:hook ((after-init . global-corfu-mode)
(global-corfu-mode . corfu-popupinfo-mode)
:hook ((global-corfu-mode . corfu-popupinfo-mode)
(global-corfu-mode . corfu-history-mode))
:init (global-corfu-mode)
:config
(add-hook 'after-init-hook #'global-corfu-mode)
;;Quit completion before saving
(add-hook 'before-save-hook #'corfu-quit)
(advice-add #'persistent-scratch-save :before #'corfu-quit)

View File

@@ -13,7 +13,7 @@
(setq dashboard-startup-banner 'ascii)
(setq dashboard-center-content t)
(setq dashboard-navigation-cycle t)
(setq dashboard-items '((recents . 10)
(setq dashboard-items '((recents . 15)
(bookmarks . 5)
(projects . 5)))
(add-hook 'emacs-startup-hook
@@ -28,7 +28,8 @@
(setq dashboard-footer-messages '(
"Hello."
"Hi."
)))
))
(setq dashboard-item-shortcuts '((recents . "r") (bookmarks . "b") (projects . "p") (agenda . "a") (registers . "e"))))
(provide 'init-dashboard)
;;; init-dashboard.el ends here

56
lisp/init-dired.el Normal file
View File

@@ -0,0 +1,56 @@
;;; init-dired.el --- dired & dirvish -*-lexical-binding: t -*-
;;; Commentary:
;;; Code:
(with-eval-after-load 'dirvish
(define-key dirvish-mode-map (kbd "<down>")
(lambda () (interactive) (forward-line 1) (dired-move-to-filename)))
(define-key dirvish-mode-map (kbd "C-n")
(lambda () (interactive) (forward-line 1) (dired-move-to-filename)))
(define-key dirvish-mode-map (kbd "n")
(lambda () (interactive) (forward-line 1) (dired-move-to-filename)))
(define-key dirvish-mode-map (kbd "b") 'dired-up-directory)
(define-key dirvish-mode-map (kbd "C-b") 'dired-up-directory)
(define-key dirvish-mode-map (kbd "<left>") 'dired-up-directory)
(define-key dirvish-mode-map (kbd "<right>") 'dired-find-file)
(define-key dirvish-mode-map (kbd "C-f") 'dired-find-file)
(define-key dirvish-mode-map (kbd "<SPC>") 'dirvish-layout-toggle))
(with-eval-after-load 'dirvish
(add-hook 'dired-mode-hook #'dired-hide-details-mode))
;; dirvish
(use-package dirvish
:init
(dirvish-override-dired-mode)
:config
(setq dirvish-hide-details nil)
(setq dirvish-use-mode-line 'global)
:custom
(dirvish-quick-access-entries
(when *is-windows*
'(("h" "~/" "Home")
("e" "~/.emacs.d/")
("p" "c:/Users/gaozh/Pictures/Screenshots/" "Pictures")
("d" "f:/下载25-2-10/" "Download")
("v" "f:/luping26-1-11/" "Videos")))))
(setq dired-listing-switches
"-l --almost-all --human-readable --group-directories-first --no-group")
(put 'dired-find-alternate-file 'disabled nil)
(with-eval-after-load 'dirvish
(global-set-key (kbd "C-c d a") 'dirvish-quick-access)
(global-set-key (kbd "C-c d s") 'dirvish-side)
(global-set-key (kbd "C-c d h") 'dirvish-history-menu)
(global-set-key (kbd "C-x d") 'dired-jump)
(global-set-key (kbd "C-x C-j") 'dired)
(define-key dired-mode-map (kbd "h") 'dirvish-history-menu)
(define-key dired-mode-map (kbd "M-,") 'scroll-other-window-down)
(define-key dired-mode-map (kbd "M-.") 'scroll-other-window))
(provide 'init-dired)
;;; init-dired.el ends here

View File

@@ -191,7 +191,7 @@ Disable jinx-mode if it's enable and global-jinx-mode is disable , otherwise tog
;; undo-fu
(global-set-key (kbd "C-/") 'undo-fu-only-undo)
(global-set-key (kbd "C-.") 'undo-fu-only-redo)
(global-set-key (kbd "C-?") 'undo-fu-only-redo)
;; vundo
(global-set-key (kbd "C-x u") 'vundo)
@@ -230,7 +230,7 @@ Disable jinx-mode if it's enable and global-jinx-mode is disable , otherwise tog
;; hungry-delete
(global-set-key (kbd "C-c DEL") 'hungry-delete-backward) ;; 向后删除到第一个非空字符
(global-set-key (kbd "C-c d") 'hungry-delete-forward) ;; 向前删除到第一个非空字符
(global-set-key (kbd "C-c C-<backspace>") 'hungry-delete-forward) ;; 向前删除到第一个非空字符
;; drag-stuff
(global-set-key (kbd "M-P") 'drag-stuff-up)
@@ -364,7 +364,7 @@ Disable jinx-mode if it's enable and global-jinx-mode is disable , otherwise tog
(global-set-key (kbd "C-c m d") 'my-emms-play-directory)
;; dashboard
(global-set-key (kbd "C-c <ESC>") 'dashboard-open)
(global-set-key (kbd "C-c D") 'dashboard-open)
(provide 'init-kbd)

View File

@@ -33,9 +33,9 @@
(use-package org-journal
:config
(setq org-journal-file-format "%Y-%m-%d.org"
org-journal-file-header "#+title: Daily Journal\n#+category: journal\n#+STARTUP: content\n\n"
org-journal-time-format "%m-%d \n:PROPERTIES:\n:Created: <%Y-%m-%d %a %H:%M:%S>\n:END:\n"
org-journal-file-header "#+title: Daily Journal\n#+category: journal\n#+STARTUP: content\n\n"
org-journal-time-prefix "\n*** TODO "
org-journal-time-format "%m-%d \n:PROPERTIES:\n:Created: <%Y-%m-%d %a %H:%M:%S>\n:END:\n"
org-journal-hide-entries-p t
org-journal-date-format (lambda (time)
(format "* %s %s\n:PROPERTIES:\n:Created: [%s]\n:END:"

View File

@@ -44,7 +44,7 @@
;; 当文件被外部修改时自动刷新
(global-auto-revert-mode 1)
;; 开启rencent file mode
;; 开启recent file mode
(recentf-mode)
(setq recentf-max-saved-items 30) ;; 最大保存数量
@@ -58,6 +58,12 @@
(setq initial-scratch-message
"")
(defun my/scratch-set-mode (&rest _)
(when (eq major-mode 'fundamental-mode)
(funcall initial-major-mode)))
(advice-add 'scratch-buffer :after #'my/scratch-set-mode)
;; 开启server mode
(server-start)

View File

@@ -30,6 +30,7 @@
`(font-lock-string-face ((,class (:foreground ,green))))
`(dashboard-footer-face ((,class (:foreground ,blue))))
`(dashboard-text-banner ((,class (:foreground ,green))))
`(dashboard-heading ((,class (:foreground ,green :weight bold))))
`(vertico-current ((,class (:background ,base02 :extend t :underline nil)))))))
(provide-theme 'my-base16-dark)