Not properly load emacs config.org file

இந்த சிக்கல் தொடர்கின்றதா?

vanakkam brother
ippo ayan brother config.org load pannan


indha maari varudu bro na denote code lam comment panitava?

config.org file
#+title: My Configuration
#+author: Thanga Ayyanar
#+startup: overview

  • User Interface
    ** Hide menubar
    #+begin_src emacs-lisp
    (menu-bar-mode 0)
    #+end_src
    ** Hide toolbar and scrollbar
    #+begin_src emacs-lisp
    ;(when (display-graphic-p)
    (tool-bar-mode 0)
    (scroll-bar-mode 0):wink:
    #+end_src
    ** No inhibit startup message
    #+begin_src emacs-lisp
    (setq inhibit-startup-screen t)
    #+end_src
    ** Set number
    #+begin_src emacs-lisp
    (column-number-mode)
    (global-display-line-numbers-mode t)
    #+end_src
    ** Theme
    #+begin_src emacs-lisp
    (use-package ef-themes
    :config
    (load-theme 'ef-dark t))
    #+end_src
    ** Font configuration
    #+begin_src emacs-lisp
    (set-face-attribute 'default nil :font “Liberation Mono” :height 200)
    #+end_src
  • Behavior
    ** No (backup, Lock, autosave)
    #+begin_src emacs-lisp
    ;; No autoback up and lock files
    (setq
    make-backup-files nil
    auto-save-default nil
    create-lockfiles nil)
    #+end_src
    ** Y or N instead of Yes or No
    #+begin_src emacs-lisp
    (fset 'yes-or-no-p 'y-or-n-p)
    #+end_src
    ** Electric auto pair mode
    #+begin_src emacs-lisp
    (electric-pair-mode 1)
    #+end_src
    ** Turn off blinking cursor
    #+begin_src emacs-lisp
    ;(blink-cursor-mode -1)
    #+end_src
    ** Vertical bar
    #+begin_src emacs-lisp
    (setq-default cursor-type 'bar)
    #+end_src
    ** Auto revert
  • Auto revert Files
    #+begin_src elisp
    (global-auto-revert-mode 1)
    #+end_src

  • Auto revert Directory
    #+begin_src elisp
    (setq global-auto-revert-non-file-buffers t)
    #+end_src

  • Auto revert issues i faced
    #+begin_src elisp
    (add-to-list 'global-auto-revert-ignore-modes 'Buffer-menu-mode)
    #+end_src
    ** Registers
    #+begin_src elisp
    ;; Registers
    (set-register ?I '(file . “/home/linux/.emacs.d/config.org”)) ;; C-x r j E
    (set-register ?T '(file . “/home/linux/.config/i3/config”)) ;; C-x r j T
    #+end_src
    ** Buffers
    *** Buffer switching
    #+begin_src elisp
    (global-set-key [(meta shift j)] 'previous-buffer)
    (global-set-key [(meta shift l)] 'next-buffer)
    #+end_src
    *** Buffer kill
    #+begin_src elisp
    (global-set-key (kbd “C-x K”) 'kill-this-buffer)
    #+end_src
    *** iBuffer
    #+begin_src elisp
    (global-set-key (kbd “C-x C-b”) 'ibuffer)

    ; Ibuffer options
    (setq ibuffer-saved-filter-groups
    (quote ((“default”
    (“dired” (mode . dired-mode))
    (“org” (name . “^.*org$”))
    ;; (“web” (or (mode . web-mode) (mode . js2-mode)))
    (“shell” (or (mode . eshell-mode) (mode . shell-mode)))
    ;; (“mu4e” (name . “*mu4e*”))
    ;; (“programming” (or
    ;; (mode . python-mode)
    ;; (mode . c+±mode)))
    (“emacs” (or
    (name . “^\scratch\$”)
    (name . “^\Messages\$”)))
    ))))

(add-hook 'ibuffer-mode-hook
(lambda ()
(ibuffer-auto-mode 1)
(ibuffer-switch-to-saved-filter-groups “default”)))

;; Don’t show filter groups if there are no buffers in that group
(setq ibuffer-show-empty-filter-groups nil)

;; Don’t ask for confirmation to delete marked buffers
(setq ibuffer-expert t)
#+end_src

  • Use package
    ** Installation
    #+begin_src emacs-lisp
    (require 'package)

(setq package-archives '((“melpa” . “Package Listing”)
(“org” . “https://orgmode.org/elpa/”)
(“elpa” . “GNU ELPA Packages”)))

(package-initialize)
(unless package-archive-contents
(package-refresh-contents))

;; Initialize use package on non-linux based system
(unless (package-installed-p 'use-package)
(package-install 'use-package))

(require 'use-package)
(setq use-package-always-ensure t)
#+end_src

  • Third party packages
    ** Which Key
    #+begin_src emacs-lisp
    (use-package which-key
    :init (which-key-mode)
    :diminish which-key-mode
    :config
    (setq which-key-idle-delay 0.3))
    #+end_src
    ** Helpful
    #+begin_src emacs-lisp
    (use-package helpful
    :commands (helpful-callable helpful-variable helpful-command helpful-key)
    :bind
    ([remap describe-function] . helpful-callable)
    ([remap describe-command] . helpful-command)
    ([remap describe-variable] . helpful-variable)
    ([remap describe-key] . helpful-key))
    #+end_src
    ** DooM modeline
    #+begin_src emacs-lisp
    (use-package doom-modeline
    :init (doom-modeline-mode 1))
    #+end_src
    ** Nerd icons
    #+begin_src emacs-lisp
    (use-package nerd-icons
    ;; :custom
    ;; The Nerd Font you want to use in GUI
    ;; “Symbols Nerd Font Mono” is the default and is recommended
    ;; but you can use any other Nerd Font if you want
    ;; (nerd-icons-font-family “Symbols Nerd Font Mono”)
    )
    #+end_src
    ** Doom themes
    #+begin_src emacs-lisp
    (use-package doom-themes
    :config
    ;; Global settings (defaults)
    (setq doom-themes-enable-bold t ; if nil, bold is universally disabled
    doom-themes-enable-italic t) ; if nil, italics is universally disabled
    (load-theme 'doom-one t)

    ;; Enable custom neotree theme (all-the-icons must be installed!)
    ;;(doom-themes-neotree-config)
    ;; or for treemacs users
    ;;(setq doom-themes-treemacs-theme “doom-atom”) ; use “doom-colors” for less minimal icon theme
    ;;(doom-themes-treemacs-config)
    ;; Corrects (and improves) org-mode’s native fontification.
    (doom-themes-org-config))
    #+end_src
    ** Completion
    #+begin_src emacs-lisp
    ;; Enable vertico
    (use-package vertico
    :init
    (vertico-mode)

    ;; Different scroll margin
    ;; (setq vertico-scroll-margin 0)

    ;; Show more candidates
    ;; (setq vertico-count 20)

    ;; Grow and shrink the Vertico minibuffer
    ;; (setq vertico-resize t)

    ;; Optionally enable cycling for vertico-next' and vertico-previous’.
    (setq vertico-cycle t)
    )

    ;; Persist history over Emacs restarts. Vertico sorts by history position.
    (use-package savehist
    :init
    (savehist-mode))

    ;; Optionally use the `orderless’ completion style.
    (use-package orderless
    :init
    ;; Configure a custom style dispatcher (see the Consult wiki)
    ;; (setq orderless-style-dispatchers '(+orderless-consult-dispatch orderless-affix-dispatch)
    ;; orderless-component-separator #'orderless-escapable-split-on-space)
    (setq completion-styles '(orderless basic)
    completion-category-defaults nil
    completion-category-overrides '((file (styles partial-completion)))))

    ;; Enable rich annotations using the Marginalia package
    (use-package marginalia
    ;; Bind marginalia-cycle' locally in the minibuffer. To make the binding ;; available in the *Completions* buffer, add it to the ;; completion-list-mode-map’.
    :bind (:map minibuffer-local-map
    (“M-A” . marginalia-cycle))

    ;; The :init section is always executed.
    :init

    ;; Marginalia must be activated in the :init section of use-package such that
    ;; the mode gets enabled right away. Note that this forces loading the
    ;; package.
    (marginalia-mode))

#+end_src
** Rainbow delimters
#+begin_src emacs-lisp
(use-package rainbow-delimiters
:hook (prog-mode . rainbow-delimiters-mode))
#+end_src
** consult
#+begin_src emacs-lisp
;; Example configuration for Consult
(use-package consult
;; Replace bindings. Lazily loaded due by use-package'. :bind (;; C-c bindings in mode-specific-map’
(“C-c M-x” . consult-mode-command)
(“C-c h” . consult-history)
(“C-c k” . consult-kmacro)
(“C-c m” . consult-man)
(“C-c i” . consult-info)
([remap Info-search] . consult-info)
;; C-x bindings in ctl-x-map' ("C-x M-:" . consult-complex-command) ;; orig. repeat-complex-command ("C-x b" . consult-buffer) ;; orig. switch-to-buffer ("C-x 4 b" . consult-buffer-other-window) ;; orig. switch-to-buffer-other-window ("C-x 5 b" . consult-buffer-other-frame) ;; orig. switch-to-buffer-other-frame ("C-x r b" . consult-bookmark) ;; orig. bookmark-jump ("C-x p b" . consult-project-buffer) ;; orig. project-switch-to-buffer ;; Custom M-# bindings for fast register access ("M-#" . consult-register-load) ("M-'" . consult-register-store) ;; orig. abbrev-prefix-mark (unrelated) ("C-M-#" . consult-register) ;; Other custom bindings ("M-y" . consult-yank-pop) ;; orig. yank-pop ;; M-g bindings in goto-map’
(“M-g e” . consult-compile-error)
(“M-g f” . consult-flymake) ;; Alternative: consult-flycheck
(“M-g g” . consult-goto-line) ;; orig. goto-line
(“M-g M-g” . consult-goto-line) ;; orig. goto-line
(“M-g o” . consult-outline) ;; Alternative: consult-org-heading
(“M-g m” . consult-mark)
(“M-g k” . consult-global-mark)
(“M-g i” . consult-imenu)
(“M-g I” . consult-imenu-multi)
;; M-s bindings in `search-map’
(“M-s d” . consult-find)
(“M-s D” . consult-locate)
(“M-s g” . consult-grep)
(“M-s G” . consult-git-grep)
(“M-s r” . consult-ripgrep)
(“M-s l” . consult-line)
(“M-s L” . consult-line-multi)
(“M-s k” . consult-keep-lines)
(“M-s u” . consult-focus-lines)
;; Isearch integration
(“M-s e” . consult-isearch-history)
:map isearch-mode-map
(“M-e” . consult-isearch-history) ;; orig. isearch-edit-string
(“M-s e” . consult-isearch-history) ;; orig. isearch-edit-string
(“M-s l” . consult-line) ;; needed by consult-line to detect isearch
(“M-s L” . consult-line-multi) ;; needed by consult-line to detect isearch
;; Minibuffer history
:map minibuffer-local-map
(“M-s” . consult-history) ;; orig. next-matching-history-element
(“M-r” . consult-history)) ;; orig. previous-matching-history-element

;; Enable automatic preview at point in the Completions buffer. This is
;; relevant when you use the default completion UI.
:hook (completion-list-mode . consult-preview-at-point-mode)

;; The :init configuration is always executed (Not lazy)
:init

;; Optionally configure the register formatting. This improves the register
;; preview for consult-register', consult-register-load’,
;; `consult-register-store’ and the Emacs built-ins.
(setq register-preview-delay 0.5
register-preview-function #'consult-register-format)

;; Optionally tweak the register preview window.
;; This adds thin lines, sorting and hides the mode line of the window.
(advice-add #'register-preview :override #'consult-register-window)

;; Use Consult to select xref locations with preview
(setq xref-show-xrefs-function #'consult-xref
xref-show-definitions-function #'consult-xref)

;; Configure other variables and modes in the :config section,
;; after lazily loading the package.
:config

;; Optionally configure preview. The default value
;; is 'any, such that any key triggers the preview.
;; (setq consult-preview-key 'any)
;; (setq consult-preview-key “M-.”)
;; (setq consult-preview-key ‘(“S-” “S-”))
;; For some commands and buffer sources it is useful to configure the
;; :preview-key on a per-command basis using the `consult-customize’ macro.
(consult-customize
consult-theme :preview-key '(:debounce 0.2 any)
consult-ripgrep consult-git-grep consult-grep
consult-bookmark consult-recent-file consult-xref
consult–source-bookmark consult–source-file-register
consult–source-recent-file consult–source-project-recent-file
;; :preview-key “M-.”
:preview-key '(:debounce 0.4 any))

;; Optionally configure the narrowing key.
;; Both < and C-+ work reasonably well.
(setq consult-narrow-key “<”) ;; “C-+”

;; Optionally make narrowing help available in the minibuffer.
;; You may want to use `embark-prefix-help-command’ or which-key instead.
;; (define-key consult-narrow-map (vconcat consult-narrow-key “?”) #'consult-narrow-help)

;; By default consult-project-function' uses project-root’ from project.el.
;; Optionally configure a different project root function.
;;;; 1. project.el (the default)
;; (setq consult-project-function #'consult–default-project–function)
;;;; 2. vc.el (vc-root-dir)
;; (setq consult-project-function (lambda () (vc-root-dir)))
;;;; 3. locate-dominating-file
;; (setq consult-project-function (lambda (
) (locate-dominating-file “.” “.git”)))
;;;; 4. projectile.el (projectile-project-root)
;; (autoload 'projectile-project-root “projectile”)
;; (setq consult-project-function (lambda (_) (projectile-project-root)))
;;;; 5. No project support
;; (setq consult-project-function nil)
)
#+end_src
** Nov - epub reader
#+begin_src emacs-lisp
(use-package visual-fill-column)

(use-package nov
:defer t
:init
(add-to-list 'auto-mode-alist ‘("\.epub\’" . nov-mode))
:config
(setq nov-text-width t)
(setq visual-fill-column-center-text t)
(add-hook 'nov-mode-hook 'visual-line-mode)
(add-hook 'nov-mode-hook 'visual-fill-column-mode)
)
#+end_src
** EMMS - MPV player integration
#+begin_src emacs-lisp
(use-package emms
:config
(emms-all)
(setq emms-player-list '(emms-player-mpv)
emms-info-functions '(emms-info-native)))
#+end_src
** Denote
#+begin_src emacs-lisp
(use-package denote
:custom
(denote-directory “~/Notes”))
#+end_src

  • Load Custom Elisp files
    ** Tell me how much time it takes to load configuration
    #+begin_src emacs-lisp
    ;;(add-hook 'emacs-startup-hook
    ;; (lambda ()
    ;; (message “Emacs loaded in %s.”
    ;; (emacs-init-time))))
    #+end_src
  • Inbuild programs
    ** Newsticker - RSS feed reader
    #+begin_src emacs-lisp
    (setq newsticker-url-list `(
    (“Kaniyam Foundation” “கணியம்” nil 3600)
    (“Julia Evans” “<![CDATA[Julia Evans]]>” nil 3600)
    ))
    #+end_src

Emacs பயன்படுத்துபவர்கள் ஒவ்வோருக்கும் அவர்களுக்கு ஏற்றார்போல் Emacs ஐ வடிவமைக்க முயற்சி செய்வர். அதேபோல் உங்களுக்கு தற்காலிகமாக ஒரு Config தேவைப்பட்டதால் @GoldAyan அவர்கள் உங்களுக்கு அவர் பயன்படுத்தும் Config ஐ கொடுத்துள்ளார். அதை வைத்துக்கொண்டு தங்களுக்கு ஏன்ன வேண்டும் என்பதை நீங்கள்தான் முடிவு செய்து பயன்படுத்திக்கொள்ள வேண்டும்.

முதலில் ஒரு சிரிய Emacs Config கோப்பை தாங்களே உருவாக்கி அதில் ஒரு Emacs பேக்கேஜை use-package பயன்படுத்தி உங்கள் Emacs ல் அதை பயன்படுத்துமாறு வைத்து முயற்சி செய்யவும். அதில் சிக்கல் ஏற்பட்டால் கூறவும். இப்படி சிரிதாக ஆரம்பித்து படிப்படியாக உங்களுக்கென்ற ஒரு Config ஐ உருவாக்கிக்கொள்ளவும்.

புரிகின்றனர் நன்றி.
நான் என்னுடைய Config File லை உருவாகுகிறேன் எவையனும் சந்தேயங்கள் ஏற்பட்டால் மீண்டும் இங்கே கேட்கிறேன்.
நன்றி நண்பரே :slight_smile:

1 Like