Skip to content

madhurachanna/.doom.d

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Doom Emacs Configuration

Table of content

User Information

Font Settings

(setq doom-font (font-spec :family "SauceCodePro Nerd Font Mono" :size 20))
;; (setq doom-variable-pitch-font (font-spec :family "Fira Sans" :size 13))

Theme

(setq doom-theme 'doom-gruvbox)

Line Numbers

(setq display-line-numbers-type t)

Org Directory

(setq org-directory "~/org/")

Keybindings for Navigation

(map! :nv "J" (lambda () (interactive) (evil-next-visual-line 5)))
(map! :nv "K" (lambda () (interactive) (evil-previous-visual-line 5)))
(map! :nv "H" (lambda () (interactive) (evil-backward-char 5)))
(map! :nv "L" (lambda () (interactive) (evil-forward-char 5)))

Exit insert mode by pressing j and then j quickly

(use-package! evil-escape
  :init
  (setq evil-escape-key-sequence "jj"))

Buffer Navigation

(map! :nmv "<tab>" #'centaur-tabs-forward)
(map! :nmv "<S-tab>" #'centaur-tabs-backward)

Toggle Term

(map! :leader
      (:prefix ("t" . "toggle")
       :desc "Toggle vterm" "t" #'+vterm/toggle))

Custom Zen Mode

(defun my-zen-mode-toggle ()
  "Toggle custom Zen Mode to center text without increasing font size."
  (interactive)
  (if (bound-and-true-p visual-fill-column-mode)
      (my-zen-mode-exit)
    (my-zen-mode)))

(defun my-zen-mode ()
  "Activate custom Zen Mode."
  (visual-line-mode 1)
  (visual-fill-column-mode 1)
  (setq-local visual-fill-column-center-text t)
  (setq-local visual-fill-column-width 90)
  (let* ((margin (max 0 (/ (- (window-total-width) visual-fill-column-width) 2))))
    (setq left-margin-width margin)
    (setq right-margin-width margin)
    (set-window-buffer (selected-window) (current-buffer)))
  (setq-local mode-line-format nil)
  (setq-local header-line-format nil)
  (add-hook 'kill-buffer-hook #'my-zen-mode-exit nil t))

(defun my-zen-mode-exit ()
  "Restore settings after exiting custom Zen Mode."
  (visual-line-mode -1)
  (visual-fill-column-mode -1)
  (kill-local-variable 'mode-line-format)
  (kill-local-variable 'header-line-format))

(map! :leader
      :desc "Toggle Zen-mode"
      "z" #'my-zen-mode-toggle)

Company Mode

(use-package company
  :ensure t
  :config
  (setq company-idle-delay 0.1
        company-minimum-prefix-length 1))

LSP settings for Python

(use-package! lsp-mode
  :hook (python-mode . lsp)
  :commands lsp
  :config
  (setq lsp-pylsp-plugins-pylint-enabled nil
        lsp-pylsp-plugins-flake8-enabled t
        lsp-pylsp-plugins-pycodestyle-enabled nil
        lsp-pylsp-plugins-mccabe-enabled nil))

(after! lsp-python-ms
  (set-lsp-priority! 'pyright 1))

Scrolling Settings

(setq scroll-margin 10)
(setq scroll-step 1)
(setq scroll-conservatively 10000)
(setq auto-window-vscroll nil)

Neotree

(use-package neotree
  :ensure t
  :config
  (setq neo-smart-open t
        neo-window-fixed-size nil))

(map! :leader
      :desc "Toggle Neotree"
      "e" #'neotree-toggle)

Projectile

(use-package projectile
  :ensure t
  :config
  (projectile-mode +1)
  (setq projectile-switch-project-action 'neotree-projectile-action)
  (define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map))

(global-auto-revert-mode 1)

Org Bullets

;; (use-package org-bullets
;;   :hook (org-mode . org-bullets-mode))

Table of Contents

(use-package toc-org
  :commands toc-org-enable
  :init (add-hook 'org-mode-hook 'toc-org-enable))

Org Modern Mode

(setq
 org-auto-align-tags nil
 org-tags-column 0
 org-catch-invisible-edits 'show-and-error
 org-special-ctrl-a/e t
 org-insert-heading-respect-content t
 org-hide-emphasis-markers t
 org-pretty-entities t
 org-agenda-tags-column 0
 org-agenda-block-separator ?─
 org-agenda-time-grid
 '((daily today require-timed)
   (800 1000 1200 1400 1600 1800 2000)
   " ┄┄┄┄┄ " "┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄")
 org-agenda-current-time-string
 "◀── now ─────────────────────────────────────────────────")

(global-org-modern-mode)

Fill Column Indicator

(setq-default fill-column 90)
(global-display-fill-column-indicator-mode t)
(custom-set-faces
 '(fill-column-indicator ((t (:foreground "black")))))

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published