]> git.earman.xyz Git - emacsinit.git/commitdiff
More aggressive tabbing
authorrearman <rearman@r717.net>
Wed, 18 Mar 2026 16:06:04 +0000 (12:06 -0400)
committerrearman <rearman@r717.net>
Wed, 18 Mar 2026 16:06:04 +0000 (12:06 -0400)
init.el

diff --git a/init.el b/init.el
index bae98553db574b49921cc654a6ffd022c45654a0..375745e0d8b19a1183d6eb04fae412af6cb0b5aa 100644 (file)
--- a/init.el
+++ b/init.el
 (add-hook 'c-mode-hook (lambda () (require 're-c-style)))
 \f
 ;; Tabs
-(setq-default indent-tabs-mode t
+(setq-default indent-tabs-mode 'only
              tab-width 8)
 
+(advice-add 'indent-to :around
+           (lambda (orig-fun column &rest args)
+             (when (eq indent-tabs-mode 'only)
+               (setq column (* tab-width (round column tab-width))))
+             (apply orig-fun column args)))
+
+(setq whitespace-style '(face
+                        tabs
+                        spaces
+                        trailing
+                        lines
+                        space-before-tab
+                        newline
+                        indentation::tab
+                        empty
+                        space-after-tab
+                        space-mark
+                        tab-mark
+                        newline-mark
+                        missing-newline-at-eof))
+
 (defvaralias 'c-basic-offset 'tab-width)
 (defvaralias 'cperl-indent-level 'tab-width)
+(defvaralias 'LaTeX-indent-level 'tab-width)
 
 (add-hook 'prog-mode-hook
          (lambda () (keymap-local-set "<TAB>" #'self-insert-command)))
@@ -42,6 +64,9 @@
 (add-hook 'text-mode-hook
          (lambda ()
            (keymap-set text-mode-map "<TAB>" #'self-insert-command)))
+(add-hook 'LaTeX-mode
+         (lambda ()
+           (keymap-set LaTeX-mode-map "<TAB>" #'self-insert-command)))
 \f
 ;; Buffer dealiƋ
 (setq-default indicate-empty-lines t
@@ -53,7 +78,9 @@
     LaTeX-mode-hook))
 
 (dolist (hook *re/vlm-hooks*)
-  (add-hook hook #'visual-line-mode))
+  (lambda ()
+    (add-hook hook #'visual-line-mode)
+    (setq indent-line-function 'tab-to-tab-stop)))
 
 (add-to-list 'display-buffer-alist
             '("^\\*eldoc" display-buffer-in-direction