From db19187726a0aa218ea11a166dc6b8193cc9ac0f Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Mon, 8 Feb 2016 01:16:21 +0100 Subject: Revert "Remove evil settings" This reverts commit c9cacdf23c4f2012d13ab0aaa1d426bb457f98c0. --- emacs/.emacs.d/Cask | 3 +++ emacs/.emacs.d/init.el | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 51 insertions(+), 1 deletion(-) diff --git a/emacs/.emacs.d/Cask b/emacs/.emacs.d/Cask index 70c6e82..f4409b6 100644 --- a/emacs/.emacs.d/Cask +++ b/emacs/.emacs.d/Cask @@ -36,6 +36,9 @@ (depends-on "emms") (depends-on "eshell-fringe-status" :git "git://github.com/ryuslash/eshell-fringe-status.git") (depends-on "esxml") +(depends-on "evil") +(depends-on "evil-nerd-commenter") +(depends-on "evil-surround") (depends-on "eww-lnum") (depends-on "expand-region") (depends-on "feature-mode") diff --git a/emacs/.emacs.d/init.el b/emacs/.emacs.d/init.el index ada6f3c..574054c 100644 --- a/emacs/.emacs.d/init.el +++ b/emacs/.emacs.d/init.el @@ -141,6 +141,17 @@ MODE1 is enabled and vice-versa." "Set the `disabled' property for each item in FUNCTIONS to nil." (mapc #'(lambda (f) (put f 'disabled nil)) functions)) +(defun oni:maybe-switch-to-normal-state () + "Switch the current buffer to normal state. + +Only do this when the mode is not in emacs state by default." + (unless (memql major-mode (oni:modes-starting-in 'emacs)) + (evil-normal-state))) + +(defun oni:modes-starting-in (state) + "Get a list of the modes whose default state is STATE." + (symbol-value (evil-state-property state :modes))) + ;;;; Module-specific settings (auto-init appt) @@ -193,6 +204,11 @@ MODE1 is enabled and vice-versa." (with-eval-after-load 'cc-mode (define-key c-mode-map (kbd "") 'compile)) +(stante-after colemak-evil + (define-key evil-insert-state-map (kbd "C-g") #'evil-normal-state) + (define-key evil-replace-state-map (kbd "C-g") #'evil-normal-state) + (define-key evil-visual-state-map (kbd "C-g") #'evil-normal-state)) + (stante-after compile (setq compilation-scroll-output t)) @@ -255,6 +271,32 @@ MODE1 is enabled and vice-versa." (add-to-list 'eshell-output-filter-functions 'oni:eshell-buttonize-url) (add-to-list 'eshell-output-filter-functions #'eshell-truncate-buffer)) +(stante-after evil + (evil-define-operator oni:evil-sort-lines-operator (beg end) + "Sort text." + :move-point nil + :type line + (sort-lines nil beg end)) + + (mapc (lambda (mode) (evil-set-initial-state mode 'emacs)) + '(jabber-roster-mode grep-mode avandu-overview-mode + avandu-article-mode gnus-summary-mode + gnus-article-mode gnus-group-mode + magit-status-mode magit-key-mode + sql-interactive-mode Info-mode + jabber-chat-mode diff-mode prodigy-mode + calculator-mode messages-buffer-mode + help-mode prodigy-view-mode eww-mode)) + (evil-set-initial-state 'git-commit-mode 'insert) + (add-hook 'org-capture-mode-hook #'evil-insert-state) + (require 'evil-nerd-commenter) + (define-key evil-normal-state-map ",," 'evilnc-comment-operator) + (define-key evil-normal-state-map ",," 'evilnc-comment-operator) + (define-key evil-normal-state-map ",s" 'oni:evil-sort-lines-operator) + (add-hook 'before-save-hook #'oni:maybe-switch-to-normal-state) + (evil-declare-key 'motion org-mode-map (kbd "RET") #'org-return) + (evil-declare-key 'normal outline-minor-mode-map (kbd "TAB") #'oni:outline-toggle-entry)) + (stante-after eww (setq eww-download-directory ; Don't go to ~/Downloads "~/downloads/")) @@ -784,7 +826,12 @@ MODE1 is enabled and vice-versa." (projectile-global-mode) (hes-mode) - (global-wakatime-mode)) + (global-wakatime-mode) + (evil-mode) + (kill-local-variable 'mode-line-format) + (when (string-equal (system-name) "drd") + (require 'evil-colemak)) + (global-evil-surround-mode)) (with-eval-after-load 'ruby (global-rinari-mode)) -- cgit v1.2.3-54-g00ecf