main
阳光少年 3 months ago
parent 8ec57ae890
commit 9125a41900

@ -0,0 +1,162 @@
;; -*- 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 ())

@ -0,0 +1 @@
yanguangshaonian@yangguangshaoniandeMacBook-Pro.local.20642

@ -0,0 +1 @@
yanguangshaonian@yangguangshaoniandeMacBook-Pro.local.22440

@ -10,9 +10,9 @@
(global-set-key (kbd "s-x") 'kill-region) ; 对应Windows上面的Ctrol-x 剪切
(global-hl-line-mode 1) ; 高亮行号
(set-face-background 'hl-line "#e3f0fe") ; 颜色
(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) ; 设置行号
@ -23,29 +23,17 @@
(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) ; 保留历史位置的文件数目
(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按键 使用空格代替制表符
; 启动包管理器
(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))
(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进代码行提示
(use-package company
@ -56,9 +44,9 @@
:config
(setq company-minimum-prefix-length 2)
(setq company-idle-delay 0.2)
:bind (:map company-active-map ("<tab>" . company-complete-selection)) ;; 强制强制替换company-complete-common
)
;; 提示按下的按键和对应的函数
(use-package keycast
:ensure t
@ -86,7 +74,7 @@
:config
)
;; 直接显示粗略的帮助文档 用来配合vertico/orderless
;; 直接显示粗略的帮助文档/注释 用来配合vertico/orderless
(use-package marginalia
:ensure t
:defer t
@ -99,11 +87,11 @@
(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带历史记录的缓冲区列表
))
: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
@ -120,6 +108,56 @@
: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/")

Loading…
Cancel
Save