diff --git a/README.md b/README.md index 256bdd5a..df415da2 100644 --- a/README.md +++ b/README.md @@ -1,108 +1,108 @@ - + # M-EMACS # Table of Contents :TOC_2_ORG: -- [M-EMACS](#org6ea06bc) -- [About EMACS](#org5417fdb) -- [About M-EMACS](#org79b5cd0) - - [Screenshot](#org1391a64) - - [About README](#orgcb8dd66) - - [Installation](#org46f9c82) - - [Modification](#orgc8317b3) - - [Contribution](#orgb885616) - - [Special Thanks](#orgf5089b6) -- [Startup](#org12fe449) - - [Lexical Binding](#org5fb8e4f) - - [Early Init](#orgd702491) - - [Garbage Collection](#org86c9262) - - [Load Path](#orgbd5d584) - - [Define Constants](#orgeb5c452) -- [Package Management](#org639012d) - - [Melpa Packages](#org4fee74a) - - [Non-Melpa Packages](#orgc10f969) - - [Configure Package Manager](#org4e5ac74) - - [Use Package](#orgb0caf0d) - - [Auto Package Update](#org539502b) - - [Diminish](#org0949294) -- [Global Functionalities](#orge4e2e22) - - [User Information](#org3ccbbc2) - - [Bindings](#org21a2187) - - [Avy](#orgbc719bc) - - [Crux](#org3b492ee) - - [Ivy, Amx, Counsel, Swiper](#orgd756001) - - [Color Ripgrep](#orgecc48a6) - - [Snails](#org6cb1f4b) - - [Files Directories](#org7f0f2db) - - [Winner](#orgb4d4ea1) - - [Which Key](#orgabc0b29) - - [Popup Kill Ring](#orgda39ce7) - - [Undo Tree](#orgf8da6f2) - - [Discover My Major](#org167b860) - - [Ace Window](#org912de73) - - [Shells](#orgddd4f6f) - - [Sudo Edit](#orgd95fb9d) - - [Configs](#orgd4a0ba9) - - [Functions](#orgce3adfd) -- [User Interface Enhancements](#orge311fd9) - - [Doom Themes](#org7341c12) - - [Doom Modeline](#orgbe75a10) - - [Dashboard](#orgffa20cb) - - [Fonts and Icons](#orgb1a608c) - - [Smooth Scrolling](#org6bc05e4) - - [Prettify Symbols](#org6c6a6ae) - - [UI Configs](#org8a5851e) -- [General Programming](#org5bfb22f) - - [Magit](#org08eab35) - - [Projectile](#org69398eb) - - [Treemacs](#orgc3a3c5e) - - [YASnippet](#org0295a92) - - [Flycheck](#org44db3b0) - - [Dumb Jump](#org17e807a) - - [Parenthesis](#org1525177) - - [Indentation](#orgf657831) - - [Quickrun](#org19189ea) - - [Format All](#orgfc6e0d9) - - [Evil Nerd Commenter](#orgf986acb) - - [Editing](#org5144cde) - - [Headers](#orgc1a6e13) - - [Jupyter Notebook](#org8ccabff) - - [LSP](#orge506412) - - [DAP](#org0268ade) - - [Company](#orge16f7c2) -- [Programming](#orgc265caa) - - [Java](#orga422c66) - - [C/C++/Objective C](#orgcd370a3) - - [Golang](#org99e2130) - - [Python](#orgbdadb1d) - - [ESS](#org50d6c43) - - [TeX](#orgc459d35) -- [Web Development](#org4fd7102) - - [Web Mode](#org186b2da) - - [JavaScript/TypeScript](#orgf45fbd8) - - [Emmet](#org96fa75f) - - [Instant Rename Tag](#org8252bd0) - - [JSON](#org9931ac9) -- [Miscellaneous](#orga8dee42) - - [Org](#org4c79ade) - - [EAF](#org47575f1) - - [ERC](#org9a75e76) - - [EWW](#orgb0978ef) - - [MU4E](#org55d5677) - - [Tramp](#org17ff93d) - - [PDF Tools](#org72a78f3) - - [LeetCode](#org25d90f4) - - [Pyim](#org9f35a8a) - - [EPaint](#orge21024f) - - [Tetris](#orge3cd9b9) - - [Speed Type](#orgb86119b) - - [2048 Game](#orgdc6b322) - - [Zone](#orgcadb8fb) - - - +- [M-EMACS](#orge5decab) +- [About EMACS](#org6e2bec3) +- [About M-EMACS](#orgbd62e0a) + - [Screenshot](#orgf9da5ae) + - [About README](#org1b3a463) + - [Installation](#orgb3650db) + - [Modification](#orgf075a53) + - [Contribution](#orga3e7dda) + - [Special Thanks](#orgc27b38c) +- [Startup](#org0d06f2e) + - [Lexical Binding](#org72e72c7) + - [Early Init](#org70739cd) + - [Garbage Collection](#orge6c0133) + - [Load Path](#orgee1b6b0) + - [Define Constants](#org3429586) +- [Package Management](#orgeeb54c1) + - [Melpa Packages](#org78be3a4) + - [Non-Melpa Packages](#org409a8fe) + - [Configure Package Manager](#org8341168) + - [Use Package](#org9d5e4ec) + - [Auto Package Update](#orgbd4b828) + - [Diminish](#org5c5b796) +- [Global Functionalities](#org3c032f0) + - [User Information](#org83ddfd4) + - [Bindings](#org55bf645) + - [Avy](#org451dce7) + - [Crux](#org537937e) + - [Ivy, Amx, Counsel, Swiper](#orgd86aa71) + - [Color Ripgrep](#org878279a) + - [Snails](#orge7c30ba) + - [Files Directories](#org3dcfb56) + - [Winner](#org9fffb74) + - [Which Key](#orgac79ffb) + - [Popup Kill Ring](#orgc9f90a9) + - [Undo Tree](#orga3d9a37) + - [Discover My Major](#orgbe32839) + - [Ace Window](#org81489ed) + - [Shells](#org2c630b1) + - [Sudo Edit](#org650218d) + - [Configs](#orgeb87bf1) + - [Functions](#org245153b) +- [User Interface Enhancements](#org18154d8) + - [Doom Themes](#org110fbf5) + - [Doom Modeline](#orgb7832ca) + - [Dashboard](#org1ddc35b) + - [Fonts and Icons](#org3e259fd) + - [Smooth Scrolling](#orga9d6b12) + - [Prettify Symbols](#org0545050) + - [UI Configs](#org3fe0790) +- [General Programming](#org4f24204) + - [Magit](#orge6adc08) + - [Projectile](#org3519eab) + - [Treemacs](#orga69806c) + - [YASnippet](#org2807571) + - [Flycheck](#org58977c4) + - [Dumb Jump](#org7407163) + - [Parenthesis](#orge014550) + - [Indentation](#orgf22c19d) + - [Quickrun](#org64c7523) + - [Format All](#org4a8daa0) + - [Evil Nerd Commenter](#org76fcc8f) + - [Editing](#orgc70e86b) + - [Headers](#org94e4218) + - [Jupyter Notebook](#orgd789bf6) + - [LSP](#org327e9dc) + - [DAP](#orge293d7f) + - [Company](#org468ee44) +- [Programming](#orgebd0ab3) + - [Java](#org2fa3a04) + - [C/C++/Objective C](#orga3f7a00) + - [Golang](#org7644447) + - [Python](#orgf0bc1dd) + - [ESS](#orgc6a3c08) + - [TeX](#org05f5db2) +- [Web Development](#org83536a9) + - [Web Mode](#org86a1382) + - [JavaScript/TypeScript](#orgceb30f8) + - [Emmet](#org7376e77) + - [Instant Rename Tag](#org007f1e1) + - [JSON](#orgb907d5b) +- [Miscellaneous](#orgb4e1780) + - [Org](#org422ff70) + - [EAF](#org05111ad) + - [ERC](#orgcb36365) + - [EWW](#org3d79f66) + - [MU4E](#org946c830) + - [Tramp](#org182e60e) + - [PDF Tools](#org087bbfb) + - [LeetCode](#org8d399e2) + - [Pyim](#org211f9f4) + - [EPaint](#org449da17) + - [Tetris](#org9f7a177) + - [Speed Type](#org2d60381) + - [2048 Game](#org4de2db6) + - [Zone](#org1f55d6f) + + + # About EMACS @@ -133,7 +133,7 @@ Emacs doesn't have a monopoly on good ideas, and there are other great tools out *This beautifully written **About EMACS** section credits to [Remacs](https://github.com/remacs/remacs).* - + # About M-EMACS @@ -144,21 +144,21 @@ As a young EMACSer, I have experienced the struggle to find a detailed configura This configuration is designed and tested for **GNU Emacs 26.1 and above only**. However, it is suggested to use **emacs27**, the latest version currently available. - + ## Screenshot ![img](images/Sample.png) - + ## About README This README is originated from `init.org` that is generated using `M-x org-gfm-export-to-markdown`. Every block of code is generated through this function - it exports sections of code from the `elisp/` directory. You will not see their presence in `init.org`. - + ## Installation @@ -206,7 +206,7 @@ I will be updating M-EMACS from time to time, it is best to `git pull` once a wh Please also execute `git submodule update --recursive --remote` to sync with all the submodules. - + ## Modification @@ -224,14 +224,14 @@ However, what is *free* stays *free*. After all, this is [GPL](LICENSE). 6. Call `M-x org-gfm-export-to-markdown` to update `README.md` automatically. - + ## Contribution If you spotted a bug or you have any suggestions, please fill in an issue. If you have something to fix, feel free to create a pull request. - + ## Special Thanks @@ -242,12 +242,12 @@ Everyone starts somewhere, and I started here. - [Poncie Reyes's .emacs.d](https://github.com/poncie/.emacs.d) - + # Startup - + ## Lexical Binding @@ -260,7 +260,7 @@ Use lexical-binding. [Why?](https://nullprogram.com/blog/2016/12/22/) ``` - + ## Early Init @@ -337,7 +337,7 @@ It will be faster to disable them here before they've been initialized. ``` - + ## Garbage Collection @@ -390,7 +390,7 @@ If you experience freezing, decrease this. If you experience stuttering, increas ``` - + ## Load Path @@ -414,7 +414,7 @@ Since all the configuration files are stored in `elisp/` folder, they need to be ``` - + ## Define Constants @@ -484,14 +484,14 @@ Since all the configuration files are stored in `elisp/` folder, they need to be ``` - + # Package Management Some packages are disabled with the `:disabled` tag, because I don't use them very often. They might not work. - + ## Melpa Packages @@ -511,7 +511,7 @@ Configure package archives, where to install online packages and add them to `lo ``` - + ## Non-Melpa Packages @@ -536,7 +536,7 @@ git submodule update ``` - + ## Configure Package Manager @@ -552,7 +552,7 @@ git submodule update ``` - + ## Use Package @@ -578,7 +578,7 @@ My Emacs configuration is almost entirely dependant on [use-package](https://git ``` - + ## Auto Package Update @@ -597,7 +597,7 @@ My Emacs configuration is almost entirely dependant on [use-package](https://git ``` - + ## Diminish @@ -608,12 +608,12 @@ My Emacs configuration is almost entirely dependant on [use-package](https://git ``` - + # Global Functionalities - + ## User Information @@ -625,7 +625,7 @@ My Emacs configuration is almost entirely dependant on [use-package](https://git ``` - + ## Bindings @@ -648,7 +648,7 @@ My Emacs configuration is almost entirely dependant on [use-package](https://git ``` - + ## Avy @@ -668,7 +668,7 @@ My Emacs configuration is almost entirely dependant on [use-package](https://git ``` - + ## Crux @@ -689,7 +689,7 @@ My Emacs configuration is almost entirely dependant on [use-package](https://git ``` - + ## Ivy, Amx, Counsel, Swiper @@ -728,7 +728,7 @@ My Emacs configuration is almost entirely dependant on [use-package](https://git ``` - + ## Color Ripgrep @@ -744,7 +744,7 @@ My Emacs configuration is almost entirely dependant on [use-package](https://git ``` - + ## Snails @@ -780,7 +780,7 @@ My Emacs configuration is almost entirely dependant on [use-package](https://git ``` - + ## Files Directories @@ -863,7 +863,7 @@ Dired, the directory editor. ``` - + ## Winner @@ -889,7 +889,7 @@ Winner, a mode to restore previous window layouts. ``` - + ## Which Key @@ -906,7 +906,7 @@ Winner, a mode to restore previous window layouts. ``` - + ## Popup Kill Ring @@ -918,7 +918,7 @@ Winner, a mode to restore previous window layouts. ``` - + ## Undo Tree @@ -932,7 +932,7 @@ Winner, a mode to restore previous window layouts. ``` - + ## Discover My Major @@ -944,7 +944,7 @@ Winner, a mode to restore previous window layouts. ``` - + ## Ace Window @@ -956,7 +956,7 @@ Winner, a mode to restore previous window layouts. ``` - + ## Shells @@ -1015,7 +1015,7 @@ Winner, a mode to restore previous window layouts. ``` - + ## Sudo Edit @@ -1027,7 +1027,7 @@ Winner, a mode to restore previous window layouts. ``` - + ## Configs @@ -1156,7 +1156,7 @@ It deletes trailing whitespace current line. Therefore I use this alternative." ``` - + ## Functions @@ -1187,6 +1187,20 @@ Important functions. ;; Setup shorcuts for window resize width and height (global-set-key (kbd "C-z w") #'resize-window-width) (global-set-key (kbd "C-z h") #'resize-window-height) + +(defun resize-window (width delta) + "Resize the current window's size. If WIDTH is non-nil, resize width by some DELTA." + (if (> (count-windows) 1) + (window-resize nil delta width) + (error "You need more than 1 window to execute this function!"))) + +;; Setup shorcuts for window resize width and height +(global-set-key (kbd "M-W +") (lambda () (interactive) (resize-window t 5))) +(global-set-key (kbd "M-W =") (lambda () (interactive) (resize-window t 5))) +(global-set-key (kbd "M-W -") (lambda () (interactive) (resize-window t -5))) +(global-set-key (kbd "M-H +") (lambda () (interactive) (resize-window nil 5))) +(global-set-key (kbd "M-H =") (lambda () (interactive) (resize-window nil 5))) +(global-set-key (kbd "M-H -") (lambda () (interactive) (resize-window nil -5))) ``` @@ -1308,12 +1322,12 @@ FACE defaults to inheriting from default and highlight." ``` - + # User Interface Enhancements - + ## Doom Themes @@ -1332,7 +1346,7 @@ FACE defaults to inheriting from default and highlight." ``` - + ## Doom Modeline @@ -1351,7 +1365,7 @@ FACE defaults to inheriting from default and highlight." ``` - + ## Dashboard @@ -1416,7 +1430,7 @@ Use either `KEC_Dark_BK.png` or `KEC_Light_BK.png` depends on the backgrond them ``` - + ## Fonts and Icons @@ -1483,7 +1497,7 @@ Function to switch between fonts. ``` - + ## Smooth Scrolling @@ -1506,7 +1520,7 @@ Configurations to smooth scrolling. ``` - + ## Prettify Symbols @@ -1530,7 +1544,7 @@ Configurations to smooth scrolling. ``` - + ## UI Configs @@ -1583,12 +1597,12 @@ Display time and battery information in modeline. ``` - + # General Programming - + ## Magit @@ -1601,7 +1615,7 @@ Display time and battery information in modeline. ``` - + ## Projectile @@ -1627,7 +1641,7 @@ Display time and battery information in modeline. ``` - + ## Treemacs @@ -1706,7 +1720,7 @@ Display time and battery information in modeline. ``` - + ## YASnippet @@ -1740,7 +1754,7 @@ Display time and battery information in modeline. ``` - + ## Flycheck @@ -1758,7 +1772,7 @@ Display time and battery information in modeline. ``` - + ## Dumb Jump @@ -1775,7 +1789,7 @@ Display time and battery information in modeline. ``` - + ## Parenthesis @@ -1861,7 +1875,7 @@ Match and automatically pair parenthesis, and show parenthesis even when it went ``` - + ## Indentation @@ -1900,7 +1914,7 @@ Indentation Configuration ``` - + ## Quickrun @@ -1914,7 +1928,7 @@ Indentation Configuration ``` - + ## Format All @@ -1928,7 +1942,7 @@ Indentation Configuration ``` - + ## Evil Nerd Commenter @@ -1942,7 +1956,7 @@ Indentation Configuration ``` - + ## Editing @@ -1991,7 +2005,7 @@ Indentation Configuration ``` - + ## Headers @@ -2010,7 +2024,7 @@ Indentation Configuration ``` - + ## Jupyter Notebook @@ -2030,7 +2044,7 @@ Indentation Configuration ``` - + ## LSP @@ -2091,7 +2105,7 @@ Indentation Configuration ``` - + ## DAP @@ -2123,7 +2137,7 @@ Indentation Configuration ``` - + ## Company @@ -2331,12 +2345,12 @@ This is enabled by default, if ever you find it not good enough for a particular ``` - + # Programming - + ## Java @@ -2359,7 +2373,7 @@ This is enabled by default, if ever you find it not good enough for a particular ``` - + ## C/C++/Objective C @@ -2415,7 +2429,7 @@ This is enabled by default, if ever you find it not good enough for a particular ``` - + ## Golang @@ -2434,7 +2448,7 @@ go get golang.org/x/tools/gopls@latest ``` - + ## Python @@ -2466,7 +2480,7 @@ go get golang.org/x/tools/gopls@latest ``` - + ## ESS @@ -2483,7 +2497,7 @@ go get golang.org/x/tools/gopls@latest ``` - + ## TeX @@ -2532,7 +2546,7 @@ go get golang.org/x/tools/gopls@latest ``` - + # Web Development @@ -2544,7 +2558,7 @@ npm i -g typescript-language-server ``` - + ## Web Mode @@ -2561,7 +2575,7 @@ npm i -g typescript-language-server ``` - + ## JavaScript/TypeScript @@ -2588,7 +2602,7 @@ npm i -g typescript-language-server ``` - + ## Emmet @@ -2601,7 +2615,7 @@ npm i -g typescript-language-server ``` - + ## Instant Rename Tag @@ -2614,7 +2628,7 @@ npm i -g typescript-language-server ``` - + ## JSON @@ -2626,12 +2640,12 @@ npm i -g typescript-language-server ``` - + # Miscellaneous - + ## Org @@ -2737,7 +2751,7 @@ npm i -g typescript-language-server ``` - + ## EAF @@ -2778,7 +2792,7 @@ sudo apt-get install python3-pyqt5.qtwebengine python3-pyqt5.qtmultimedia ``` - + ## ERC @@ -2885,7 +2899,7 @@ machine irc.freenode.net login password port 6697 ``` - + ## EWW @@ -2905,7 +2919,7 @@ Emacs Web Wowser, the HTML-based Emacs Web Browser. ``` - + ## MU4E @@ -3013,7 +3027,7 @@ Emacs Web Wowser, the HTML-based Emacs Web Browser. ``` - + ## Tramp @@ -3049,7 +3063,7 @@ Connect to Google Cloud Platform using the following: ``` - + ## PDF Tools @@ -3073,7 +3087,7 @@ Connect to Google Cloud Platform using the following: ``` - + ## LeetCode @@ -3092,7 +3106,7 @@ Connect to Google Cloud Platform using the following: ``` - + ## Pyim @@ -3136,7 +3150,7 @@ Connect to Google Cloud Platform using the following: ``` - + ## EPaint @@ -3156,7 +3170,7 @@ Connect to Google Cloud Platform using the following: ``` - + ## Tetris @@ -3179,7 +3193,7 @@ Although [Tetris](https://www.emacswiki.org/emacs/TetrisMode) is part of Emacs, ``` - + ## Speed Type @@ -3191,7 +3205,7 @@ Although [Tetris](https://www.emacswiki.org/emacs/TetrisMode) is part of Emacs, ``` - + ## 2048 Game @@ -3203,7 +3217,7 @@ Although [Tetris](https://www.emacswiki.org/emacs/TetrisMode) is part of Emacs, ``` - + ## Zone diff --git a/elisp/init-func.el b/elisp/init-func.el index fd5992ff..bad10f57 100644 --- a/elisp/init-func.el +++ b/elisp/init-func.el @@ -6,7 +6,7 @@ ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Sun Jun 9 17:53:44 2019 (-0400) ;; Version: 2.0.0 -;; Last-Updated: Tue Dec 24 14:22:38 2019 (-0500) +;; Last-Updated: Thu Dec 26 21:14:28 2019 (-0500) ;; By: Mingde (Matthew) Zeng ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d @@ -62,6 +62,20 @@ ;; Setup shorcuts for window resize width and height (global-set-key (kbd "C-z w") #'resize-window-width) (global-set-key (kbd "C-z h") #'resize-window-height) + +(defun resize-window (width delta) + "Resize the current window's size. If WIDTH is non-nil, resize width by some DELTA." + (if (> (count-windows) 1) + (window-resize nil delta width) + (error "You need more than 1 window to execute this function!"))) + +;; Setup shorcuts for window resize width and height +(global-set-key (kbd "M-W +") (lambda () (interactive) (resize-window t 5))) +(global-set-key (kbd "M-W =") (lambda () (interactive) (resize-window t 5))) +(global-set-key (kbd "M-W -") (lambda () (interactive) (resize-window t -5))) +(global-set-key (kbd "M-H +") (lambda () (interactive) (resize-window nil 5))) +(global-set-key (kbd "M-H =") (lambda () (interactive) (resize-window nil 5))) +(global-set-key (kbd "M-H -") (lambda () (interactive) (resize-window nil -5))) ;; -ResizeWidthheight ;; EditConfig diff --git a/init.org b/init.org index 8c3947ca..850d0067 100644 --- a/init.org +++ b/init.org @@ -348,20 +348,20 @@ ** Functions Important functions. *** Resize Window Width / Height Functions - #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "ResizeWidthheight" :range-end "-ResizeWidthheight" :lines "44-65" + #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "ResizeWidthheight" :range-end "-ResizeWidthheight" :lines "44-79" *** Edit This Configuration File Shortcut - #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "EditConfig" :range-end "-EditConfig" :lines "68-74" + #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "EditConfig" :range-end "-EditConfig" :lines "82-88" *** Update Org Mode Include Automatically Update Org Mode INCLUDE Statements Automatically from [[http://endlessparentheses.com/updating-org-mode-include-statements-on-the-fly.html][Artur Malabarba]]. - #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "OrgIncludeAuto" :range-end "-OrgIncludeAuto" :lines "77-122" + #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "OrgIncludeAuto" :range-end "-OrgIncludeAuto" :lines "91-136" *** MiniBuffer Functions - #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "BetterMiniBuffer" :range-end "-BetterMiniBuffer" :lines "125-134" + #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "BetterMiniBuffer" :range-end "-BetterMiniBuffer" :lines "139-148" *** Display Line Overlay - #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "DisplayLineOverlay" :range-end "-DisplayLineOverlay" :lines "137-149" + #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "DisplayLineOverlay" :range-end "-DisplayLineOverlay" :lines "151-163" *** Read Lines From File - #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "ReadLines" :range-end "-ReadLines" :lines "152-156" + #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "ReadLines" :range-end "-ReadLines" :lines "166-170" *** Where Am I - #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "WhereAmI" :range-end "-WhereAmI" :lines "159-163" + #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "WhereAmI" :range-end "-WhereAmI" :lines "173-177" * User Interface Enhancements ** Doom Themes [[https://github.com/hlissner/emacs-doom-themes][Doom Themes]], an UI plugin and pack of themes.