summaryrefslogtreecommitdiff
path: root/init/km-func.el
diff options
context:
space:
mode:
authorKyle Meyer <meyerkya@gmail.com>2013-01-12 12:44:44 -0500
committerKyle Meyer <meyerkya@gmail.com>2013-01-12 13:56:01 -0500
commit96ee4bd0bd7b5cc8a6d9ca918ede26e82a9b20a7 (patch)
tree9065fbcdd65c7c80dbc15859d9ea6dd8507b256d /init/km-func.el
parentf5b226cae165532ed34ffefd7d003d10d984f004 (diff)
downloademacs.d-96ee4bd0bd7b5cc8a6d9ca918ede26e82a9b20a7.tar.gz
glob init files files for loading
Diffstat (limited to 'init/km-func.el')
-rw-r--r--init/km-func.el47
1 files changed, 47 insertions, 0 deletions
diff --git a/init/km-func.el b/init/km-func.el
new file mode 100644
index 0000000..3366363
--- /dev/null
+++ b/init/km-func.el
@@ -0,0 +1,47 @@
+;; 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)
+
+(defun km/shebang (&optional lang)
+ (interactive "s\language (default python):")
+ (if (= (length lang) 0)
+ (setq lang "python"))
+ (insert "#!/usr/bin/env " lang "\n"))
+(global-set-key (kbd "C-c s") 'km/shebang)
+
+(defun km/insert-random-string (&optional strlen)
+ "Insert a random string (default length: 5)"
+ (interactive)
+ (unless strlen
+ (setq strlen 5))
+ (let (mycharset (ii 0) )
+ (setq mycharset ["a" "b" "c" "d" "e" "f" "g" "h" "i"
+ "j" "k" "l" "m" "n" "o" "p" "q" "r"
+ "s" "t" "u" "v" "w" "x" "y" "z"])
+ (while (< ii strlen)
+ (insert (elt mycharset (random (length mycharset))))
+ (setq ii (1+ ii)))))