|
|
|
|
;; -*- lexical-binding: t -*-
|
|
|
|
|
(setq mac-option-modifier 'meta
|
|
|
|
|
mac-command-modifier 'super)
|
|
|
|
|
|
|
|
|
|
(global-set-key (kbd "s-a") 'mark-whole-buffer) ; 对应Windows上面的Ctrl-a 全选
|
|
|
|
|
(global-set-key (kbd "s-c") 'kill-ring-save) ; 对应Windows上面的Ctrl-c 复制
|
|
|
|
|
(global-set-key (kbd "s-s") 'save-buffer) ; 对应Windows上面的Ctrl-s 保存
|
|
|
|
|
(global-set-key (kbd "s-v") 'yank) ; 对应Windows上面的Ctrl-v 粘贴
|
|
|
|
|
(global-set-key (kbd "s-z") 'undo) ; 对应Windows上面的Ctrol-z 撤销
|
|
|
|
|
(global-set-key (kbd "s-x") 'kill-region) ; 对应Windows上面的Ctrol-x 剪切
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(global-hl-line-mode 1) ; 高亮行号
|
|
|
|
|
(set-face-background 'hl-line "#e3f0fe") ; 颜色
|
|
|
|
|
|
|
|
|
|
(setq default-frame-alist '((font . "霞鹜文楷等宽-20"))) ; 字体设置
|
|
|
|
|
(setq inhibit-startup-screen t) ; 关闭欢迎界面
|
|
|
|
|
(global-display-line-numbers-mode 1) ; 设置行号
|
|
|
|
|
(electric-pair-mode t) ; 自动补全括号, 引号等
|
|
|
|
|
(tool-bar-mode 0) ; 关闭界面菜单
|
|
|
|
|
(scroll-bar-mode 0) ; 关闭右侧滑动
|
|
|
|
|
(setq-default cursor-type '(bar . 4)) ; 设置光标样式
|
|
|
|
|
(setq make-backup-files nil) ; 不要设置~备份文件
|
|
|
|
|
(delete-selection-mode 1) ; 被选中的文字重新编辑允许直接覆盖
|
|
|
|
|
(global-auto-revert-mode 1) ; 外部如果更新了当前编辑的文本, em里面同步刷新
|
|
|
|
|
(fset 'yes-or-no-p 'y-or-n-p) ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;(setq tab-always-indent 'complete) ; tab补全(界面有点乱, 不用了)
|
|
|
|
|
|
|
|
|
|
;(require 'recentf) ; 关闭文件后记录文件位置(好像没起作用)
|
|
|
|
|
;(recentf-mode 1)
|
|
|
|
|
;(setq recentf-max-menu-item 10) ; 保留历史位置的文件数目
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; 启动包管理器
|
|
|
|
|
(require 'package)
|
|
|
|
|
(setq package-archives '(("gnu" . "http://mirrors.tuna.tsinghua.edu.cn/elpa/gnu/")
|
|
|
|
|
("melpa" . "http://mirrors.tuna.tsinghua.edu.cn/elpa/melpa/")))
|
|
|
|
|
(package-initialize)
|
|
|
|
|
;;防止反复调用 package-refresh-contents 会影响加载速度
|
|
|
|
|
(when (not package-archive-contents)
|
|
|
|
|
(package-refresh-contents))
|
|
|
|
|
|
|
|
|
|
;; 启动use package
|
|
|
|
|
(unless (package-installed-p 'use-package)
|
|
|
|
|
(package-refresh-contents)
|
|
|
|
|
(package-install 'use-package))
|
|
|
|
|
|
|
|
|
|
;; 会在当前页显示一个buf进代码行提示
|
|
|
|
|
(use-package company
|
|
|
|
|
:ensure t
|
|
|
|
|
:defer t
|
|
|
|
|
:init
|
|
|
|
|
(global-company-mode 1)
|
|
|
|
|
:config
|
|
|
|
|
(setq company-minimum-prefix-length 2)
|
|
|
|
|
(setq company-idle-delay 0.2)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;; 提示按下的按键和对应的函数
|
|
|
|
|
(use-package keycast
|
|
|
|
|
:ensure t
|
|
|
|
|
:defer t
|
|
|
|
|
:init
|
|
|
|
|
(keycast-mode-line-mode 1)
|
|
|
|
|
:config
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
;; 对C M 相关的命令搜索提示
|
|
|
|
|
(use-package vertico
|
|
|
|
|
:ensure t
|
|
|
|
|
:defer t
|
|
|
|
|
:init
|
|
|
|
|
(vertico-mode t)
|
|
|
|
|
:config
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
;; 模糊搜搜提示
|
|
|
|
|
(use-package orderless
|
|
|
|
|
:ensure t
|
|
|
|
|
:defer t
|
|
|
|
|
:init
|
|
|
|
|
(setq completion-styles '(orderless))
|
|
|
|
|
:config
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
;; 直接显示粗略的帮助文档 用来配合vertico/orderless
|
|
|
|
|
(use-package marginalia
|
|
|
|
|
:ensure t
|
|
|
|
|
:defer t
|
|
|
|
|
:init
|
|
|
|
|
(marginalia-mode t)
|
|
|
|
|
:config
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
;; 增强帮助和搜索
|
|
|
|
|
(use-package embark-consult
|
|
|
|
|
:ensure t
|
|
|
|
|
:defer t
|
|
|
|
|
:bind((("C-;" . embark-act) ;; 绑定 C-; 到 embark-act
|
|
|
|
|
("C-s" . consult-line) ;; 将 C-s 绑定到 consult-line,用于文本搜索
|
|
|
|
|
("M-s i" . consult-imenu) ;; M-s i 跳转到 consult-imenu,快速访问函数列表
|
|
|
|
|
("C-x b" . consult-buffer) ;; C-x b 打开 consult-buffer,带历史记录的缓冲区列表
|
|
|
|
|
))
|
|
|
|
|
:init
|
|
|
|
|
(setq consult-async-min-input 2)
|
|
|
|
|
:config
|
|
|
|
|
(setq prefix-help-command 'embark-prefix-help-command)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
;; 设置主题
|
|
|
|
|
(use-package catppuccin-theme
|
|
|
|
|
:ensure t
|
|
|
|
|
:defer t
|
|
|
|
|
:init
|
|
|
|
|
(setq catppuccin-flavor 'latte)
|
|
|
|
|
(load-theme 'catppuccin :no-confirm)
|
|
|
|
|
:config
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(setq a "~/.emacs.d/")
|
|
|
|
|
|
|
|
|
|
(defun say ())
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|