8000 GitHub - mengdemao/emacs.d: emacs配置文件
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

mengdemao/emacs.d

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

emacs配置文件

配置文件结构

|── custom.el       自定义配置(自动生成,可以修改)
├── early-init.el   emacs27加载文件
├── fonts           存放字体文件
├── init.el         初始化文件
├── lisp            配置文件
├── site            三方包
├── README.org      说明文件
└── test.sh         测试脚本

基础配置

emacs系统配置

增大垃圾回收的大小

(defvar default-file-name-handler-alist file-name-handler-alist)
(setq file-name-handler-alist nil)
(setq gc-cons-threshold 8000000000)
(add-hook 'emacs-startup-hook (lambda () "Restore defalut values after init."
				(setq file-name-handler-alist default-file-name-handler-alist)
				(setq gc-cons-threshold (* 1024 1024 1024))
				(add-hook 'focus-out-hook 'garbage-collect)))

加载custom.el文件

;; 减少污染文件
(setq custom-file (expand-file-name "custom.el" user-emacs-directory))
(when (file-exists-p custom-file)
  (load custom-file))

自动下载并且更新插件

(defun require-package (package &optional min-version no-refresh)
  "Install given PACKAGE, optionally requiring MIN-VERSION.
If NO-REFRESH is non-nil, the available package lists will not be
re-downloaded in order to locate PACKAGE."
  (or (package-installed-p package min-version)
	  (let* ((known (cdr (assoc package package-archive-contents)))
		 (best (car (sort known (lambda (a b)
					  (version-list-<= (package-desc-version b)
							   (package-desc-version a)))))))
	(if (and best (version-list-<= min-version (package-desc-version best)))
		(package-install best)
	  (if no-refresh
		  (error "No version of %s >= %S is available" package min-version)
		(package-refresh-contents)
		(require-package package min-version t)))
	(package-installed-p package min-version))))

添加子文件夹

(defun add-subdirs-to-load-path (parent-dir)
  "Add every non-hidden subdir of PARENT-DIR to `load-path'."
  (let ((default-directory parent-dir))
	(setq load-path
	  (append
	   (cl-remove-if-not
		#'file-directory-p
		(directory-files (expand-file-name parent-dir) t "^[^\\.]"))
	   load-path))))

(let ((lisp-dir (expand-file-name "lisp/" user-emacs-directory)))
  (push lisp-dir load-path)
  (add-subdirs-to-load-path lisp-dir))

(let ((site-dir (expand-file-name "site/" user-emacs-directory)))
  (push site-dir load-path)
  (add-subdirs-to-load-path site-dir))

自动更新配置

;; 自动更新配置文件
(defun config-update()
  "Autoupdate local git repository .emacs.d."
  (interactive)
  (compilation-start "cd ~/.emacs.d && git pull"))
(define-key global-map (kbd "<f12>") 'config-update)

扩展配置

**

About

emacs配置文件

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published
0