115 lines
3.5 KiB
EmacsLisp
115 lines
3.5 KiB
EmacsLisp
;;=======================================
|
|
;; Local mirror of package archives
|
|
;;=======================================
|
|
(require 'package)
|
|
(setq package-archives '(("gnu" . "https://mirrors.tuna.tsinghua.edu.cn/elpa/gnu/")
|
|
("nongnu" . "https://mirrors.tuna.tsinghua.edu.cn/elpa/nongnu/")
|
|
("melpa" . "https://mirrors.tuna.tsinghua.edu.cn/elpa/melpa/")))
|
|
|
|
|
|
(package-initialize)
|
|
|
|
|
|
;;=======================================
|
|
;; Load local config script
|
|
;; (not git controlled, like .env file)
|
|
;;=======================================
|
|
(setq local-file (expand-file-name "local.el" user-emacs-directory))
|
|
(when (file-exists-p local-file)
|
|
(load-file local-file))
|
|
|
|
|
|
;;===================
|
|
;; Handy settings
|
|
;;===================
|
|
|
|
(tool-bar-mode -1)
|
|
(scroll-bar-mode -1)
|
|
(global-display-line-numbers-mode 0)
|
|
(global-auto-revert-mode t)
|
|
(global-hl-line-mode t) ; 高亮当前行
|
|
(show-paren-mode t) ; 显示匹配括号
|
|
(fset 'yes-or-no-p 'y-or-n-p) ; 简化 yes/no 为 y/n
|
|
(save-place-mode t) ; 保存文件上次打开的光标位置
|
|
(savehist-mode t) ; 记录 M-x/Minibuffer 的历史输入
|
|
(delete-selection-mode t) ; 选中文本后输入替换选取
|
|
(electric-pair-mode t) ; 输入时自动匹配括号或者引号
|
|
|
|
(ido-mode t) ; 开启文件和 Buffer 补全
|
|
(setq ido-enable-flex-matching t) ; 开启模糊匹配
|
|
(ido-everywhere t) ; 在所有可以补全的地方尽量启用 ido
|
|
|
|
|
|
(add-hook 'before-save-hook 'delete-trailing-whitespace) ; 保存时清除行尾空格
|
|
|
|
|
|
(setq mac-command-modifier 'meta)
|
|
(setq confirm-kill-emacs 'y-or-n-p)
|
|
(setq-default cursor-type '(bar . 2))
|
|
|
|
(add-to-list 'default-frame-alist '(fullscreen . maximized))
|
|
|
|
(global-unset-key (kbd "C-SPC"))
|
|
(global-set-key (kbd "M-SPC") 'set-mark-command)
|
|
(global-set-key (kbd "C-x C-b") 'bs-show)
|
|
(global-set-key (kbd "C-,") 'compile)
|
|
|
|
(windmove-default-keybindings 'meta)
|
|
|
|
(let ((font (face-attribute 'default :font)))
|
|
(when font
|
|
(set-face-attribute 'default nil :height 160)))
|
|
|
|
(setq custom-file (expand-file-name "custom-file.el" user-emacs-directory))
|
|
(load custom-file)
|
|
|
|
;; 为 M-x shell 开启颜色支持
|
|
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
|
|
|
|
;; 为 M-x compile 开启颜色支持
|
|
(require 'ansi-color)
|
|
(defun my/colorize-compilation-buffer ()
|
|
(let ((inhibit-read-only t))
|
|
(ansi-color-apply-on-region compilation-filter-start (point-max))))
|
|
|
|
(add-hook 'compilation-filter-hook 'my/colorize-compilation-buffer)
|
|
|
|
;;====================
|
|
;; Backup settings
|
|
;;====================
|
|
|
|
(setq backup-directory-alist `(("." . "~/.emacs.d/backups/")))
|
|
(setq version-control t) ; 开启多版本备份
|
|
(setq kept-old-versions 2) ; 保留最早的2个版本
|
|
(setq kept-new-versions 6) ; 保留最新的6个版本
|
|
(setq delete-old-versions t) ; 自动删除中间的多余版本
|
|
|
|
|
|
;;======================
|
|
;; Important packages
|
|
;;======================
|
|
|
|
;; dark theme
|
|
(use-package gruber-darker-theme
|
|
:ensure t
|
|
:init
|
|
(load-theme 'gruber-darker t))
|
|
|
|
(use-package dimmer
|
|
:ensure t
|
|
:init
|
|
(setq dimmer-fraction 0.3) ; 调整变暗的程度(0.0 到y 1.0,越大越暗,0.3 刚刚好)
|
|
:config
|
|
(dimmer-mode 1))
|
|
|
|
|
|
;;========================
|
|
;; Package settings
|
|
;;========================
|
|
|
|
;; ---- simplec-mode -----------
|
|
(add-to-list 'load-path (expand-file-name "vendor/simpc-mode" user-emacs-directory))
|
|
(require 'simpc-mode)
|
|
(add-to-list 'auto-mode-alist '("\\.[hc]\\(pp\\)?\\'" . simpc-mode))
|
|
;; --- end of simplec-mode ------
|