init-el

发布时间 2023-09-26 23:38:32作者: 算你牛

(require 'package)
(setq package-archives
'(("melpa" . "https://mirrors.ustc.edu.cn/elpa/melpa/")
("gnu" . "https://mirrors.ustc.edu.cn/elpa/gnu/")
("nongnu" . "https://mirrors.ustc.edu.cn/elpa/nongnu/")))
(package-initialize)

;;防止反复调用 package-refresh-contents 会影响加载速度
(unless (package-installed-p 'use-package)
(package-refresh-contents)
(package-install 'use-package))

(eval-and-compile
(setq use-package-always-ensure nil)
(setq use-package-always-defer nil)
(setq use-package-always-demand nil)
(setq use-package-expand-minimally nil)
(setq use-package-enable-imenu-support t))
(eval-when-compile
(require 'use-package))

;; 关闭工具栏,tool-bar-mode 即为一个 Minor Mode
(tool-bar-mode -1)

;; 关闭文件滑动控件
(scroll-bar-mode -1)

;; 显示行号
;;(global-linum-mode 1)
(global-display-line-numbers-mode t) ;修改成这个来显示行号,性能更好

(icomplete-mode 1)

(setq debug-on-error t)
(setq-default lexical-binding t)

(add-to-list 'load-path (file-name-as-directory (locate-user-emacs-file "lisp")))
(setq custom-file (locate-user-emacs-file "custom.el"))

(use-package restart-emacs
:ensure t)

(use-package vundo
:ensure t)

(use-package evil
:ensure t
:init
(setq evil-want-keybinding nil)
(setq evil-want-C-u-scroll t)
:hook (after-init . evil-mode))

(use-package evil-anzu
:ensure t
:after evil
:diminish
:demand t
:init
(global-anzu-mode t))

(use-package evil-collection
:ensure t
:demand t
:config
(setq evil-collection-mode-list (remove 'lispy evil-collection-mode-list))
(evil-collection-init)

(cl-loop for (mode . state) in
'((org-agenda-mode . normal)
(Custom-mode . emacs)
(eshell-mode . emacs)
(makey-key-mode . motion))
do (evil-set-initial-state mode state)))
(use-package evil-matchit
:ensure
:init
(global-evil-matchit-mode 1))