Customizing Emacs[Eng]

Now that we learn the shortcuts, we can start with our own emacs configuration. We can follow start kits related emacs or we can look at other emacs users made their emacs configurations. I have looked other emacs configurations and I have set up a scheme for myself. I briefly explain, how I built a structure and how I followed a path.


-> I have used .emacs.d/init.el as the initial file. You can use the alternative you want.
(http://keremvatandas.com/Emacs-Initialization-File.html)


-> I will have 5 configuration files in total.

These files are;

  • init.el
  • emacs-default.el
  • emacs-myfunc.el
  • emacs-packages.el
  • keybindings.el

-> I will include the package manager(el-get) in the init.el file and I will include my other configuration files in init.el


-> Basically we are adding el-get package manager to init.el.
(https://github.com/dimitri/el-get)

;; ----------------- EL-GET
(package-initialize)

(add-to-list 'load-path "~/.emacs.d/el-get/el-get")

(unless (require 'el-get nil t)
(url-retrieve
"https://github.com/dimitri/el-get/raw/master/el-get-install.el"
(lambda (s)
(end-of-buffer)
(eval-print-last-sexp))))

;; MY PACKAGE-LIST
(setq my-packages
(append
;; '(package1 package2 package3 package4)
'(helm helm-ag golden-ratio)
(mapcar 'el-get-as-symbol
(mapcar 'el-get-source-name el-get-sources))))

(el-get 'sync my-packages)

;; ----------------- Load Emacs Default File
(setq emacs-default-file "~/.emacs.d/emacs-default.el")
(load emacs-default-file)

;; ----------------- Load Emacs MyFunc File
(setq emacs-myfunc-file "~/.emacs.d/emacs-myfunc.el")
(load emacs-myfunc-file)

;; ----------------- Load Packages Config File
(setq emacs-packages-file "~/.emacs.d/emacs-packages.el")
(load emacs-packages-file)

;; ----------------- Load Keybindings File
(setq keybindings-file "~/.emacs.d/keybindings.el")
(load keybindings-file)

-> The el-get packages can be loaded in different formats. There are examples of this in github. You can choose a method for yourself or you might not use el-get. There are many package managers.

https://github.com/emacs-tw/awesome-emacs#package-management


-> In emacs-default.el; There will be settings such as toolbar, menu-bar, backup, display, mouse, theme etc.


-> In emacs-myfunc.el; There will be your own lisp functions.


-> In emacs-packages.el; There will be the configurations of the packages we are uploading.


-> In keybindings.el; There will be shortcut settings


We will slowly install our packages and start making adjustments.


Some useful sites for emacs: