add functions to rename and move a file inclusive buffer
This commit is contained in:
@@ -26,6 +26,39 @@
|
|||||||
(set-frame-parameter (selected-frame) 'alpha '(90 . 90))
|
(set-frame-parameter (selected-frame) 'alpha '(90 . 90))
|
||||||
(add-to-list 'default-frame-alist '(alpha . (90 . 90)))
|
(add-to-list 'default-frame-alist '(alpha . (90 . 90)))
|
||||||
|
|
||||||
|
;; source: http://steve.yegge.googlepages.com/my-dot-emacs-file
|
||||||
|
(defun my-rename-buffer-file (new-name)
|
||||||
|
"Rename both current buffer and file it's visiting to NEW-NAME."
|
||||||
|
(interactive "sNew name: ")
|
||||||
|
(let ((name (buffer-name))
|
||||||
|
(filename (buffer-file-name)))
|
||||||
|
(if (not filename)
|
||||||
|
(message "Buffer '%s' is not visiting a file!" name)
|
||||||
|
(if (get-buffer new-name)
|
||||||
|
(message "A buffer named '%s' already exists!" new-name)
|
||||||
|
(progn
|
||||||
|
(rename-file filename new-name 1)
|
||||||
|
(rename-buffer new-name)
|
||||||
|
(set-visited-file-name new-name)
|
||||||
|
(set-buffer-modified-p nil))))))
|
||||||
|
(defun my-move-buffer-file (dir)
|
||||||
|
"Move both current buffer and file it's visiting to DIR."
|
||||||
|
(interactive "DNew directory: ")
|
||||||
|
(let* ((name (buffer-name))
|
||||||
|
(filename (buffer-file-name))
|
||||||
|
(dir
|
||||||
|
(if (string-match dir "\\(?:/\\|\\\\)$")
|
||||||
|
(substring dir 0 -1) dir))
|
||||||
|
(newname (concat dir "/" name)))
|
||||||
|
(if (not filename)
|
||||||
|
(message "Buffer '%s' is not visiting a file!" name)
|
||||||
|
(progn
|
||||||
|
(copy-file filename newname 1)
|
||||||
|
(delete-file filename)
|
||||||
|
(set-visited-file-name newname)
|
||||||
|
(set-buffer-modified-p nil)
|
||||||
|
t))))
|
||||||
|
|
||||||
;; recentf stuff
|
;; recentf stuff
|
||||||
(use-package recentf
|
(use-package recentf
|
||||||
:config
|
:config
|
||||||
|
|||||||
Reference in New Issue
Block a user