;;; icejam-keys-mode.el --- summary -*- lexical-binding: t; -*- ;; Author: Maciej Szlosarczyk ;; Maintainer: Maciej Szlosarczyk ;; Version: 0.1-snapshot ;;; Commentary: ;; My global mode, to house my custom keys. ;;; Code: (define-minor-mode icejam-keys-mode "Minor mode for all of my personal key bindings." :global t :group 'icejam :keymap (make-sparse-keymap)) ;; Globally enable my minor mode (icejam-keys-mode) (defun icejam-revert-buffer-no-confirm () "Revert buffer without confirmation." (interactive) (revert-buffer t t)) ;; Splitting window (keymap-set icejam-keys-mode-map "C-c \\" #'split-window-right) (keymap-set icejam-keys-mode-map "C-c /" #'split-window-below) ;; Move between windows (keymap-set icejam-keys-mode-map "C-c " #'windmove-left) (keymap-set icejam-keys-mode-map "C-c " #'windmove-right) (keymap-set icejam-keys-mode-map "C-c " #'windmove-up) (keymap-set icejam-keys-mode-map "C-c " #'windmove-down) ;; History of buffers (keymap-set icejam-keys-mode-map "C-c s [" #'previous-buffer) (keymap-set icejam-keys-mode-map "C-c s ]" #'next-buffer) ;; List of buffers buffer (keymap-set icejam-keys-mode-map "C-c b" #'ibuffer) ;; Manipulate buffers (kill or revert) (keymap-set icejam-keys-mode-map "C-c q" #'kill-buffer-and-window) (keymap-set icejam-keys-mode-map "C-c r" #'icejam-revert-buffer-no-confirm) ;; Make emacs behave like a normal editor from 21st century. (keymap-set icejam-keys-mode-map "" 'beginning-of-line) (keymap-set icejam-keys-mode-map "" 'end-of-line) ;;;;;;;;; Translate keys ;;;;;;;;;;;;;;;;;;;;; (keymap-set key-translation-map "" "C-c l") ;; On F6, send C-c l (keymap-set key-translation-map "" "C-c c") ;; On F7, send C-c c (keymap-set key-translation-map "" "C-c p") ;; On F8, send C-c p (provide 'icejam-keys-mode) ;;; icejam-keys-mode.el ends here