Setting
Org Mode
Packages
Keybinding
(setq electric-pair-pairs '(
(?\{ . ?\} )
(?\( . ?\) )
(?\[ . ?\] )
(?\" . ?\" )
))
(electric-pair-mode t )
(setq display-time-default-load-average nil )
(setq ring-bell-function 'ignore )
(use-package diminish
:ensure t
:init
(diminish 'which-key-mode )
(diminish 'linum-relative-mode )
(diminish 'hungry-delete-mode )
(diminish 'visual-line-mode )
(diminish 'subword-mode )
(diminish 'beacon-mode )
(diminish 'irony-mode )
(diminish 'page-break-lines-mode )
(diminish 'auto-revert-mode )
(diminish 'rainbow-delimiters-mode )
(diminish 'rainbow-mode )
(diminish 'yas-minor-mode )
(diminish 'flycheck-mode )
(diminish 'helm-mode ))
(setq backup-directory-alist `((" ." . ,(expand-file-name " tmp/backups/" user-emacs-directory))))
(setq scroll-conservatively 100 )
(setq locale-coding-system 'utf-8 )
(set-terminal-coding-system 'utf-8 )
(set-keyboard-coding-system 'utf-8 )
(set-selection-coding-system 'utf-8 )
(prefer-coding-system 'utf-8 )
(setq kill-buffer-query-functions (delq 'process-kill-buffer-query-function kill-buffer-query-functions))
Change yes-or-no into y-or-n
(defalias 'yes-or-no-p 'y-or-n-p )
Uses Space Instead Of Tabs For Indentation
(setq-default indent-tabs-mode nil )
(setq org-hide-emphasis-markers t )
(setq org-ellipsis " ▾" )
(setq org-src-fontify-natively t )
(setq org-src-tab-acts-natively t )
(setq org-confirm-babel-evaluate nil )
(setq org-export-with-smart-quotes t )
(setq org-src-window-setup 'current-window )
(setq org-startup-folded t )
(setq org-startup-indented t )
(setq org-startup-with-inline-images t )
(add-hook 'org-mode-hook 'org-indent-mode )
(use-package evil-org
:ensure t
:after (evil org )
:config
(add-hook 'org-mode-hook 'evil-org-mode )
(add-hook 'evil-org-mode-hook
(lambda ()
(evil-org-set-key-theme '(navigation insert textobjects additional calendar))))
(require 'evil-org-agenda )
(evil-org-agenda-set-keys))
(use-package org-roam
:ensure t
:init
(setq org-roam-v2-ack t )
:custom
(org-roam-directory " ~/RoamNotes" )
(org-roam-completion-everywhere t )
:bind ((" C-c n l" . org-roam-buffer-toggle)
(" C-c n f" . org-roam-node-find)
(" C-c n i" . org-roam-node-insert)
:map org-mode-map
(" C-M-i" . completion-at-point)
:map org-roam-dailies-map)
:config
(org-roam-setup))
(use-package org-superstar
:ensure t
:init
(add-hook 'org-mode-hook (lambda () (org-superstar-mode 1 )))
(dolist (face '((org-level-1 . 1.5 )
(org-level-2 . 1.3 )
(org-level-3 . 1.2 )
(org-level-4 . 1.2 )
(org-level-5 . 1.2 )
(org-level-6 . 1.2 )
(org-level-7 . 1.2 )
(org-level-8 . 1.2 )))
(set-face-attribute (car face) nil :font " FiraCode Nerd Font" :weight 'medium :height (cdr face))))
(use-package doom-themes
:ensure t )
(load-theme 'doom-badger t )
(use-package all-the-icons-dired
:ensure t
:init (add-hook 'dired-mode-hook 'all-the-icons-dired-mode ))
(use-package all-the-icons
:ensure t )
(scroll-bar-mode -1 )
(tool-bar-mode -1 )
(tooltip-mode -1 )
(fringe-mode -1 )
(menu-bar-mode -1 )
(visual-line-mode 1 )
(blink-cursor-mode -1 )
(use-package beacon ; ; This applies a beacon effect to the highlighted line
:ensure t
:config
(beacon-mode 1 ))
Disable Relative Mode In Some Mode
(dolist (mode '(org-mode-hook
term-mode-hook
shell-mode-hook
treemacs-mode-hook
eshell-mode-hook))
(add-hook mode (lambda () (display-line-numbers-mode 0 ))))
(setq display-line-numbers-type 'relative )
Remove Lame Startup Screen
(setq inhibit-startup-message t )
(use-package dashboard
:ensure t
:init
(setq dashboard-show-shortcuts nil )
(setq dashboard-set-file-icons t )
(setq dashboard-banner-logo-title " Welcome To A Better Text Editor!" )
(setq dashboard-startup-banner " ~/.emacs.d/img/icon.png" )
(setq initial-buffer-choice (lambda () (get-buffer " *dashboard*" )))
(setq dashboard-items '((recents . 5 )
(bookmarks . 5 )))
(dashboard-setup-startup-hook))
(use-package doom-modeline
:ensure t
:init
(setq doom-modeline-buffer-file-name-style 'truncate-upto-project )
(setq doom-modeline-height 33 )
(setq doom-modeline-bar-width 7 )
(setq doom-modeline-buffer-encoding nil )
(line-number-mode -1 )
(doom-modeline-mode 1 ))
(setq display-time-format " %b %d %l:%M "
display-time-default-load-average nil )
(display-time-mode 1 )
(use-package fancy-battery
:ensure t
:config
(setq fancy-battery-show-percentage t )
(setq battery-update-interval 15 )
(fancy-battery-mode))
(add-to-list 'default-frame-alist '(font . " firacode nerd font-13" ))
Hightlight Matching Braces
(use-package paren
:ensure nil
:init
(set-face-attribute 'show-paren-match-expression nil :background " #363e4a" )
(show-paren-mode 1 ))
(use-package gcmh
:ensure t
:diminish gcmh-mode
:config
(setq gcmh-idle-delay 5
gcmh-high-cons-threshold (* 16 1024 1024 )) ; 16mb
(gcmh-mode 1 ))
(add-hook 'emacs-startup-hook
(lambda ()
(setq gc-cons-percentage 0.1 ))) ; ; Default value for `gc-cons-percentage'
(add-hook 'emacs-startup-hook
(lambda ()
(message " Emacs ready in %s with %d garbage collection s. "
(format " %. 2f seconds"
(float-time
(time-subtract after-init-time before-init-time)))
gcs-done)))
(use-package magit
:ensure t )
(use-package rainbow-mode
:ensure t
:init (add-hook 'prog-mode-hook 'rainbow-mode ))
(use-package rainbow-delimiters
:ensure t
:init
(rainbow-delimiters-mode 1 ))
(use-package treemacs
:ensure t
:bind ((" M-o" . treemacs)
(" M-t" . treemacs-select-window))
:config
(setq treemacs-is-never-other-window t )
(setq treemacs-show-hidden-files t ))
(use-package ox-reveal
:ensure t )
(setq org-reveal-root " https://cdn.jsdelivr.net/npm/reveal.js" )
(setq org-reveal-mathjax t )
(use-package htmlize
:ensure t )
(use-package company
:ensure t
:config
(setq company-idle-delay 1 )
(setq company-minimum-prefix-length 3 )
:init
(company-mode 1 ))
(with-eval-after-load 'company
(define-key company-active-map (kbd " M-n" ) nil )
(define-key company-active-map (kbd " M-p" ) nil )
(define-key company-active-map (kbd " C-n" ) #'company-select-next )
(define-key company-active-map (kbd " C-p" ) #'company-select-previous )
(define-key company-active-map (kbd " SPC" ) #'company-abort ))
(use-package vertico
:ensure t
:init
(vertico-mode))
(use-package orderless
:ensure t
:custom (completion-styles '(orderless)))
(use-package consult
:ensure t
:bind
(" M-b" . 'consult-bookmark )
(" C-s" . 'consult-line )
(" M-y" . 'consult-yank-pop ))
(use-package marginalia
:ensure t )
(marginalia-mode)
(use-package writeroom-mode
:ensure t
:config
(setq writeroom-maximize-window nil
writeroom-header-line " Writer Mode"
writeroom-mode-line nil
writeroom-global-effects nil )
(setq writeroom-width 80 ))
(use-package sudo-edit
:ensure t )
(use-package yasnippet
:ensure t
:config
(setq yas-snippet-dirs '(" ~/.emacs.d/etc/yasnippet/snippets" ))
(yas-global-mode 1 ))
(use-package which-key
:config
(setq which-key-idle-delay 0.3 )
(setq which-key-popup-type 'frame )
(which-key-mode)
(which-key-setup-minibuffer)
(set-face-attribute 'which-key-local-map-description-face nil
:weight 'bold )
:ensure t )
(use-package evil
:ensure t
:init
(setq evil-want-keybinding t )
(setq evil-want-fine-undo t )
(setq evil-want-keybinding nil )
:config
(evil-set-initial-state 'dashboard-mode 'motion )
(evil-set-initial-state 'debugger-mode 'motion )
(evil-set-initial-state 'pdf-view-mode 'motion )
(evil-mode 1 ))
(use-package evil-collection
:ensure t
:after evil
:init
(evil-collection-init))
(use-package vterm
:ensure t
:init
(global-set-key (kbd " <S-return>" ) 'vterm ))
(use-package general
:ensure t
:bind (" C-q" . 'kill-current-buffer )
:init
(general-evil-setup t ))
(defun config-reload ()
(interactive )
(org-babel-load-file (expand-file-name " ~/.emacs.d/init.el" )))
(global-set-key (kbd " C-c r" ) 'config-reload )
(global-set-key (kbd " C-=" ) 'text-scale-increase )
(global-set-key (kbd " C--" ) 'text-scale-decrease )
(general-define-key
:states '(normal motion visual)
:keymaps 'override
:prefix " SPC"
" b" '(nil :which-key " buffer" )
" bi" '(consult-buffer :which-key " switch buffers" )
" bs" '(bookmark-set :which-key " set bookmark" )
" br" '(bookmark-delete :which-key " delete bookmark" )
" br" '(revert-buffer :which-key " revert buffer" )
" f" '(nil :which-key " files" )
" ." '(find-file :which-key " files" )
" fr" '(counsel-recentf :which-key " recent files" )
" fR" '(rename-file :which-key " rename file" )
" fu" '(sudo-edit-find-file :which-key " sudo find file" )
" fs" '(save-buffer :which-key " save buffer" )
" t" '(nil :which-key " toggles" )
" tb" '(display-battery-mode :which-key " toggle battery" )
" tl" '(display-line-numbers-mode :which-key " display line number" )
" tt" '(consult-theme :which-key " load theme" )
" tw" '(writeroom-mode :which-key " writeroom-mode" )
" tR" '(read-only-mode :which-key " read only mode" )
" w" '(nil :which-key " window" )
" wN" '(make-frame :which-key " make frame" )
" wd" '(delete-other-windows :which-key " delete other window" )
" wc" '(evil-window-delete :which-key " delete window" )
" w-" '(evil-window-split :which-key " split below" )
" w/" '(evil-window-vsplit :which-key " split right" )
" wl" '(evil-window-right :which-key " evil-window-right" )
" wh" '(evil-window-left :which-key " evil-window-left" )
" wj" '(evil-window-down :which-key " evil-window-down" )
" wk" '(evil-window-up :which-key " evil-window-up" ))