You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

132 lines
3.9 KiB
EmacsLisp

3 months ago
;; -*- 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) ; 被选中的文字重新编辑允许直接覆盖
3 months ago
(global-auto-revert-mode 1) ; 外部如果更新了当前编辑的文本, em里面同步刷新
(fset 'yes-or-no-p 'y-or-n-p) ;
3 months ago
;(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))
3 months ago
;; 启动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
)
3 months ago
(setq a "~/.emacs.d/")
(defun say ())