summaryrefslogtreecommitdiff
path: root/lisp/mk.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/mk.el')
-rw-r--r--lisp/mk.el74
1 files changed, 74 insertions, 0 deletions
diff --git a/lisp/mk.el b/lisp/mk.el
new file mode 100644
index 0000000..634f09a
--- /dev/null
+++ b/lisp/mk.el
@@ -0,0 +1,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