about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--emacs.d/init-bindings.el35
-rw-r--r--emacs.d/init.el7
2 files changed, 37 insertions, 5 deletions
diff --git a/emacs.d/init-bindings.el b/emacs.d/init-bindings.el
new file mode 100644
index 000000000000..57586101f2b1
--- /dev/null
+++ b/emacs.d/init-bindings.el
@@ -0,0 +1,35 @@
+;; Various keybindings, most of them taken from starter-kit-bindings
+
+;; Font size
+(define-key global-map (kbd "C-+") 'text-scale-increase)
+(define-key global-map (kbd "C--") 'text-scale-decrease)
+
+;; Use regex searches by default.
+(global-set-key (kbd "C-s") 'isearch-forward-regexp)
+(global-set-key (kbd "\C-r") 'isearch-backward-regexp)
+(global-set-key (kbd "M-%") 'query-replace-regexp)
+(global-set-key (kbd "C-M-s") 'isearch-forward)
+(global-set-key (kbd "C-M-r") 'isearch-backward)
+(global-set-key (kbd "C-M-%") 'query-replace)
+
+;; Jump to a definition in the current file. (Protip: this is awesome.)
+(global-set-key (kbd "C-x C-i") 'imenu)
+
+;; Window switching. (C-x o goes to the next window)
+(windmove-default-keybindings) ;; Shift+direction
+
+;; Start eshell or switch to it if it's active.
+(global-set-key (kbd "C-x m") 'eshell)
+
+;; Start a new eshell even if one is active.
+(global-set-key (kbd "C-x M") (lambda () (interactive) (eshell t)))
+
+;; Start a regular shell if you prefer that.
+(global-set-key (kbd "C-x C-m") 'shell)
+
+;; So good!
+(global-set-key (kbd "C-c g") 'magit-status)
+
+;; Add a fullscreen toggle
+(global-set-key (kbd "M-RET") 'toggle-frame-fullscreen)
+
diff --git a/emacs.d/init.el b/emacs.d/init.el
index e27a15f84e25..866f18f7280f 100644
--- a/emacs.d/init.el
+++ b/emacs.d/init.el
@@ -14,8 +14,7 @@
   (package-refresh-contents))
 
 ;; Important packages
-(defvar my-pkgs '(starter-kit-bindings
-                  haskell-mode
+(defvar my-pkgs '(haskell-mode
                   markdown-mode
                   magit
                   leuven-theme
@@ -35,6 +34,7 @@
 (load "~/.emacs.d/init-functions.el")
 (load "~/.emacs.d/init-settings.el")
 (load "~/.emacs.d/init-modes.el")
+(load "~/.emacs.d/init-bindings.el")
 
 (setq custom-file "~/.emacs.d/init-custom.el")
 (load custom-file)
@@ -50,8 +50,5 @@
 ;; Seed RNG
 (random t)
 
-;; Add a fullscreen toggle
-(global-set-key (kbd "M-RET") 'toggle-frame-fullscreen)
-
 ;; Start server for emacsclient
 (server-start)