diff --git a/emacs.d/init-bindings.el b/emacs.d/init-bindings.el new file mode 100644 index 000000000..57586101f --- /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 e27a15f84..866f18f72 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)