From a9cd8cd3b7ece76247d96fd0ca84ce891d000dc0 Mon Sep 17 00:00:00 2001 From: rekado Date: Wed, 19 Nov 2014 13:05:25 +0100 Subject: move custom functions and key bindings to separate file --- lisp/init-my-stuff.el | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 lisp/init-my-stuff.el (limited to 'lisp/init-my-stuff.el') diff --git a/lisp/init-my-stuff.el b/lisp/init-my-stuff.el new file mode 100644 index 0000000..2dcc186 --- /dev/null +++ b/lisp/init-my-stuff.el @@ -0,0 +1,70 @@ +(defun my/find-user-init-file () + "Edit the `user-init-file', in another window." + (interactive) + (find-file-other-window user-init-file)) +(global-set-key (kbd "C-c I") 'my/find-user-init-file) + +(defun my/new-empty-buffer () + "Open a new empty buffer." + (interactive) + (let ((buf (generate-new-buffer "untitled"))) + (switch-to-buffer buf) + (funcall (and initial-major-mode)) + (setq buffer-offer-save t))) +(global-set-key (kbd "C-c n") 'my/new-empty-buffer) + +;; http://whattheemacsd.com/key-bindings.el-01.html#disqus_thread +(require 'linum) +(defun my/goto-line-with-feedback () + "Show line numbers temporarily, while prompting for the line number input" + (interactive) + (let ((line-numbers-off-p (not linum-mode))) + (unwind-protect + (progn + (when line-numbers-off-p + (linum-mode 1)) + (call-interactively 'goto-line)) + (when line-numbers-off-p + (linum-mode -1))))) +(global-set-key [remap goto-line] 'my/goto-line-with-feedback) + +;; kill current buffer +(global-set-key (kbd "C-x C-k") (lambda () + (interactive) + (kill-buffer (current-buffer)))) + +;; delete up to non-whitespace character +(global-set-key (kbd "C-c d") 'hungry-delete-forward) + +(defun ssh-dtach (host) + "Open SSH connection to HOST and start dtach session." + (interactive) + (let ((explicit-shell-file-name "dtach") + (explicit-dtach-args '("-A" "/tmp/emacs.dtach" "-z" + "/bin/bash" "--noediting" "-login")) + (default-directory (format "/ssh:%s:" host))) + (shell (format "*ssh %s*" host)))) + +;; http://blog.vivekhaldar.com/post/4809065853/dotemacs-extract-interactively-change-font-size +(defun my/zoom-in () + "Increase font size by 10 points" + (interactive) + (set-face-attribute 'default nil + :height + (+ (face-attribute 'default :height) + 10))) + +(defun my/zoom-out () + "Decrease font size by 10 points" + (interactive) + (set-face-attribute 'default nil + :height + (- (face-attribute 'default :height) + 10))) + +;; change font size, interactively +(global-set-key (kbd "C->") 'my/zoom-in) +(global-set-key (kbd "C-<") 'my/zoom-out) + +;; easier way to jump to other window +(global-set-key (kbd "M-o") 'other-window) -- cgit v1.2.3