summaryrefslogtreecommitdiff
path: root/config/emacs/init.el
diff options
context:
space:
mode:
authorRaghuram Subramani <raghus2247@gmail.com>2024-06-21 21:50:19 +0530
committerRaghuram Subramani <raghus2247@gmail.com>2024-06-21 21:50:19 +0530
commit00561c0116e00781f3b1fbc5507a922a9b31a539 (patch)
tree99eb765d974ae1831d724768dbbfe1821b85e838 /config/emacs/init.el
parentfae3bcc8c9a51e5315d01139b3ae39c0178fee6c (diff)
Add emacs
Diffstat (limited to 'config/emacs/init.el')
-rw-r--r--config/emacs/init.el109
1 files changed, 109 insertions, 0 deletions
diff --git a/config/emacs/init.el b/config/emacs/init.el
new file mode 100644
index 0000000..bc05039
--- /dev/null
+++ b/config/emacs/init.el
@@ -0,0 +1,109 @@
+(require 'package)
+(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
+(package-initialize)
+(custom-set-variables
+ '(package-selected-packages '(fzf kaolin-themes evil flycheck lsp-mode cmake-mode)))
+
+(global-flycheck-mode 1)
+(add-hook 'python-mode-hook #'lsp-deferred)
+(add-hook 'c-mode-hook #'lsp-deferred)
+(add-hook 'c++-mode-hook #'lsp-deferred)
+
+(setq evil-want-C-u-scroll t)
+(setq evil-undo-system 'undo-redo)
+(require 'evil)
+(evil-mode 1)
+
+(set-fontset-font t nil "UbuntuMono Nerd Font Mono" nil 'append)
+
+(setq make-backup-files nil)
+(setq auto-save-default nil)
+
+(setq-default cursor-type 'bar)
+
+(setq scroll-step 1)
+
+(menu-bar-mode -1)
+(tool-bar-mode -1)
+(scroll-bar-mode -1)
+(blink-cursor-mode -1)
+(global-goto-address-mode 1)
+(global-visual-line-mode 1)
+(delete-selection-mode 1)
+(save-place-mode 1)
+
+(global-set-key (kbd "M-o") 'other-window)
+(global-set-key (kbd "M-z") 'ibuffer)
+(global-set-key (kbd "M-d") 'dired-jump)
+(global-set-key (kbd "M-k") 'kill-buffer)
+(global-set-key (kbd "M-t") 'eshell)
+(global-set-key (kbd "M-c") 'comment-line)
+
+(global-set-key (kbd "M-RET") 'compile)
+
+(defun display-flycheck-errors-bottom (buffer _action)
+ (let ((window (display-buffer-in-side-window
+ buffer '((side . bottom) (slot . 0) (window-height . 0.25)))))
+ (select-window window)
+ window))
+
+(add-to-list 'display-buffer-alist
+ '("^\\*Flycheck errors\\*$" . (display-flycheck-errors-bottom)))
+
+(global-set-key (kbd "M-e") 'flycheck-list-errors)
+
+(fset 'yes-or-no-p 'y-or-n-p)
+
+(setq initial-scratch-message "")
+(defun remove-scratch-buffer ()
+ (if (get-buffer "*scratch*")
+ (kill-buffer "*scratch*")))
+(add-hook 'after-change-major-mode-hook 'remove-scratch-buffer)
+
+(defun remove-native-compile-buffer ()
+ (if (get-buffer "*Async-native-compile-log*")
+ (kill-buffer "*Async-native-compile-log*")))
+(add-hook 'after-change-major-mode-hook 'remove-native-compile-buffer)
+
+(setq-default message-log-max nil)
+(kill-buffer "*Messages*")
+
+(add-hook 'minibuffer-exit-hook
+ #'(lambda ()
+ (let ((buffer "*Completions*"))
+ (and (get-buffer buffer)
+ (kill-buffer buffer)))))
+
+(add-hook 'compilation-filter-hook 'ansi-color-compilation-filter)
+
+(setq dired-listing-switches "-lah --group-directories-first")
+(setq dired-recursive-copies 'always)
+(setq dired-recursive-deletes 'always)
+
+(setq sentence-end-double-space nil)
+
+(setq ring-bell-function 'ignore)
+
+(global-display-line-numbers-mode 1)
+
+(electric-pair-mode 1)
+
+(savehist-mode 1)
+(setq savehist-additional-variables '(kill-ring search-ring regexp-search-ring))
+
+(require 'kaolin-themes)
+(load-theme 'kaolin-dark t)
+
+(add-to-list 'load-path (concat user-emacs-directory "/modeline"))
+(require 'simple-modeline)
+(simple-modeline-mode)
+
+(require 'fzf)
+(setq fzf/args "-x --color bw --print-query --margin=1,0 --no-hscroll --no-unicode"
+ fzf/executable "fzf"
+ fzf/git-grep-args "-i --line-number %s"
+ fzf/grep-command "rg --no-heading -nH"
+ fzf/position-bottom t
+ fzf/window-height 15)
+
+(global-set-key (kbd "C-SPC") 'fzf-directory)