blob: 634f09ad5322180ce22a4942e31ba89cb3bfa027 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
;;; Code:
(defun mk/kill-other-buffers ()
"Kill all other buffers."
(interactive)
(mapc (lambda (buffer)
(when (and (buffer-file-name buffer) (not (eq buffer (current-buffer))))
(kill-buffer buffer)))
(buffer-list)))
(defun mk/format-xml ()
(interactive)
(shell-command-on-region 1 (point-max) "xmllint --format -" (current-buffer) t)
)
;; Copy the entire buffer.
(defun mk/copy-all ()
"Copy entire buffer to clipboard."
(interactive)
(clipboard-kill-ring-save (point-min) (point-max)))
(defun mk/create-directory ()
"Create a directory and refresh neotree."
(interactive)
(call-interactively #'make-directory)
(other-window -1))
(bind-key* (kbd "C-c d n") 'mk/create-directory)
(defun mk/delete-file ()
"Delete a file and refresh neotree."
(interactive)
(call-interactively #'delete-file))
(bind-key* (kbd "C-c f d") 'mk/delete-file)
(defun mk/create-file (filename)
"Create a file and refresh neotree. FILENAME File to create."
(interactive (list (read-file-name "Enter your file name: " nil nil nil (file-name-nondirectory ""))))
(make-empty-file filename)
(find-file filename))
(bind-key* (kbd "C-c f n") 'mk/create-file)
(defun mk/delete-directory ()
"Delete a file and refresh neotree."
(interactive)
(call-interactively #'delete-directory))
(bind-key* (kbd "C-c d d") 'mk/delete-directory)
;; source: http://steve.yegge.googlepages.com/my-dot-emacs-file
(defun mk/rename-file (new-name)
"Renames 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)
;(neotree-show)
;(neotree-refresh)
(other-window -1))))))
(bind-key* (kbd "C-c f r") 'mk/rename-file)
(provide 'mk)
;;; mk.el ends here
|