Skip to content

Instantly share code, notes, and snippets.

@aelobdog
Last active July 17, 2022 09:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aelobdog/62f4fca45201ae63b225c987acb92634 to your computer and use it in GitHub Desktop.
Save aelobdog/62f4fca45201ae63b225c987acb92634 to your computer and use it in GitHub Desktop.
;; aelobdog's emacs configuration
(setq-default evil-escape-key-sequence "jk")
(setq-default evil-escape-delay 0.2)
(setq make-backup-files nil)
(setq auto-save-default nil)
(setq inhibit-startup-screen t)
(setq ring-bell-function 'ignore)
(set-frame-font "Jetbrains Mono-13" t)
(load-theme 'dracula t)
(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(package-initialize)
;; installing packages
(use-package evil
:ensure t
:init
(setq evil-search-module 'evil-search)
(setq evil-ex-complete-emacs-commands nil)
(setq evil-vsplit-window-right t)
(setq evil-split-window-below t)
(setq evil-shift-round nil)
(setq evil-want-C-u-scroll t))
(use-package evil-escape :ensure t)
(use-package company :ensure t)
(use-package ido-vertical-mode :ensure t)
(use-package smex :ensure t)
(use-package dashboard :ensure t)
(use-package org-superstar :ensure t)
(use-package eglot :ensure t)
(use-package tree-sitter :ensure t)
(use-package tree-sitter-langs :ensure t)
(use-package doom-modeline :ensure t)
(use-package ample-theme :ensure t)
(use-package dracula-theme :ensure t)
(use-package go-mode :ensure t)
(use-package zig-mode :ensure t)
;; emacs keys redefinition
(global-set-key "\C-s" 'save-buffer)
(global-set-key "\M-x" 'smex)
;; evil keys redefinition
(evil-global-set-key 'normal "\C-f" 'evil-search-forward)
(evil-global-set-key 'insert "\C-V" 'evil-paste-after)
(evil-global-set-key 'normal "\C-a" 'beginning-of-line)
(evil-global-set-key 'insert "\C-a" 'beginning-of-line)
(evil-global-set-key 'normal "\C-e" 'end-of-line)
(evil-global-set-key 'insert "\C-e" 'end-of-line)
;; LSP settings
;; ------------
;; C/C++
(add-hook 'c-mode-hook 'eglot-ensure)
(add-hook 'c-mode-hook 'tree-sitter-mode)
(add-hook 'c-mode-hook 'tree-sitter-hl-mode)
(add-hook 'c-mode-hook 'display-line-numbers-mode)
;; Go
(add-hook 'go-mode-hook 'eglot-ensure)
(add-hook 'go-mode-hook 'tree-sitter-mode)
(add-hook 'go-mode-hook 'tree-sitter-hl-mode)
(add-hook 'go-mode-hook 'display-line-numbers-mode)
;; Zig
(add-hook 'zig-mode-hook 'eglot-ensure)
(add-hook 'zig-mode-hook 'tree-sitter-mode)
(add-hook 'zig-mode-hook 'tree-sitter-hl-mode)
(add-hook 'zig-mode-hook 'display-line-numbers-mode)
;; setting different modes
(menu-bar-mode -1)
(tool-bar-mode -1)
(scroll-bar-mode -1)
(evil-mode t)
(evil-escape-mode t)
(global-company-mode t)
(ido-mode 1)
(ido-vertical-mode 1)
(dashboard-setup-startup-hook)
(doom-modeline-mode t)
;; stupid stuff that emacs adds to my config without fail.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment