;;; init-terminal-package.el --- major packages -*- lexical-binding: t -*- ;;; Commentary: ;;; Code: ;; 安装crux,增强快捷键,快捷键配置在init-kbd.el中 (use-package crux) ;; 安装hungry-delete (use-package hungry-delete) ;; 安装drag-stuff,拖动字符 (use-package drag-stuff) ;; expand region (use-package expand-region) ;; 启用savehist,保存命令顺序 (use-package savehist :init (setq enable-recursive-minibuffers t history-length 50 savehist-additional-variables '(mark-ring global-mark-ring search-ring regexp-search-ring extended-command-history) savehist-autosave-interval 300) (savehist-mode)) ;; saveplace,保存光标位置 (use-package saveplace :init (save-place-mode)) ;; undo增强 (use-package undo-fu) ;; vertico (use-package vertico :init (vertico-mode t)) ;; 安装orderless,用于模糊搜索 (use-package orderless :custom (completion-styles '(orderless basic))) ;; (use-package corfu-terminal ;; :init (corfu-terminal-mode)) ;; scheme (use-package geiser :config (with-eval-after-load 'geiser (setq geiser-default-implementation 'guile))) (use-package geiser-guile) ;; general (use-package general) ;; god-mode,模态编辑 (use-package god-mode :config (setq god-mode-enable-function-key-translation nil) (custom-set-faces '(god-mode-lighter ((t (:inherit straight-process-error))))) (defun my-sync-line-numbers-with-god-mode () (let ((desired (if (bound-and-true-p god-local-mode) 'relative t))) (unless (or (eq display-line-numbers desired) (bound-and-true-p olivetti-mode)) (setq display-line-numbers desired)))) (add-hook 'post-command-hook #'my-sync-line-numbers-with-god-mode) (setq god-exempt-major-modes (delete-dups (append '(diff-mode exwm-mode) god-exempt-major-modes)))) (provide 'init-terminal-package) ;;; init-terminal-package.el ends here