From 88a9fd0066efa017062c59ebb6373a800c9e8731 Mon Sep 17 00:00:00 2001 From: Miquel Sabaté Solà Date: Tue, 18 Oct 2016 21:19:38 +0200 Subject: emacs: added evil mode bindings into the calendar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Miquel Sabaté Solà --- emacs/init.el | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/emacs/init.el b/emacs/init.el index 4dd019d..6b8f87e 100644 --- a/emacs/init.el +++ b/emacs/init.el @@ -59,6 +59,23 @@ ;; Calendar (defvar calendar-week-start-day 1) +(global-set-key (kbd "C-c c") 'calendar) + +(defun mssola-evil-calendar () + "Define the bindings for the calendar in evil mode." + + (evil-set-initial-state 'calendar-mode 'normal) + (evil-define-key 'normal calendar-mode-map + "j" 'calendar-forward-week + "k" 'calendar-backward-week + "b" 'calendar-backward-day + "h" 'calendar-backward-day + "l" 'calendar-forward-day + "w" 'calendar-forward-day + "\C-j" 'evil-window-down + "\C-k" 'evil-window-up + "\C-n" 'calendar-scroll-left-three-months + "\C-p" 'calendar-scroll-right-three-months)) ;; No welcome screen (setq-default inhibit-startup-message t) @@ -273,7 +290,6 @@ The user will end up in the *scratch* buffer." ;; Rising from the deep flames of Hell: my Evil configuration. ;; TODO: evil mode also in backtraces ;; TODO: evil mode also in documentation -;; TODO: evil mode also in calendar ;; TODO: evil mode also in helm's find-file (defun mssola-evil () @@ -348,6 +364,10 @@ then it takes a second \\[keyboard-quit] to abort the minibuffer." (define-key evil-operator-state-map (kbd "C-z") 'keyboard-quit) (set-quit-char "C-z") + ; Setup the calendar for evil mode. + (eval-after-load "calendar" + '(progn (mssola-evil-calendar))) + ;; Use insert mode by default on the following modes. (dolist (mode '(magit-log-edit-mode)) (add-to-list 'evil-insert-state-modes mode)) -- cgit v1.2.3