summaryrefslogtreecommitdiff
path: root/conf/km-func.el
diff options
context:
space:
mode:
Diffstat (limited to 'conf/km-func.el')
-rw-r--r--conf/km-func.el27
1 files changed, 27 insertions, 0 deletions
diff --git a/conf/km-func.el b/conf/km-func.el
new file mode 100644
index 0000000..48a2f35
--- /dev/null
+++ b/conf/km-func.el
@@ -0,0 +1,27 @@
+;; http://whattheemacsd.com/
+;; whitespace cleanup
+(defun km/cleanup-buffer ()
+ (interactive)
+ (untabify (point-min) (point-max))
+ (delete-trailing-whitespace)
+ (set-buffer-file-coding-system 'utf-8))
+(add-hook 'before-save-hook 'km/cleanup-buffer)
+
+(defun km/rename-current-buffer-file ()
+ "Renames current buffer and file it is visiting."
+ (interactive)
+ (let ((name (buffer-name))
+ (filename (buffer-file-name)))
+ (if (not (and filename (file-exists-p filename)))
+ (error "Buffer '%s' is not visiting a file!" name)
+ (let ((new-name (read-file-name "New name: " filename)))
+ (if (get-buffer new-name)
+ (error "A buffer named '%s' already exists!" new-name)
+ (rename-file filename new-name 1)
+ (rename-buffer new-name)
+ (set-visited-file-name new-name)
+ (set-buffer-modified-p nil)
+ (message "File '%s' successfully renamed to '%s'"
+ name (file-name-nondirectory new-name)))))))
+
+(global-set-key (kbd "C-x C-r") 'km/rename-current-buffer-file)