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

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

;; -*- 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 ())