summaryrefslogtreecommitdiff
path: root/config.org
diff options
context:
space:
mode:
authorAndrew Guschin <guschin@altlinux.org>2024-08-02 15:01:26 +0400
committerAndrew Guschin <guschin@altlinux.org>2024-08-02 15:01:26 +0400
commit84606d5ac6917ff3d8a1858aa5412f6aabee5a3f (patch)
treeca9b8cc67422d4b53d430069f8d3cad7beaa54c6 /config.org
parent5572a0dd3a2748ea47d54012e7d5bf5881a35b03 (diff)
wip: disable evil mode in some major modes
Diffstat (limited to 'config.org')
-rw-r--r--config.org17
1 files changed, 13 insertions, 4 deletions
diff --git a/config.org b/config.org
index a082f48..5dbd819 100644
--- a/config.org
+++ b/config.org
@@ -78,14 +78,23 @@ Emacs is great operating system that doesn't have good editor.
It is useful to enable relative numbering of lines in normal state, for easier use of motions. But
in insert mode it is not so useful, so this turns on regular numbering for this mode.
+
+But in some major modes evil shadows their keymaps, so I set their initial state to emacs's keymaps.
#+BEGIN_SRC emacs-lisp
(use-package evil
+ :config
+ (evil-mode t)
+ (evil-set-initial-state 'fundamental-mode 'emacs)
+ (evil-set-initial-state 'dired-mode 'emacs)
+ (evil-set-initial-state 'eshell-mode 'emacs)
+ (evil-set-initial-state 'shell-mode 'emacs)
+ (evil-set-initial-state 'buffer-menu-mode 'emacs)
:hook
- (evil-insert-state-entry . (lambda () (setq display-line-numbers t)))
+ (evil-insert-state-entry . (lambda () (setq-local display-line-numbers t)))
:hook
- (evil-normal-state-entry . (lambda () (setq display-line-numbers 'relative)))
- :config
- (evil-mode 1))
+ (evil-normal-state-entry . (lambda () (setq-local display-line-numbers 'relative))))
+
+ (global-display-line-numbers-mode -1)
(add-hook 'prog-mode-hook
(lambda () (display-line-numbers-mode t)))
#+END_SRC