Решил я тут сегодня разобрать наконец-то свой конфиг emacs. Создал, значит:
.emacs.d/init.el
.emacs.d/init-keybindings.el
* Подключил репозиторий, закачал пакеты, все прописал в .init.el
File error: Cannot open load file, Нет такого файла или каталога, init-key-bindings
;; init.el
;; Added by Package.el. This must come before configurations of
;; installed packages. Don't delete this line. If you don't want it,
;; just comment it out by adding a semicolon to the start of the line.
;; You may delete these explanatory comments.
(package-initialize)
(require 'init-key-bindings)
;; melpa repository
(require 'package)
(add-to-list 'package-archives
'("melpa-stable" . "https://stable.melpa.org/packages/") t)
;add-to-list 'package-archives
; '("marmalade" . "http://marmalade-repo.org/packages/") t)
(tooltip-mode -1)
(menu-bar-mode -1) ;; отключаем графическое меню
(tool-bar-mode -1) ;; отключаем tool-bar
(scroll-bar-mode -1) ;; отключаем полосу прокрутки
(blink-cursor-mode 1) ;; курсор не мигает
(setq use-dialog-box nil) ;; никаких графических диалогов и окон - все через минибуфер
(setq redisplay-dont-pause t) ;; лучшая отрисовка буфера
(setq ring-bell-function 'ignore) ;; отключить звуковой сигнал
(windmove-default-keybindings 'meta) ;; переключение фокуса буферов
(setq word-wrap t) ;; переносить по словам
(global-visual-line-mode t)
(global-set-key (kbd "RET") 'newline-and-indent)
(setq scroll-step 1) ;; вверх-вниз по 1 строке
(setq scroll-margin 10) ;; сдвигать буфер верх/вниз когда курсор в 10 шагах от верхней/нижней границы
(setq scroll-conservatively 10000)
(defalias 'yes-or-no-p 'y-or-n-p)
(setq x-select-enable-clipboard t)
;; theme
(load-theme 'cyberpunk t)
;; font
(set-frame-font "Courier Prime Code 14" nil t)
;; buffer-selection
(require 'bs)
(setq bs-configurations
'(("files" "^\\*scratch\\*" nil nil bs-visits-non-file bs-sort-buffer-interns-are-last)))
(global-set-key (kbd "<f2>") 'bs-show)
(setq web-mode-enable-current-element-highlight t)
(setq-default indent-tabs-mode nil)
(require 'imenu)
(setq imenu-auto-rescan t) ;; автоматически обновлять список функций в буфере
(setq imenu-use-popup-menu nil) ;; диалоги Imenu только в минибуфере
(global-set-key (kbd "<f6>") 'imenu) ;; вызов Imenu на F6
(setq frame-title-format "GNU Emacs: %b")
;;(global-set-key (kbd "TAB") 'tab-to-tab-stop);
;; linum mode
(require 'linum+)
(setq linum-format "%d ")
(global-linum-mode 1)
(column-number-mode t)
(line-number-mode t)
;; autopair
(require 'autopair)
(autopair-global-mode)
;; yasnippet package
(require 'yasnippet)
(yas-global-mode t)
;; ------------------------------
;; F E A T U R E S F O R W E B
;; ------------------------------
(require 'web-mode)
(add-to-list 'auto-mode-alist '("\\.html\\'" . html-mode))
(add-to-list 'auto-mode-alist '("\\.php\\'" . web-mode))
(setq web-mode-offset 4)
(setq web-mode-markup-indent-offset 4)
(setq web-mode-css-indent-offset 4)
(setq web-mode-code-indent-offset 4)
(add-hook 'web-mode-hook
(lambda ()
(make-variable-buffer-local 'before-save-hook)
(add-hook 'before-save-hook
(lambda () (untabify (point-min) (point-max))))))
(require 'emmet-mode)
(add-hook 'web-mode-hook 'emmet-mode)
(add-hook 'html-mode-hook 'emmet-mode)
(add-hook 'css-mode-hook 'emmet-mode)
;; ---------------
;; L U A C O D E
;; ---------------
(require 'lua-mode)
(autoload 'lua-mode "lua-mode" "Lua editing mode." t)
(add-to-list 'auto-mode-alist '("\\.lua$" . lua-mode))
(add-to-list 'interpreter-mode-alist '("lua" . lua-mode))
;;(provide 'init)
;; Initializing key bindings
(windmove-default-keybindings 'meta)
(provide 'init-key-bindings)