diff options
| author | yuzu-eva <stevenhu@web.de> | 2023-04-01 21:50:25 +0200 |
|---|---|---|
| committer | yuzu-eva <stevenhu@web.de> | 2023-04-01 21:50:25 +0200 |
| commit | a5d333efa771da6ad54b74492393b05cc85ffd75 (patch) | |
| tree | 46730b6e9b69189064055cd8386112b700f2ebb5 | |
| parent | f667b097738b1087773e4afff44a456344a4a6fc (diff) | |
feat: added evil and evil-org; reorganized config.org
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | config.org | 165 |
2 files changed, 108 insertions, 58 deletions
@@ -1,5 +1,6 @@ config.el custom-vars.el +recentf history ido.last smex-items @@ -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 |
