r18ul
r18ul

Reputation: 1064

Why is my newline taking 4 spaces by default?

I have set c-basic-offset & c-basic-indent to 4 expecting it to indent newlines after brackets only in C/C++ files. But the issue I'm facing is every newline in ".txt" document is taking 4 spaces by default which I don't want.

Here is my init.el file

(global-display-line-numbers-mode 1)

(set-frame-font "JetBrains Mono-11" nil t)

(setq-default indent-tabs-mode nil)
(setq-default tab-width 4)
(setq indent-line-function 'insert-tab)
(setq c-basic-offset 4)
(setq c-basic-indent 4)

;(setq-default c-basic-offset 4)
;(c-set-offset 'substatement-open 0)

; stop creating backup files
(setq make-backup-files nil)

(recentf-mode 1)
(setq recentf-max-menu-items 25)
(setq recentf-max-saved-items 25)
(global-set-key "\C-x\ \C-r" 'recentf-open-files)

;; start the initial frame maximized
(add-to-list 'initial-frame-alist '(fullscreen . maximized))

;; start every frame maximized
(add-to-list 'default-frame-alist '(fullscreen . maximized))

Please help me get rid of 4 space characters in a normal text file.

Upvotes: 0

Views: 150

Answers (1)

Vijay
Vijay

Reputation: 898

You can make your settings specific for mode. In your case if you want indentation settings to apply only for C/C++ files, you need to apply these settings for that mode hook. There are various ways of doing it, one of them is using defining those settings in a defun and add that defun to appropriate hook.

Example below shows to setup c-basic-offset and c-basic-indent to 4.

(defun my-c-mode-common-hook ()
  ;; my customizations for all of c-mode and related modes
  (setq c-basic-offset 4)
  (setq c-basic-indent 4)
  )
(add-hook 'c-mode-common-hook 'my-c-mode-common-hook)

Upvotes: 1

Related Questions