130 lines
3.6 KiB
Org Mode
130 lines
3.6 KiB
Org Mode
#+TITLE: KyleKrein's GNU Emacs Config
|
|
#+STARTUP: showeverything
|
|
#+OPTIONS: toc:2
|
|
#+PROPERTY: header-args:emacs-lisp :lexical t
|
|
|
|
|
|
* IMPORTANT PROGRAMS TO LOAD FIRST
|
|
** Evil Mode
|
|
#+begin_src emacs-lisp :lexical t
|
|
(use-package evil
|
|
:ensure t
|
|
:init ;; tweak evil's configuration before loading it
|
|
(setq evil-want-integration t) ;; This is optional since it's already set to t by default.
|
|
(setq evil-want-keybinding nil)
|
|
(setq evil-vsplit-window-right t)
|
|
(setq evil-split-window-below t)
|
|
(evil-mode))
|
|
(use-package evil-collection
|
|
:ensure t
|
|
:after evil
|
|
:config
|
|
(setq evil-collection-mode-list '(dashboard dired ibuffer))
|
|
(evil-collection-init))
|
|
(use-package evil-tutor
|
|
:ensure t)
|
|
#+end_src
|
|
** General Keybindings
|
|
#+begin_src emacs-lisp
|
|
(use-package general
|
|
:ensure t
|
|
:config
|
|
(general-evil-setup)
|
|
;; set up 'SPC' as the global leader key
|
|
(general-create-definer leader-keys
|
|
:states '(normal insert visual emacs)
|
|
:keymaps 'override
|
|
:prefix "SPC" ;; set leader
|
|
:global-prefix "M-SPC") ;; access leader in insert mode
|
|
(leader-keys
|
|
"." '(find-file :wk "Find file")
|
|
"TAB TAB" '(comment-line :wk "Comment lines"))
|
|
)
|
|
|
|
#+end_src
|
|
|
|
* Fonts
|
|
Defining the various fonts that Emacs will use.
|
|
#+begin_src emacs-lisp
|
|
(set-face-attribute 'default nil
|
|
:font "JetBrains Mono"
|
|
:height 110
|
|
:weight 'medium)
|
|
(set-face-attribute 'variable-pitch nil
|
|
:font "Ubuntu"
|
|
:height 120
|
|
:weight 'medium)
|
|
(set-face-attribute 'fixed-pitch nil
|
|
:font "JetBrains Mono"
|
|
:height 110
|
|
:weight 'medium)
|
|
;; Makes commented text and keywords italics.
|
|
;; This is working in emacsclient but not emacs.
|
|
;; Your font must have an italic face available.
|
|
(set-face-attribute 'font-lock-comment-face nil
|
|
:slant 'italic)
|
|
(set-face-attribute 'font-lock-keyword-face nil
|
|
:slant 'italic)
|
|
|
|
;; This sets the default font on all graphical frames created after restarting Emacs.
|
|
;; Does the same thing as 'set-face-attribute default' above, but emacsclient fonts
|
|
;; are not right unless I also add this method of setting the default font.
|
|
(add-to-list 'default-frame-alist '(font . "JetBrains Mono-11"))
|
|
|
|
;; Uncomment the following line if line spacing needs adjusting.
|
|
(setq-default line-spacing 0.12)
|
|
#+end_src
|
|
|
|
* GRAPHICAL USER INTERFACE TWEAKS
|
|
Let's make GNU Emacs look a little better.
|
|
|
|
** Disable Menubar, Toolbars and Scrollbars
|
|
#+begin_src emacs-lisp
|
|
(menu-bar-mode -1)
|
|
(tool-bar-mode -1)
|
|
(scroll-bar-mode -1)
|
|
#+end_src
|
|
|
|
** Display Line Numbers and Truncated Lines
|
|
#+begin_src emacs-lisp
|
|
(global-display-line-numbers-mode 1)
|
|
(global-visual-line-mode t)
|
|
#+end_src
|
|
* ORG MODE
|
|
** Enabling Table of Contents
|
|
#+begin_src emacs-lisp
|
|
(use-package toc-org
|
|
:ensure t
|
|
:commands toc-org-enable
|
|
:init (add-hook 'org-mode-hook 'toc-org-enable))
|
|
#+end_src
|
|
|
|
** Enabling Org Bullets
|
|
Org-bullets gives us attractive bullets rather than asterisks.
|
|
|
|
#+begin_src emacs-lisp
|
|
(add-hook 'org-mode-hook 'org-indent-mode)
|
|
(use-package org-bullets :ensure t)
|
|
(add-hook 'org-mode-hook (lambda () (org-bullets-mode 1)))
|
|
#+end_src
|
|
|
|
* WHICH-KEY
|
|
#+begin_src emacs-lisp
|
|
(use-package which-key
|
|
:ensure t
|
|
:init
|
|
(which-key-mode 1)
|
|
:config
|
|
(setq which-key-side-window-location 'bottom
|
|
which-key-sort-order #'which-key-key-order-alpha
|
|
which-key-sort-uppercase-first nil
|
|
which-key-add-column-padding 1
|
|
which-key-max-display-columns nil
|
|
which-key-min-display-lines 6
|
|
which-key-side-window-slot -10
|
|
which-key-side-window-max-height 0.25
|
|
which-key-idle-delay 0.8
|
|
which-key-max-description-length 25
|
|
which-key-allow-imprecise-window-fit t
|
|
which-key-separator " → " ))
|
|
#+end_src
|