summaryrefslogtreecommitdiff
path: root/config.org
diff options
context:
space:
mode:
authoryuzu-eva <stevenhu@web.de>2023-04-01 21:50:25 +0200
committeryuzu-eva <stevenhu@web.de>2023-04-01 21:50:25 +0200
commita5d333efa771da6ad54b74492393b05cc85ffd75 (patch)
tree46730b6e9b69189064055cd8386112b700f2ebb5 /config.org
parentf667b097738b1087773e4afff44a456344a4a6fc (diff)
feat: added evil and evil-org; reorganized config.org
Diffstat (limited to 'config.org')
-rw-r--r--config.org165
1 files changed, 107 insertions, 58 deletions
diff --git a/config.org b/config.org
index 2b47d00..b8061fa 100644
--- a/config.org
+++ b/config.org
@@ -12,100 +12,97 @@
* QoL section
Some quality-of-life improvements
-** Enable line number
-Certain modes will break with line-numbers-mode (e.g. ansi-term) so I'm only enabling it
-on some major modes rather than globally
+** Disable annoyances
+
+*** Disable default startup screen
#+begin_src emacs-lisp
- (add-hook 'prog-mode-hook 'display-line-numbers-mode)
- (add-hook 'text-mode-hook 'display-line-numbers-mode)
+ (setq inhibit-startup-message t)
#+end_src
-** Show parent parentheses
+*** Disable most GUI elements
#+begin_src emacs-lisp
- (show-paren-mode 1)
+ (tool-bar-mode -1)
+ (menu-bar-mode -1)
+ (scroll-bar-mode -1)
#+end_src
-** Enable rainbow-delimiters in all programming modes
+*** Disable automatic creation of backup files
#+begin_src emacs-lisp
- (add-hook 'prog-mode-hook 'rainbow-delimiters-mode)
+ (setq make-backup-files nil)
+ (setq auto-save-default nil)
#+end_src
-** Disable default startup screen
+*** Disable ring-bell
#+begin_src emacs-lisp
- (setq inhibit-startup-message t)
+ (setq ring-bell-function 'ignore)
#+end_src
-** Disable most GUI elements
+** Visual improvements
+
+*** Enable line number
+Certain modes will break with line-numbers-mode (e.g. ansi-term) so I'm only enabling it
+on some major modes rather than globally
#+begin_src emacs-lisp
- (tool-bar-mode -1)
- (menu-bar-mode -1)
- (scroll-bar-mode -1)
+ (add-hook 'prog-mode-hook 'display-line-numbers-mode)
+ (add-hook 'text-mode-hook 'display-line-numbers-mode)
#+end_src
-** Enable copy-pasting outside of emacs
+*** Enable prettify symbols
#+begin_src emacs-lisp
- (setq x-select-enable-clipboard t)
+ (global-prettify-symbols-mode t)
#+end_src
-
-** Disable automatic creation of backup files
+*** Enable rainbow-delimiters in all programming modes
#+begin_src emacs-lisp
- (setq make-backup-files nil)
- (setq auto-save-default nil)
+ (add-hook 'prog-mode-hook 'rainbow-delimiters-mode)
#+end_src
-** Enable conservative scrolling
+*** Show parent parentheses
#+begin_src emacs-lisp
- (setq scroll-conservatively 100)
+ (show-paren-mode 1)
#+end_src
-** Disable ring-bell
+*** Highlight current line
#+begin_src emacs-lisp
- (setq ring-bell-function 'ignore)
+ (global-hl-line-mode t)
#+end_src
-** Indentation
+*** Enable conservative scrolling
#+begin_src emacs-lisp
- (setq-default tab-width 4)
- (setq-default standard-indent 4)
- (setq c-basic-offset tab-width)
- (setq-default electric-indent-inhibit t)
- (setq-default indent-tabs-mode t)
- (setq backward-delete-char-untabify-method 'nil)
+ (setq scroll-conservatively 100)
#+end_src
-** Enable prettify symbols
+** Ease of use
+
+*** Enable copy-pasting outside of emacs
#+begin_src emacs-lisp
- (global-prettify-symbols-mode t)
+ (setq x-select-enable-clipboard t)
#+end_src
-** Enable pair-matching
+*** Enable pair-matching
#+begin_src emacs-lisp
(electric-pair-mode t)
#+end_src
-** Creating new window automatically focuses it
+*** Enable subword-mode
#+begin_src emacs-lisp
- (defun split-and-follow-horizontally ()
- (interactive)
- (split-window-below)
- (balance-windows)
- (other-window 1))
- (global-set-key (kbd "C-x 2") 'split-and-follow-horizontally)
-
- (defun split-and-follow-vertically ()
- (interactive)
- (split-window-right)
- (balance-windows)
- (other-window 1))
- (global-set-key (kbd "C-x 3") 'split-and-follow-vertically)
+
+#+end_src
+*** Indentation
+#+begin_src emacs-lisp
+ (setq-default tab-width 4)
+ (setq-default standard-indent 4)
+ (setq c-basic-offset tab-width)
+ (setq-default electric-indent-inhibit t)
+ (setq-default indent-tabs-mode t)
+ (setq backward-delete-char-untabify-method 'nil)
#+end_src
-** Change yes/no prompt to just y/n
+*** Change yes/no prompt to just y/n
#+begin_src emacs-lisp
(defalias 'yes-or-no-p 'y-or-n-p)
#+end_src
-** More comfortable resize bindings
+*** More comfortable resize bindings
#+begin_src emacs-lisp
(global-set-key (kbd "s-C-<left>") 'shrink-window-horizontally)
(global-set-key (kbd "s-C-<right>") 'enlarge-window-horizontally)
@@ -113,12 +110,7 @@ on some major modes rather than globally
(global-set-key (kbd "s-C-<up>") 'enlarge-window)
#+end_src
-** Highlight current line
-#+begin_src emacs-lisp
- (global-hl-line-mode t)
-#+end_src
-
-** Enable ido mode
+*** Enable ido mode
#+begin_src emacs-lisp
(setq ido-enable-flex-matching nil)
(setq ido-create-new-buffer 'always)
@@ -127,7 +119,8 @@ on some major modes rather than globally
(ido-mode 1)
#+end_src
-** Change default buffer-list
+*** Change default buffer-list
+
I hate the default buffer list. I'm using ido-switch-buffer on "C-x C-b" and
ibuffer on "C-x b"
@@ -190,6 +183,28 @@ Defining sensible org-mode defaults
(global-set-key (kbd "C-c r") 'config-reload)
#+end_src
+** Creating new window automatically focuses it
+
+*** horizontal
+#+begin_src emacs-lisp
+ (defun split-and-follow-horizontally ()
+ (interactive)
+ (split-window-below)
+ (balance-windows)
+ (other-window 1))
+ (global-set-key (kbd "C-x 2") 'split-and-follow-horizontally)
+#+end_src
+
+*** vertical
+#+begin_src emacs-lisp
+ (defun split-and-follow-vertically ()
+ (interactive)
+ (split-window-right)
+ (balance-windows)
+ (other-window 1))
+ (global-set-key (kbd "C-x 3") 'split-and-follow-vertically)
+#+end_src
+
* Use-Package section
** Initialize =auto-package-update=
@@ -305,3 +320,37 @@ Better way to switch windows
:bind
([remap other-window] . switch-window))
#+end_src
+
+** Initialize =evil=
+
+*** Description
+Vim keybindings in emacs. I don't like the emacs text editing keybindings
+
+*** Code
+#+begin_src emacs-lisp
+ (use-package evil
+ :ensure t
+ :defer nil
+ :init
+ (setq evil-want-keybinding nil)
+ (setq evil-want-C-u-scroll t)
+ :config
+ (evil-mode 1))
+#+end_src
+
+** Initialize =evil-org-mode=
+
+*** Description
+Evil extension for org-mode
+
+*** Code
+#+begin_src emacs-lisp
+ (use-package evil-org
+ :ensure t
+ :after org
+ :config
+ (require 'evil-org-agenda)
+ (evil-org-agenda-set-keys)
+ :init
+ (add-hook 'org-mode-hook #'evil-org-mode 1))
+#+end_src