Главный конфигурационный файл emacs

Делаем базовые настройки

(package-initialize)  ;; загружаем lisp пакеты и инициализируем их

Делаем языковые настройки

(set-language-environment "UTF-8")  ;; устанавливаем кодировку по-умолчанию
(setq default-input-method "russian-computer")  ;; устанавливаем дополнительный метод ввода (по-умолчанию используется английский)

Так как я использую для инициализации пакетов use-package, делаем для этого пакета некоторые полезные настройки.

(setq use-package-verbose t)
(setq use-package-minimum-reported-time 0)

Ускоряем загрузку в Windows (только если вы пытаетесь запускать emacs в ОС Windows)

;; Windows performance tweaks
(when (boundp 'w32-pipe-read-delay)
  (setq w32-pipe-read-delay 0))
;; Set the buffer size to 64K on Windows (from the original 4K)
(when (boundp 'w32-pipe-buffer-size)
  (setq irony-server-w32-pipe-buffer-size (* 64 1024)))

Указываем директорию для временных файлов и резервных копий.

;; (about) autosave files
;;(setq auto-save-default               nil)
(setq auto-save-list-file-prefix "~/.emacs.d/autosave/")
(setq auto-save-file-name-transforms '((".*" "~/.emacs.d/autosave/" t)))

;; (about) backup files
;;(setq make-backup-files               nil)
(setq backup-directory-alist '((".*" . "~/.emacs.d/backup")))
(setq version-control t)
(setq delete-old-versions t)

Ускоряем загрузку emacs

;; (about) disable garbage collection on initialize
(setq gc-cons-threshold-original gc-cons-threshold)
(setq gc-cons-threshold (* 1024 1024 100))
(defun my-init-gc-optimize () (setq gc-cons-threshold gc-cons-threshold-original))
(add-hook 'after-init-hook #'my-init-gc-optimize)
;; (about) disable garbage collection on minibuffer
(defun my-minibuffer-setup-hook ()
  (setq gc-cons-threshold most-positive-fixnum))
(defun my-minibuffer-exit-hook ()
  (setq gc-cons-threshold 800000))
(add-hook 'minibuffer-setup-hook #'my-minibuffer-setup-hook)
(add-hook 'minibuffer-exit-hook #'my-minibuffer-exit-hook)
(setq inhibit-startup-screen t)  ;; убираем окно приветствия

;; (about) custom file
(setq custom-file
      (expand-file-name "custom.el" user-emacs-directory))
(load custom-file)


;; (about) repositories
(require 'package)
(add-to-list 'package-archives
             '("melpa" . "http://melpa.org/packages/")
             '("gnu" . "http://elpa.gnu.org/packages/")
             )


;; (about) use-package activation
;; https://github.com/jwiegley/use-package
(unless (package-installed-p 'use-package)
  (package-refresh-contents)
  (package-install 'use-package))


;; ;; (about) org-babel emacs config file
(require 'org)
(org-babel-load-file (expand-file-name "~/.emacs.d/config.org"))