Commit f8dc6f0d7f67
Changed files (1)
.emacs.d
.emacs.d/emacs.org
@@ -398,6 +398,10 @@
#+begin_src emacs-lisp
(setq-default indent-tabs-mode nil)
+ (defcustom indent-sensitive-modes
+ '(coffee-mode python-mode haml-mode yaml-mode)
+ "Modes for which auto-indenting is suppressed."
+ :type 'list)
#+end_src
Let's define a few /cleaning/ functions :
@@ -406,16 +410,46 @@
#+begin_src emacs-lisp
(defun my/untabify-buffer ()
+ "Untabify the currently visited buffer."
(interactive)
(untabify (point-min) (point-max)))
+
+ (defun my/untabify-region-or-buffer ()
+ "Untabify a region if selected, otherwise the whole buffer."
+ (interactive)
+ (unless (member major-mode indent-sensitive-modes)
+ (save-excursion
+ (if (region-active-p)
+ (progn
+ (untabify (region-beginning) (region-end))
+ (message "Untabify selected region."))
+ (progn
+ (my/untabify-buffer)
+ (message "Untabify buffer.")))
+ )))
#+end_src
- ident the buffer, using the mode indentation stuff
#+begin_src emacs-lisp
(defun my/indent-buffer ()
+ "Indent the currently visited buffer."
(interactive)
(indent-region (point-min) (point-max)))
+
+ (defun my/indent-region-or-buffer ()
+ "Indent a region if selected, otherwise the whole buffer."
+ (interactive)
+ (unless (member major-mode indent-sensitive-modes)
+ (save-excursion
+ (if (region-active-p)
+ (progn
+ (indent-region (region-beginning) (region-end))
+ (message "Indented selected region."))
+ (progn
+ (my/indent-buffer)
+ (message "Indented buffer.")))
+ (whitespace-cleanup))))
#+end_src
- cleanup the buffer
@@ -442,8 +476,9 @@
And bind =cleanup-buffer= and =cleanup-region=.
#+begin_src emacs-lisp
-(global-set-key (kbd "C-x M-t") 'my/cleanup-region)
-(global-set-key (kbd "C-c n") 'my/cleanup-buffer)
+ (global-set-key (kbd "C-x M-t") 'my/cleanup-region)
+ (global-set-key (kbd "C-c n") 'my/cleanup-buffer)
+ (global-set-key (kbd "C-C i") 'my/indent-region-or-buffer)
#+end_src
For writing text, I prefer Emacs to do line wrapping for me.Also, superfluous