summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFranck Cuny <franckcuny@gmail.com>2016-02-13 16:20:01 -0800
committerFranck Cuny <franckcuny@gmail.com>2016-02-13 16:20:01 -0800
commit4c5e77c2f181f8eb286addc755539a987a6f8e52 (patch)
treefa66123943bc41ba9ed5cad0dd27f07bd2eb2163
parent[emacs] highlight the current line. (diff)
downloademacs.d-4c5e77c2f181f8eb286addc755539a987a6f8e52.tar.gz
[emacs] Add a few functions
-rw-r--r--emacs.d/core/core-defun.el31
1 files changed, 31 insertions, 0 deletions
diff --git a/emacs.d/core/core-defun.el b/emacs.d/core/core-defun.el
index deb315b..a2fb02f 100644
--- a/emacs.d/core/core-defun.el
+++ b/emacs.d/core/core-defun.el
@@ -6,4 +6,35 @@
(ansi-term "/bin/bash"))
(get-buffer-process "*ansi-term*"))
+(defun switch-to-scratch ()
+ "Switch to scratch, grab the region if it's active."
+ (interactive)
+ (let ((contents
+ (and (region-active-p)
+ (buffer-substring (region-beginning)
+ (region-end)))))
+ (switch-to-buffer "*scratch*")
+ (if contents
+ (progn
+ (goto-char (buffer-end 1))
+ (insert contents)))))
+
+(defun rename-this-buffer-and-file ()
+ "Renames current buffer and file it is visiting."
+ (interactive)
+ (let ((name (buffer-name))
+ (filename (buffer-file-name))
+ (read-file-name-function 'read-file-name-default))
+ (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)))
+ (cond ((get-buffer new-name)
+ (error "A buffer named '%s' already exists!" new-name))
+ (t
+ (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))))))))
+
(provide 'core-defun)