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.

163 lines
4.8 KiB
Plaintext

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 剪切
(set-default-coding-systems 'utf-8) ; 设置编码
(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) ; 统一设置为 y/n
(auto-save-visited-mode 1) ; 设置自动保存
(setq auto-save-timeout 30) ; 设置自动保存时间间隔
;; (setq-default indent-tabs-mode nil) ; tab按键 使用空格代替制表符
(use-package package
:config
(setq package-archives '(("gnu" . "http://mirrors.tuna.tsinghua.edu.cn/elpa/gnu/")
("melpa" . "http://mirrors.tuna.tsinghua.edu.cn/elpa/melpa/")))
(package-initialize)
)
;; 会在当前页显示一个buf进代码行提示
(glob)
;; 提示按下的按键和对应的函数
(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
)
(use-package which-key
:ensure t
:init
(which-key-mode)
:config
(setq which-key-idle-delay 0.2) ;; 设置延迟时间单位为秒默认是1.5秒
(setq which-key-separator "→") ;; 设置快捷键间的分隔符
(setq which-key-suppress-keymap-warning t) ;; 不显示警告信息
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 下面是内置的包不需要安装的
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 保存命令历史/搜索历史/标记历史等信息
(use-package savehist
:ensure nil
:hook (after-init . savehist-mode)
:init (setq enable-recursive-minibuffers t ; Allow commands in minibuffers
history-length 3000
savehist-additional-variables '(mark-ring
global-mark-ring
search-ring
regexp-search-ring
extended-command-history)
savehist-autosave-interval 30)
)
;; 每次离开缓冲区时记住光标的位置
(use-package saveplace
:ensure nil
:hook (after-init . save-place-mode)
)
;; eglot
(use-package eglot
:ensure nil
:init
:config
(add-to-list 'eglot-server-programs '((c++-mode c-mode) "clangd"))
;; (setq c-basic-offset 4)
:hook
(c-mode . eglot-ensure)
(c++-mode . eglot-ensure)
)
(setq a "~/.emacs.d/")
(defun say ())