summaryrefslogtreecommitdiffstats
path: root/emacs/.emacs.d/init.el
diff options
context:
space:
mode:
authorGravatar Tom Willemse2014-12-27 21:32:00 +0100
committerGravatar Tom Willemse2014-12-27 21:32:00 +0100
commit84b65d4e3bdf49bea60e6656f191b63f2830d494 (patch)
tree6925a482c3919874ed46f04ba4fb3b84ea7b039d /emacs/.emacs.d/init.el
parent49af8ba47924d4fdde3cf654f7a8d1258c401680 (diff)
downloaddotfiles-84b65d4e3bdf49bea60e6656f191b63f2830d494.tar.gz
dotfiles-84b65d4e3bdf49bea60e6656f191b63f2830d494.zip
Revert "Remove evil"
This reverts commit 437292c92769c3c93167f1c3135fd9efb35e11cb.
Diffstat (limited to 'emacs/.emacs.d/init.el')
-rw-r--r--emacs/.emacs.d/init.el44
1 files changed, 43 insertions, 1 deletions
diff --git a/emacs/.emacs.d/init.el b/emacs/.emacs.d/init.el
index 7577504..099f2b1 100644
--- a/emacs/.emacs.d/init.el
+++ b/emacs/.emacs.d/init.el
@@ -311,6 +311,13 @@ MODE1 is enabled and vice-versa."
(when (fboundp 'prettify-symbols-mode)
(prettify-symbols-mode arg)))
+(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:mini-fix-timestamp-string (date-string)
"A minimal version of Xah Lee's `fix-timestamp-string'.
Turn DATE-STRING into something else that can be worked with in
@@ -347,6 +354,10 @@ extracts the parts I want to know about."
(format "[%s - %s]" band title))
song)))
+(defun oni:modes-starting-in (state)
+ "Get a list of the modes whose default state is STATE."
+ (symbol-value (evil-state-property state :modes)))
+
(defun oni:move-beginning-of-dwim ()
"Move to beginning of line either after indentation or before."
(interactive)
@@ -911,6 +922,11 @@ from myaethon2.core.decorators import (
(topmost-intro-cont first c-lineup-topmost-intro-cont
c-lineup-gnu-DEFUN-intro-cont))))
+(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))
@@ -992,6 +1008,27 @@ from myaethon2.core.decorators import (
(add-to-list 'eshell-output-filter-functions #'oni:eshell-handle-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 'normal)
+ (require 'evil-nerd-commenter)
+ (define-key evil-normal-state-map ",s" 'oni:evil-sort-lines-operator)
+ (add-hook 'before-save-hook #'oni:maybe-switch-to-normal-state))
+
(stante-after eww
(setq eww-download-path ; Don't go to ~/Downloads
"~/downloads/"))
@@ -1412,7 +1449,12 @@ from myaethon2.core.decorators import (
(yas-global-mode)
(require 'popwin)
- (popwin-mode))
+ (popwin-mode)
+
+ (evil-mode)
+ (when (string-equal system-name "drd")
+ (require 'colemak-evil))
+ (global-evil-surround-mode))
(with-eval-after-load 'ruby
(global-rinari-mode))